Sphaera!

Posted by
December 13th, 2015 9:13 pm

I am finally done, my first LD and my first finished game really.

I present to you, Sphaera:

sphaera2 sphaera3

A game of spheres, about spheres, with spheres, moving spheres, we have them all! Spheres!

You can play it:

Web

or download it:

Windows/Linux/OsX

or look at the source(oh don’t you do it if you like your eye-sight):

Source

 

This was really an experience. Had a lot of fun, learned a lot about spherical coordinates, good code design, energy drink sugar levels and vector maths. I rewrote all of the game code(except like a few interfaces) during the second day. I did this because all the “temporary” solutions and “on the go” design in the original started to be too much.

What to do better next time:

  • Study the library/language/dev-environment prior to actually starting. I spent a lot of time reading through libGDX during the first day.
  • Plan ahead, write good code, don’t be lazy. Maybe prototype a bit in the beginning to figure out if the game would be fun/playable/easily implementable in 48h.
  • Buy a more comfortable chair….
  • Think about possible bugs/hard to solve situations prior to writing any code. For example I had a problem with defining a direction of a sphere on another sphere. Using a normalized 3D vector in cartesian coordinates perpendicular to the radius vector of the spheres center works, but is overly complicated since then moving the smaller sphere on the surface of the bigger sphere involves finding a cross product and rotating the radius vector as well as the direction vector. Using an azimuth angle and spherical coordinates is not viable since, well poles and stuff. Where does your compass point at the pole?
  • More pen and paper planning.

What did go right:

  • I learned alot.
  • It was fun.
  • I am fairly satisfied with how the game ended up. It was supposed to work way different. However I like it this way and I think I managed to make it playable(in the very last hours :D).

 


Leave a Reply

You must be logged in to post a comment.

[cache: storing page]