iconSwarm

LD48 #8 2006

This was my LD48 #8 (2006) entry. I coded a 3D engine from scratch, something I'm quite proud of. Since I spent the whole weekend coding the octree engine, there was little time left for gameplay, but oh well - at least I had lots of fun creating this :) An octree of course is the most simple approach to do an engine, but at least it was enough to have this running smooth even on my card here. Download will be available shortly, you can get the windows .exe plus source code from the LD48 site otherwise.

Screenshots

Click to view in original size. Screenshot #1: Screenshot #2: Screenshot #3: Screenshot #4: Screenshot #5: Screenshot #6: Screenshot #7: Screenshot #8:

logs

This was one of the best LDs for me. I for sure coded more than in any other (or not less) :) And I went completely crazy, and decided to write a 3D engine. I always wanted to write one, and this now finally was the perfect chance. Next time I want to do a 3D game, I will use premade a 3D engine probably. Mine here is very simple, it takes a set of meshes out of triangles, arranges each mesh into an octree, and all meshes are spheres in the world by their bounding sphere. This is nothing advanced of course. But, it's more than just throwing triangles at OpenGL, so I declare it as a 3D engine. And I'm quite proud for sure, even if there's not much gameplay. Besides the code, I also wrote a Blender export script in python, which directly translates Blender meshes into C code. It would be really easy to create extra levels or monsters that way. Maybe I will even do that. * '''Monday 00:26''' It is done. A lot of things is still missing which I would like to have, but for now, this is the final LD48 submission. * '''Sunday 19:54''' There's a swarm of critters flying around, and you can shoot 'em down. That's as much gameplay as there will be. * '''Sunday 18:07''' Balls have now eyes and the whole swarm is chasing the player. * '''Sunday 14:28''' Ok, finally, a swarm. Well, or at least, some balls.. they will get proper flocking behavior next. * '''Sunday 13:35''' Breakthrough. I did it. Yes, I'm good. My octree works. Of course, half of my code now is octree-debugging code. So the next step will be, remove all the debugging code, then finally start with the game. * '''Sunday 2:48''' Well, this definitly was lots of fun. I don't know when I was coding like this, if at all :) Anyway, right now, I can't code anymore, my brain somehow all but stopped working. Sleeeeeeep... * '''Sunday 00:59''' Ok, found a nasty bug in the octree generation - when deciding which faces to include in a cell, face culling was on, so triangles randomly did not go into their cells. Hopefully that was the last bug with the octree. * '''Sunday 00:36''' Blahrg. Octree is not working properly :( * '''Saturday 23:16''' I don't think I ever coded so much in a previous LD. Seems my octree implemented from scratch actually is working. So now I can throw around lots of ray<->landscape collisions. Probably I could have gotten away with a simple 2D grid as well :P As for rendering, I think I'll have to leave it at a throwing every single polygon at OpenGL for now. Next is the spheres moving in swarms. * '''Saturday 19:54''' Oh well, took me quite some time to get ray-triangle intersection working. Now I somehow need a better data structure than a huge list of triangles I think - both to speed up collision and rendering. But first, I'll try to implement basic gameplay. * '''Saturday 17:34''' After 7-8 hours of messing around, the above is all I got. I wrote everything from scratch: A blender export script in python, and code to display the data with OpenGL, using an OpenGL light. It's not a lot - with a proper 3D module, the same could have been done in just a few minutes. Anyway, now I can start thinking about gameplay relevant things I hope.