Ludum Dare 22
Ludum Dare 18
Ludum Dare 17
Ludum Dare 16
Archive for the ‘LD #17 – Islands – 2010’ Category
Phew, finally made it. I know there’s still plenty of time left but felt better not to crunch too much this time. I’m relatively happy with how the game turned out. There was some initial friction with choosing the tools and idea but I think F# and fluid simulation both worked well together. The game requires only .NET 3.5 Framework and nothing else (the used F# libraries are linked into the exe).
Here’s a final screenshot:
Just about done.. I think I’ll skip making any sounds/music this time (so the game should work well in office setting as well).. I added “bubbles” that flow with the stream (the little dots). They help to visualize the fluid behavior a lot. I added lives and scoring and also a startup menu screen (not shown here). The hiscore is saved to the registry. So I’m pretty much there, or really close.
I think I might spent a few moments seeing if I can optimize some of the rendering code. For example, the fluid bitmap is updated every frame. With Bitmap.SetPixel for every pixel. So things like that may be a bit of a performance overhead.. Not sure if I’ll bother but we’ll see. Then there’s the packaging and uploading to do.
Good “morning” all.. Had a decent nights sleep, sat around doing nothing, then went out and bought tons of more Beef Jerky and Dr Pepper. Going to fix something to eat and then try to finish the game. For some reasons the Sunday is always harder than the Saturday. But as I knew that beforehand, I tried to do as much as I could yesterday..
Again lots of progress.. Now there actually are two types of boats, reds and greens and 2 goal areas on the right. If the boat hits the correct goal area, the goal flashes bright. Otherwise it will flash dark. There is also a spawn system which will spawn more and more boats. Also tweaked the fluid dynamics and boat moving. Now the boats stop if they would hit something and also they try to steer away from close-by islands. So the boats act a lot better gameplay -wise.
Testing the game, it’s kinda interesting how the mechanics work. If you close off a section completely, because there is little/no fluid flow there, the boats will move a lot more erratically (currently there is a minimum speed for their movement but not sure if there really needs to be). So you need to keep the fluid flowing in order to guide the boats.
Not much to go in order to have a fully functioning game, btw. Just counting the score and lives left, menu screens and some instructions.. Then there is the question of sounds and such. But feeling pretty positive over-all. I think I’ll stop development on this for tonight and continue tomorrow.
More progress, yay! Now the islands can be painted and removed with the mouse (left button paints, right button removes). The fluids automatically adjust themselves to flow around the islands. Seems like the boats can still hit into them too easily, so I’ll have to fix that probably somehow.. One idea I had was to make the boats indestructible, but impose a time limit on how long they are alive. So if a player isolates the boats, they will still perish after some time. Would probably add more strategy as well so I think I’ll try that.
Also tweaked the fluid look a little better. The first image was from the fluid density, this one is from the fluid velocity. The whole system started acting a lot better once I added a bit of dampening in it. So far I’m quite happy with how well it works.
Next, colored boats and goal zones..
Finally some progress.. My experience with F# has been relatively smooth and I’ve been making good progress. What I have up now is a fluid simulator and on top of the fluid I can drop “boats” (those dots in the image) and they will float with the fluid. The fluid simulation is a fast implementation of the Lattice Boltzmann Methods (LBM) and it seems to work relatively well here.
The goal of the game will be that there are 2 colors of boats, red and blue. The boats start from the left and the fluid will push them to the right. There will be 2 goal areas, one for red, one for blue. Any crashed boat or boat that enters the wrong goal area will substract one “life”. Lose too many and it’s game over. What the player does, is that the player can grow and shrink islands (so the obstacles in this image are only for testing the fluid dynamics). By growing the islands correctly, the player can the steer the boats to their destination.
This is the best idea I could come up with (spent hours in thinking) and I’m sure there will be tens of games like this in this LD17. Oh well, can’t win ‘em all in originality..
Got an idea, finally.. Been dabbling with F# and SlimDX in the mean time. I ported the simple SlimDX triangle example from C# to F#. Shortly thereafter I decided to ditch SlimDX completely; 3D just takes too much time to make properly. So I’m now working with F# and WinForms and normal .NET 3.5 runtime should be enough in the end. It will be interesting to see how well the game runs as I’m planning on doing some fluid dynamics and stuff..
I’ve been trying to get an idea.. The only thing that rolls in the mind is some sort of heightfield. No idea about what the game would be, though.. Better start coding and see what lies ahead. I think I’ll go the F#/SlimDX route. As part of preparing, just went to the store and bought 3 liters of Dr Pepper, pistachios, some candy and beef jerky (hot cajun flavor). Also ran a daily World of Warcraft heroic instance, just to set the mood.. =) Better warm up the compilers, then..
Good morning everyone.. Just woke up and trying to get started.. “Islands” as a theme.. Not the worst of them all, but it will likely some time to figure out something original.. Also the tech is totally open. I’m somewhat tempted to go with .NET, F# and SlimDX. Meaning at most 3 people will try out the game, so it becomes more of a story + screenshot competition. Good luck everyone and have fun creating your entries!