About Tommislav


Ludum Dare 37
Ludum Dare 34
Ludum Dare 32
Ludum Dare 30
Ludum Dare 27
Ludum Dare 25
Ludum Dare 21

Tommislav's Trophies

Tommislav's Archive

Procedural Generated Enemy Waves

Posted by
Monday, December 21st, 2015 5:05 pm


The one thing I’m particularly proud of in my Ludum Dare entry is the logic for spawning enemy waves.
Making a simple SHMUP is rather straight forward, there are lots of tutorials on this subject. But building a flexible system for controlling how the enemies appear can be a bit trickier, and I haven’t done it before.

The fact is that, when I was trying to designing the levels I realized there was only 50 minutes left until deadline (why do I always implement the levels in the last few hours?), but from that point it took me only about 20 minutes to tweak my enemy spawner code to be fully procedural!

So the first 6 waves (up to the first boss) are static. But if you make it through the boss you will go into “endless mode”.


If people are interested in how I generated the waves I’ll write a short piece about it. Or feel free to check out the source code (specifically this piece of code).

And please, give my entry a go and see if you can get past the first boss and into Endless Mode. I would love to hear your feedback.



Posted by
Monday, December 14th, 2015 7:14 pm


Boss fight

I outgunned that little bugger with at least 100 to 1, but in this case my size became my disadvantage. And in the very last time I had to disassemble all the parts I’ve spent so much time collecting to get through that stream of incoming fire.

And at last I was victorious.


You can play my compo-entry Disassemble here. I hope you like it =D



Posted by
Sunday, December 13th, 2015 4:06 pm

It’s true that collecting parts from fallen enemies will result in much greater firepower. But it will also make you more exposed to incoming fire.

Sometimes it’s nessecary to disassemble all your parts and go back to square one to save your life (do this by pressing both buttons at the same time).


So it looks like I’m in after all…

Posted by
Sunday, December 13th, 2015 11:45 am

With two newborn twin girls my time is stricly limited, and therefore I had decided to skip this Ludum Dare.

That was until I found out about the theme(s). I loved them both!

So maybe just a really small and fast game (yeah right). This is progress so far, with logic for enemy waves (only one type of waves implemented, looping right now)



There’s been a couple of weeks since Ludum Dare 32 now, and finally I’ve managed to write this summary of the event.
During April 18-19 about 15 people got together at the Real World Gathering at Isotop in Stockholm, who let us use the office during the weekend (and also sponsored us with breakfast, dinner and snacks/coffee) to build games around the theme “An Unconventional Weapon”.

Real World Gathering participants having a short demo after dinner day one.

Real World Gathering participants having a short demo after dinner day one.

The event went really well. We got several people who competed for the first time, and even two visitors all the way from Denmark!!!
Not everyone managed to submit a game for the deadline, some teamed up together to build an entry for the jam, and we also had a few guys who worked on non-LD projects (two different VR-projects, and one demo-scene engine), but in this post I’ll cover the entries that actually got submitted. Enjoy!


Caffeine Rush, by Tommislav

I’ll start with my own entry. Made with Unity. A 2.5d platformer where you fight your way through hostile robots using only a cup of coffee. Soundtrack made by my friend Steve, and I got some last minute help with sound effects from Nilstastic.


Cake Wars! by Dreadzilla

Built with Dart. A top down space shooter where you are represent the healthy side in the struggle between Fruit and Sweets. Make me think of my dentist when I was a kid, trying hopelessly to persuade me the “fruit is candy”.


An Unconventional Weapon, by Hypp

Build with phaser.
Great outrun-feeling… only in a really old and crappy car, on a bumpy road. With some kind of parrott-spree… Love the graphics on this one, and especially the animation on the wind in the hair =D


The Path of Least Resentment, by Martin Vilcans

A Unity entry from our LD-veteran with his typical (fantastic) sense of humour.
You have to use the weapon of education to prevent our children turning into terrorists. Be careful, as soon as they will always take the path of least resentment, and becoming a terrorist is the first thing you do if you’re just a bit bored.


Conquer and consume, by Nilq

This Unity game was made by a jam team consisting of two young guys from Denmark and one Swede. It is a FPS where you use regular weapons in an unsusual way. You throw them! at the gingerbread men that are chasing you. And then you eat them.



Ted, by Frozzare

