About Danvil


Ludum Dare 32
Ludum Dare 30
MiniLD #51
Ludum Dare 29
Ludum Dare 28
Ludum Dare 27
Ludum Dare 26
Ludum Dare 25
Ludum Dare 24
Ludum Dare 23
Ludum Dare 21

Danvil's Trophies

Danvil's Archive

Something new

Posted by
Saturday, April 18th, 2015 3:31 am

Well, well, what do we have here? A text adventure! I have always done games with 3D or 2D graphics and to follow the spirit of this Ludum Dare my entry this time will be a text adventure.

So far I have the framework code to display text and choices and started with the dialogs for the first two rooms. I am off to sleep now, have fun the rest of you!


Evil robots: planet destruction

Posted by
Saturday, August 23rd, 2014 6:15 pm

My evil robots can now destroy the whole planet! View for yourself here.


Evil robot world domination

Posted by
Saturday, August 23rd, 2014 3:27 pm

My game so far: evil robot world domination!


Next will be multiple connected worlds and win/loose conditions.

This is not a Minecraft clone

Posted by
Saturday, August 23rd, 2014 4:33 am

My progress after the first 3 hours. Seriously not a Minecraft clone!


About fish, weed, hooks and tentacles

Posted by
Tuesday, April 29th, 2014 3:19 pm

Beneath the surface: my first though was digging, the second underwater. Then I remembered the Beatles song “Yellow Submarine” and it was clear: I do a submarine treasure hunt game. You can try it here! For this Ludum Dare I wanted to put an emphasis on creating an immersive environment, so this is what I did (read: “tried”).


post mortem fish

Some years ago I experimented with swarm behaviour and there is even an algorithm called particle swarm optimization which I used once. A quick 3D model of a fish with Blender a uniform orange material and we have a fish GameObject. Then a second GameObject for the swarm which moves the fish in sync. Each fish is pulled towards to the common swarm goal and pushed away from other fish in the swarm – ready.


post mortem weed

While the ocean floor is actually extremely empty down there (did you see that ghost shark!), I figured some plants would look nice. First I tried a blender model, but quickly switched to procedural generation. Weed is created dynamically in batches of around 100 halms. Each halm is created as simple pyramid with 3 radial and height segments. At each height segment there is noise added and the halm bends a little to created the rigged effect.


Now how to pick up treasure from the floor. A hook for grasping and pulling the treasure in would be nice. But how to do that in Unity3D? After some failed atempts I created a spring joint on the submarine object which is attched to a hook mesh. If the “Max Distance” property of the spring joint is increased/decreased the hook is lowered or pulled in. To pick up objects I use a dynamically created “Fixed Joint” to connect the grappeld object to the hook. The rope is a dynamically created cylinder where one end is on the submarine and the other on the hook.

post mortem hook


Motivated by the hook physics I aimed for something bigger: evil tentacles which grap your submarine and drag you down. I used four cylinders connected with hinge joints, a fixed base cube and a sphere as a endeffector. But moving the endeffector in a controled way from A to B is not a trivial task. The tentacle tends to mess up and get stuck in itself. Time for some math magic (line 136) and please don’t ask… In the end the tentacle gets stuck sometimes, sometimes it moves a bit erratically, but in total I am quite satisfied with the result.

It can hoard treasure too:

post mortem tentacles

You can play my entry here! Please let me know what you think in the comments!

Underwater physics madness

Posted by
Sunday, April 27th, 2014 2:27 am

A submarine (yellow of course), swarms of fish, boulders, a hook, treasure and TENTACLES – what do you need more for underwater physics madness?

This is the result of day one and a test of my game play mechanics. Next steps will be programming a procedural level generator and making a game out of it.

You can try the current version here. Controls: AWSD – move, mouse scroll – extend hook, F – grapple with hook

beneath 1

Progress update – they can die ;)

Posted by
Sunday, December 15th, 2013 8:36 am

