About J08nY


Ludum Dare 35
Ludum Dare 34

J08nY's Trophies

J08nY's Archive

Transmuto – post mortem

Posted by
Monday, April 18th, 2016 4:35 pm
 ________                                                                 __               
|        \                                                               |  \              
 \$$$$$$$$______   ______   _______    _______  ______ ____   __    __  _| $$_     ______  
   | $$  /      \ |      \ |       \  /       \|      \    \ |  \  |  \|   $$ \   /      \ 
   | $$ |  $$$$$$\ \$$$$$$\| $$$$$$$\|  $$$$$$$| $$$$$$\$$$$\| $$  | $$ \$$$$$$  |  $$$$$$\
   | $$ | $$   \$$/      $$| $$  | $$ \$$    \ | $$ | $$ | $$| $$  | $$  | $$ __ | $$  | $$
   | $$ | $$     |  $$$$$$$| $$  | $$ _\$$$$$$\| $$ | $$ | $$| $$__/ $$  | $$|  \| $$__/ $$
   | $$ | $$      \$$    $$| $$  | $$|       $$| $$ | $$ | $$ \$$    $$   \$$  $$ \$$    $$
    \$$  \$$       \$$$$$$$ \$$   \$$ \$$$$$$$  \$$  \$$  \$$  \$$$$$$     \$$$$   \$$$$$$ 


Second Ludum Dare for me. I decided to change it up a bit and learn something new. So I went with the JavaScript/Typescript + Three.js + Physi.js. This was my first time doing anything in JavaScript so learning that and TypeScript a few hours before the compo was fun. I used TypeScript since I’m used to OOP and static typing through Java. Using TypeScript brought some problems though, since the definition files from definitelytyped.org were not completely accurate for Physi.js.

At first I didn’t like the theme, I already had a killer idea of a puzzle game for Everything is connected. I wanted to have 3D and physics in this game since thats fun to tinker with. Brainstorming took place and I ended up with Transmuto – a game about shooting polyhedrons. You yourself are a polyhedron, you shoot your own shape, while your enemies are only vulnerable to their own shape. You shapeshift after collecting positive and negative polygons.

What went right

  • I like the audio. Making it on audiotool.com/app/ was fun.
  • Graphics are okay too. I had some custom shaders in mind, I wanted nice smooth shadows and a rather clean look. But I simply didn’t have time.
  • In the end I think its playable, I improved from last time, definitely made it much easier and balanced as I was close to submitting.
  • I learned JavaScript/TypeScript.

What went wrong

  • I struggled with physics. The Physi.js docs are almost non-existent and combined with the Typescript definitions not being annotated, I ended up fixing a bug as simple as extends Physijs.Mesh -> extends Physijs.SphereMesh for 5 hours on the first day.
  • I didn’t have time for proper level design and just adding more features I thought of. ^^



Posted by
Saturday, April 16th, 2016 2:16 pm

Finally got physics to work, feels so good after debugging a simple mistake for 5 hours.

Screenshot from 2016-04-16 21-14-15

I’m in, hopefully!

Posted by
Wednesday, April 13th, 2016 3:06 pm

A change of language this time. I hope to learn JavaScript/TypeScript + webGL by using Turbulenz Game Engine.

Good luck to everybody.


Posted by
Sunday, 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:


or download it:


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



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).


Something something, it’s growing!

Posted by
Saturday, December 12th, 2015 12:52 pm


Spheres! They work, partly…

Posted by
Saturday, December 12th, 2015 9:27 am


[cache: storing page]