This was Fredriks, also from Isotop, second attempt with Haxe, and first try with Haxepunk. Also first time to actually submit! Avoid the dots and shoot pac mans.
Looking forward to see more Ludum Dare entries from Fredrik in the future!


Great thanks to Isotop who sponsored the event! And also sending some love to the people who struggled but didn’t manage to submit in time. Keep attending to more Ludum Dares! I hope to see more games from you all in the future!

-Tommy Salomonsson

Timelapse of my entry: Caffeine Rush

Posted by
Saturday, April 25th, 2015 8:21 am


I finally managed to upload my timelapse from last weekend, my 2.5d platformer “Caffeine Rush” to Youtube.

Try the game here: http://ludumdare.com/compo/ludum-dare-32/?action=preview&uid=2393

3D without modelling skills…

Posted by
Wednesday, April 22nd, 2015 4:33 pm

One of the things I was most worried about before this Ludum Dare contest was the fact that I have no clue how to build 3d models!

I decided beforehand that I wanted to try to make a game in 3D, instead of doing it in 2D as I usually do (I find LD to be a good opportunity to try new things).

In my case I decided to use only plain colored cubes in Unity. And to make it less obvious I decided to use robots in the game, as they can be blocky without breaking the illusion.

And in retrospect, the graphical style turned out really well, and is one of the things I’m most proud of!


Give my game a try here:


The Hedgehog robot! One thing that I did not manage to point out (due to lack of time) is the fact that all robots have a weak spot, i.e. the red sensor, that is sensible to liquid. In this case: pouring hot coffee on the nose of this poor hedgehog.



The sentry. Always on patrol, and obviously leaking some brownish stuff… yuck. Unfortunately you cannot collect it in your coffe mug, even if it would make great sense…. that would have been awesome if I had more time…



The Blender. Watch out if you’re in front of him. Aim for his back. The sensor are on the top of his head.


Going from 2D to 3D…

Posted by
Tuesday, April 21st, 2015 5:16 pm


I am a developer who prefers two dimensions. Two dimensions means safety for me.

But sometimes we need a challenge, and I decided beforehand that I would try to make something in 3d this time.
I have to say that I’m quite pleased, even though I ended up locking the movement to two axis anyway (so I guess you could call it 2.5 dimension), but I’m quite pleased with how you can play with depth to create a visually interesting maze like in the screenshot above.

Give it a try, my first game with > 2 dimension: http://ludumdare.com/compo/ludum-dare-32/?action=preview&uid=2393

Everybody loves cubes, right?

Posted by
Wednesday, April 15th, 2015 4:27 pm

Time for the official I’m in-post for LD #32.

I always like numbers, so here are some:

  • 6 (this will be the sixth time I participate in Ludum Dare)
  • 2 (this is the second I’ll be hosting a Real World Gathering here in Stockholm, Sweden \o/)
  • 1 (first time I’ll use Unity)
  • 3 (first time I try to make a game in this number of dimensions)


I’m really looking forward to this weekend, but I have no clue how to make a complete game in 3d (might fall back to 2.5d). Especially since I cannot make graphics in 3d… it will be an interesting challenge! But everyone loves cubes, right? =D

I will participate in the Jam and not in the main compo because I’ll get some invaluable help from my friend Steve with composing the music.

I whish you all good luck and a lot of fun!

This will probably be about as fancy graphics as I will be able to produce… but who doesn’t like good cube-art?




Half way through post

Posted by
Sunday, August 24th, 2014 12:42 am

Ok, time to start the second day – and a quick status post.

First of all, I will be submitting this entry to the jam as I’m working together with a Friend who’s doing all the music and sfx for me (I suck at music, so without him it would be a very quiet game, now instead I get some awesome 8-bit oldschool tunes).

I’m working on an action 2d-platformer. Quite ambitious idea, so where I decided to scope down was the graphics (squares with eyes).
You start out quite weak, and then have to upgrade your character. And almost everything can be upgradeable. At least – that’s still the plan.
Here is page one of my design document.


Game Design Document

And here is an ingame screenshot. Doesn’t look very exciting yet as I still have a lot of polish to do.
Lucky for me it looks much better in action =)



Now back to the code!

In preparation of Ludum Dare 30, I decided I wanted to do a 2d platformer game in haxe, and since I like HaxePunk (and it can read data from the free level editor Tiled) I decided to take go with it.
But however much I like HaxePunk (and the tiled integration) it has a few limitations that bothered me, and after some research I decided to create a custom fork to be able to mess around with it as much as I needed.

