1. A simple platformer engine (part 1): basics 26 | ♥ 12347

    Writing a 2D platformer engine can be tricky if you don’t really know where you’re going. Using a clean and simple base is essential. You know the KiSS principle ? Keep It Short and Simple : that’s the way I do it.

    Most of my games are based on a similar canvas, be it a 2D platformer or a top-down game. Actually, it’s interesting to note that a platformer is nothing more than a top-down engine with gravity applied to the player on every frame.

    In this article, I will use the Haxe language: if you don’t know it yet, it’s an amazing language that can compile to many targets, including Flash, C, or iOS/Android (using NME). However, the principles here are very generic and simple, meaning that you can easily adapt to any other language.


  2. LD26: Minnie & Malism: Budget Squad 4 |

    [ Play Budget Squad! ]
    [ Official Ludum Dare page ]

    Budget Squad is a two-ships shoot-em-up made in 48h for the Ludum Dare 26. The theme was “Minimalism“.

    “Soldiers! Defense budget has been cut again. Our elite squad now only have ONE weapon and ONE spotlight left. Minnie will take the light, and Malism, the gun.

    Oh and, almost forgot: we also had to sell Malism’s submarine armor on EBay to bail out the budget. So, try to avoid bullets from now on.”

    Your goal is to max out your score using the combo system: the more you kill, the more you get. But don’t wait too long between two kills or your might lose your combo multiplier.

  3. Ludum Dare 26: I’m in! 0 |

    I’m soooo happy that Ludum Dare is finally happening again :)

    So count me in! I will use:

    • Haxe (Flash) as language (see haxe.org)
    • Photoshop for the art
    • Asfxr + LapChirp for the sounds
    • Autotracker-c for the music
    • Chronolapse for the timelapse

    I will post my libs later this week, but they will roughly be the same as previous LDs.

  4. Haxe is good for you 7 | ♥ 1

    Haxe, the open source language I used every day for about 4-5 years is now managed by the good folks at the Haxe Foundation. And this is an incredibly good thing. This foundation will fully support the development of this great language and offer highly reliable support for companies who need it.

    If you don’t know it yet, Haxe is quite like the Ring: one language to rule them all.

    • This single language can target a vast number of platforms : Flash, JS, HTML5, Neko, C++…
    • The syntax is easy to learn yet incredibly flexible (with the mystical ancient powers of macros),
    • It heavily uses Type Inference, which is a complicated word to say the language is intelligent and can guess the types of variables you use, even if you don’t specify it (ex. var a=5, ok that’s an integer, so if you try a=”test” few lines later, the compiler will pop an error ; yes I’m looking at you javascript..)
    • With NME, the language can now target easily mobile devices with great results and performances.

    All the games I make are written in Haxe and I use it daily on much larger projects.

    Try it :)

  5. Atomic Creep Spawner post-mortem 3 | ♥ 1

    Now it’s time to talk a little bit more about ACS and how the dev went…

    …Here comes the traditional… Post-Mortem!

    Technical stuff, the engine

    If you’re into that kind of thing, you can grab the game source code.

    I quickly knew I wanted to make something “Gauntlet-style” for this Ludum Dare. Basically, the top-down engine is pretty much the same as a platform engine without the gravity.

    I already made many platform engines with the sacred “KiSS” principle in mind (Keep It Simple & Short). I use a common “Entity” class for all the things in the game which can move or interact. This simple class manages movements, gravity and collisions.

    Power tip : to make a simple collision engine and avoid most commons problems, here is a magic trick. Resolve all X movements and recals, THEN and only then, resolve all Y movements and recals. You will see, it’s pure magic, you won’t have anymore problems with diagonals movements and this kind of things. Check the update() method in my Entity class in the source.

    So the engine was done pretty quickly. I implemented a basic crowd collisions system to make sure entities could push other entities. There again, magic trick : resolve crowd collisions and recals, THEN the X wall collisions/recals and THEN the Y wall collisions/recals. This will unsure that wall collisions always prevail. Keep it simple.


    The game was too ambitious here. To make it properly and balanced would have required another 12-24h I think. I made a few mistakes:

    • the Chest should cost 10 pts and give 5 pts when picked up and not 10pts to install / 10 back when picked up,
    • the Ghosts should have twice more health,
    • the game really lacks a basic fixed turret (shooter) to add a little bit of tower defense gameplay to the mix.

    The Chests were clearly the major flaw here: easy to use and abuse.

    Music & sounds

    At first, I prepared a Wolfram tones soundtrack. But someone pointed me at the rules of their website: “you are not allowed to use it“. Too bad.

    I searched for alternatives and found an amazing Python script called Autotracker (with another variation here which uses triangle waves for the main instrument). The name says it all: random chiptune-like music generator. I host the script here as it is damn hard to find online. The results are quite repetitive, but it helps greatly when you need a complete music track quickly (“quickly” as in “10 minutes”, including downloading).

    The rest was almost entirely made using the amazing LabChirp, plus few things with Sfxr.

    What now?

    During the Ludum Dare, I thought to myself that simply watching the hero rampaging a dungeon was fun. Spawning mobs is cool too, but the passive hack & slash gameplay proved to be interesting.

    Therefore, I might try to make a Progress Quest like game using the same engine: just watch your hero crawling a dungeon picking loots. The player would just have to make choices like opening inventory to switch weapons, drink potions, ..etc. Again, something like Progress Quest, but with visuals :)