Added more animations, particle effects and physics. The player can now pick up and throw stuff to attack. You can give it a try here. Use Left/Right to move, Space to jump and LeftStrg to pick and throw.


A kind of playable version

Posted by
Saturday, December 14th, 2013 3:50 pm

A first version of my game is kind of playable, but there is still a lot to do. Right now you can only walk around and jump :)

You can give it a try here.


I’m in the 6-th

Posted by
Friday, December 13th, 2013 3:39 pm

This weekend will be great! Nothing but game programming for 48h hours 😀

My tools:

  • Unity3D (will use the new 2D mode)
  • Paint.NET for 2D graphics
  • perhaps also pickle for 2D sprites and Blender for 3D models
  • Git (with SourceTree)


10 seconds to run

Posted by
Sunday, August 25th, 2013 4:58 pm

The game ist finished and you can play it!


I wanted to add some more puzzeling but lost a lot of time with Unity3D physics … Nw it is a bit short but hopefully fun nevertheless :)

Find the Exit in 10 Seconds

Posted by
Saturday, August 24th, 2013 12:36 pm

My game is a small jump and run juzzler where you have to run through one room after the next in 10 seconds. Currently there are 3 simple levels and I am on my way to add some more game mechanics and graphics (and sound and …) :)


You can give it a try here: http://content.wuala.com/contents/Danvil/Public/LD27/web.html

Leave me a comment if you like it or if you have a suggestion :)


I am in for #27

Posted by
Friday, August 23rd, 2013 4:19 pm

I am in – again! Cleaned up the desk and prepared everything :)

My tools this time:

  • Pen & Paper
  • Unit 3D
  • Sublime Text
  • Blender
  • Gimp / Paint.NET / Pickle / GraphicsGale
  • Git (via SourceTree and GitBash)

There is a twitch live stream running where you can watch me writing this post 😉


It’s done and I’m done

Posted by
Sunday, April 28th, 2013 5:29 pm

The game is done and I am exhausted. Time for sleep now and looking forward to your entries!


Top Down Move and Shoot

Posted by
Sunday, April 28th, 2013 2:16 am

My progress from yesterday is a little top-down minimalistic move and shoot. You can try it here (move with WASD shoot with left mouse). Today I plan to add a world-mode where the player moves from room to room.


LD 24: Creating procedural critters

Posted by
Wednesday, September 12th, 2012 9:00 am

How do you create theses insect/plant like critters


from these basic shapes?


That was the question I posed myself for the Ludum Dare 24 compo. The theme was evolution and I wanted to create some little critters which could change there appearance smoothly.

The basic shapes you see above can be easily described using polar coordinates.

Polar coordinates express a 2D curve in the form r(t). For each angle t the function r(t) gives the radius at this angle. Here are the definitions of the simple shapes above:

  • Sphere: r(t) = 1 (a circle has constant radius)
  • Star: r(t) = r0 + (1-r0)*(1-abs((n*t mod 2 pi)/pi-1))^p. This is a bit complicated – I could not find an easier definition. n is the number of star corners and r0 and p are additinal parameters.
  • Rose: r(t) = cos(n*t), where n is the number of rose petals.
  • Cardioid: r(t) = 1 + cos(t + pi). This is a funny mathematical object.

Now how do we get the complex shapes? Easy: they are formed buy just using a linear combination of the simple shapes.

For example we use the two simple shape functions r_star(t) and r_cardioid(t) and form the linear combination r(t) = a*r_star(t) + b*r_cardioid(t). Using a and b equal to 0.5 yields the third shape you can see above.

You can use my critter generator to create your own critters.

Also, play and rate my compo entry!

Evolution hates you – Timelapse

Posted by
Tuesday, August 28th, 2012 10:56 am

For this Ludum Dare I did a game using Unity 3D. It has little procedural generated bugs and plants!

You can play my entry here and leave me a comment :)

[cache: storing page]