In this post I will show what features I have implemented. If you are interested then check out the code from Github (instructions further down) but be warned. I have only spent a few hours on this to get it to state that will work for me. Use it on your own risk!


1. The github repo for my modified code (note that it resides in a branch called “tiled”):



2. Merge of libraries:

Because I knew what I will need, and to get started faster, I have merged a couple of different libraries together.


3. Parallax scrolling:


Tiled does not support parallax layers, but it does support custom layer properties.
I changed it so that if you set layer properties “scrollx” and “scrolly” then we will get the parallax scrolling seen in the image above. Although not in Tiled itself… only when running in haxe.

This is how you set layer properties by the way




4. Cloud platforms


A type of platform not supported by HaxePunk where you only detect collision from above. So you can jump up on it from below without hitting your head, but stand on it.
The way I do this in Tiled is that I use a custom layer for collisions, and custom “collision-tiles” (that I won’t draw in the game).
Set a custom tile-property of “type=cloud” on your cloud tile and go ahead.

This is how you set tile properties in tiled:



5. Behaviour Trees

I added this library for convention.
If you’re unfamiliar with behvaiour trees this is a good read: http://obviam.net/index.php/game-ai-an-introduction-to-behavior-trees/


6. Check out my code and use it

Feel free to check out the code and use it, but bear in mind that I’ve only modified it to the point where it will work good enough for me during this competition. You’ll get the code AS-IS.

  • Download the source with git by opening the terminal and write:
    git clone git@github.com:Tommislav/HaxePunk.git
  • navigate into your newly created project directory:
    cd haxepunk
  • then make sure to switch to the correct branch:
    git checkout tiled
  • Now create a new openfl-project (in a new directory)
    openfl create project name_of_my_project
  • Open settings.xml and add the folder you just checked out as a regular source folder:
    <source path=”../HaxePunk-fork” /> (use correct path)

To load the tiled-data: just use the original instructions on HaxePunk/tiled (https://github.com/HaxePunk/tiled). You should be able to use it in the exact same way, only with my added features.


I have only modified the code to the point where it “just works”.
These changes are not ready for any kind of pull-request back into the main library by a longshot. That would force me to do a lot of cleaning and probably research as well. I’m happy enough with this version. Feel free to use it if you like.

If you have any questions about this, or if you actually end up using it, then please let me know.


LD30 – I’m in!

Posted by
Tuesday, August 19th, 2014 9:06 am

The first Ludum Dare I attended was number 20, and now we’re already at 30! So I guess I now celebrate… eh… ten ludums?!?
No, not really though. This will (only) be the 5:th time I’m participating.

So with an AGE of 10 Ludums and XP of 4 Ludums, here’s a quick re-cap of my older entries.


Try #1: LD20 (Theme: It’s dangerous to go alone – take this)


Concept – Not finished

Oh, so unprepared. I was a newbie at XNA but decided to go for it anyway. From scratch.
Spent most of the first day to build a re-usable animation-system. ROOKIE MISTAKE!
Gave up after the first day as I was lagging behind way to far, with a burning sensation of failiure. Lesson learnt! The hard way!


Try #2: LD21 (Theme: Escape)


Game: Abandoned

Url: http://salomonsson.se/games/abandoned-ludum-dare-21-entry
Next one I was out for revenge. And what a revenge!
Got within top 10 in the graphics category and 98 overall (out of a total of 509 entries).
This is probably my favorite submission so far, with very creepy graphics and several different pickups. I intend to make my LD30-entry beat the crap out of this entry though =)


Try #3: LD25 (Theme: You are the villain)

Evil kitten-kidnapping priates from space

Game: Evil kitten-kidnapping priates from space

Url: http://salomonsson.se/games/ludum-dare-25-post-mortem
I had really high hopes for this one, but it did not turn out well at all. To big player graphic and small viewport, hard to navigate, and just plain boring game.


Try #4:LD27 (Theme: 10 Seconds)



Url: http://www.ludumdare.com/compo/ludum-dare-27/?action=preview&uid=2393
My plan was to make a game optimized for mobile. Specifically I wanted to use simplified touch controls.
The theme really got me off my guard. I had good ideas for almost all other theme suggestions in the final round, but not this.
The game turned out to be hardly ok, nothing more. The biggest flaw was the level design, which could have improved the game a lot if I had started with it sooner than I did.


Try 5: LD30 (Theme: ????)

