First day

Sunday, 2 a.m. (23 hours in):

It’s 2 a.m. and I guess that was it for the first day. I now regret not narrowing the game further down, but there’s still hope that I can finish it.
Below you can see the random soup I had for lunch – onions, celery, fine beans, mushrooms, prawns, garlic, broccoli… many things had to go, and it tasted lovely.

Soup

The programming aspect didn’t really go well, and I’m falling more behind by the hour. I just got a basic prototype working. The gameplay is reminiscent of Osmos or Flower – move your object on a plane with other objects, incorporate the smaller ones and avoid the bigger ones. The absorbing works well, thankfully, but the only one moving is the player. The other objects (planets?) are standing still. Another problem I have is the framerate. I don’t know why it is so low, but I’m proud to have reduced the computation time to a fifth of the original. Here are the most expensive methods per computation cycle, along with their improvements. Especially the first one was unacceptable.
updateBodies: 300ms->20ms->15ms->13ms
collisionCheck: 30ms->14ms
updateWorld: 20ms->8ms
calcColor: 13ms->11ms
drawCanvas:42ms->46ms

As proud as I am, it still takes around 100ms to refresh the screen, a noticeable delay. I know I must have done something very wrong somewhere, but I have no idea how (or, it might just be because Java runs in a Virtual Machine and might not be able to access the GPU). I found a way to reduce this time by half by only painting the bright parts, but this makes the player planet look funny when moving. I’ll see if I’ll keep it that way.
What about tomorrow? Well, I’d like to have the other planets move as well, and set a border around the screen. But what I’m most looking forward to, is to play a little with the illumination – which was my original idea after all. It’s going to be interesting.

Timeplan: It’s definitely a prototype now, but not yet a “game”. I’d say, 10 hours behind.