This represents how I feel for the upcoming LD30!

This is how I feel for the upcoming LD30 (super excited)!

This is it! I’m psyched as hell about this LD. And after two weak entries I feel that it’s time for revenge again.
I have prepared this time.


For this upcoming compo I plan to use the following tools.

  • Flashdevelop as my code IDE
  • A forked version of HaxePunk (I will write a more detailed technical post about what modifications I’ve done, and where to find my version)
  • Photoshop (I have even borrowed a wacom drawing tablet from a friend). Might use Graphics Gale as well.
  • Tiled – level editor.
  • SFXR for sound effects. I might request help from a friend to write some music for me – in which case I will submit the game in the jam (obviously).
  • Licecap for recording GIF:s
  • Unhealthy amount of coffee!


Oh, and if you live in Stockholm, Sweden – come and join our Real World Gathering!


LD27 – Progress for day 1

Posted by
Saturday, August 24th, 2013 5:29 pm


Time to shut down for today and try and get a few hours sleep.

The day started of really slow, but ended up at what might be my best Ludum-Dare-first-day ever. I’ve managed (from being completely unprepared) to make a fully functional game with four levels. And that fits the theme really well.

The art is still placeholder, the game does not have a name or a story, and you cannot die yet. But most of the game mechanics are in place, and it’s actually potentially fun.

The game is made with haXe and openFL, and is supposed to be run on mobile or tablet. Unfortunately both my Android and c++ targets crashes. So instead of troubleshooting I just export to flash.

See you tomorrow!


I’m in

Posted by
Thursday, August 22nd, 2013 1:49 pm

I'm in!



I will use my own haxe-based entity system – called Seagal – located here: https://github.com/Tommislav/seagal
t’s a bit more to be done before it’s of any real use to anyone, but check it out if you’re interested.

And make sure to up-vote the theme “Strange Power-ups“. It is a theme that goes nice with #kittens, #goats, #LDTD, #LDTO, #potato (and … ehm … #nopotato I guess…). The world does not have enougt strang power ups!!!

Good luck everyone!

Intense weekend – here I come!

Posted by
Monday, December 10th, 2012 2:20 pm

Hey guys and girls. I’m up for my third round of Ludum Dare compo, and I’m really looking forward to it!
My weapons of choice for the upcoming battle will be:

  • Language: HaXe/NME
  • IDE Code: FlashDevelop 4.2.1 (I wanted to use intellij, but FD actually seems to work really good with haxe)
  • Graphics: paint.NET or something similar thats free
  • Libraries: Apart from NME I’ll use my home-baked entity system I built a couple of months back, full source code on github
  • Sound: Probably SFXR if I’ll use any at all… thats really not my strong side so I’ll try to focus on what is


I will join the meetup in Stockholm/Sweden over at the awesome guys at Goo Technologies, who arranged a public meetup.
Kudos to you guys, looking forward to meeting you!


An extra shout out to my mates:

  • Nilstastic, who’s going strong for his fifth time – and promises that his game will have a reload button this time!
  • Boenah, who’s still a LD-virgin – but has very high expectations after his epic win in the coders vs project managers competition with haxepunk


I predic a heavy code-hangover on monday =)

Abandoned – my first LD entry

Posted by
Monday, August 22nd, 2011 9:08 am

Just wanted to write a few notes about my submitted entry “Abandoned”, which participated in LD21 (escape).

You can try the game here:

First of all, it feels really good to have been able to submit the entry within the deadline. I have to say I’m really pleased with the result.
I had a great time coming up with all the weird artwork (which IMHO looks really good considering that I’m not a particularly good designer/illustrator). I really wanted the game to be creepy… which it is :)

About the controls I think the basic movement is really good, however the attack is a bit tricky (a tip is to collect a lot of green chrystals to speed up the rotation of the eyeball and just use it as a shield). That specific attack is based on an attack from a game for the C64 (I don’t know the name, and haven’t seen it since about 1989, so its probably just a twisted memory).

I really wanted the game to be more of a bullet hell game, but I designed the level in the last 3 hours and was really tired. Just one more hour would have improved the game a huge lot. Tweaking the position of the enemies and the rate which they spawn their particles.

Anyway, it was a great weekend, and now I have a lot of games to browse.
My thanks to the LD-crew (who struggled with the servers) and all developers who kept inspiring through status updates on the blog and in the irc. I’ll see you again!
/Tommy Salomonsson

[cache: storing page]