About Ace (twitter: @Ananace13)

Another random swedish programmer.


Ludum Dare 37
Ludum Dare 34
Ludum Dare 33
MiniLD #61
Ludum Dare 31
Ludum Dare 29
Ludum Dare 28
Ludum Dare 26
Ludum Dare 25
Ludum Dare 23

Ace's Trophies

Ace's Archive

Far too delayed first post

Posted by (twitter: @Ananace13)
Sunday, December 11th, 2016 5:52 am

So, completely forgot to do the usual courtesy blogs about tools, battlestations, food, etc. Figured I should at least make a progress post so that people know that I’m here.


Had some trouble thinking of a good idea for this theme, or at least an idea that I would be able to get to a playable state inside the hours of free time I have during this weekend.

Been woefully unprepared for the current compo, using C++ as usual after all and didn’t have time to build a proper framework for the game, so none of the fancy ideas I had at first – scripted objects, entity-component system for everything, etc.

Doing my best though, and after one day – ~5-6 hours – of coding I at least have an idea and something that looks like an unfinished game.

One Room, suspended in the void of creation.

One Room, suspended in the void of creation.


Your job will, as an innkeeper, be to keep your patrons watered and happy. Giving them the drinks they ask for and not taking long enough for the patrons to leave.

Every served drink will earn you some tips, you’ll also get a base salary for every day you manage. Beware that any mistakes you make will be taken from your salary, so try to avoid making them.


Hoping to get the missing pieces of the game done today, at least to the point where it can be considered a game. It will all be streamed of course and available on twitch under https://twitch.tv/ananace.

Soon time for another 48 hours of barely contained, caffeine-laced, panic!

Posted by (twitter: @Ananace13)
Thursday, April 14th, 2016 5:39 am

So, I’ve started lining everything of mine up for the coming Ludum Dare this weekend, sadly I mistimed some other things so I haven’t actually had time to do my usual shtick and write up a simple C++ framework. Instead I’ve spent some time cleaning and polishing away a few pieces from another game project I’ve been working on, to end up back at a possible framework for use here.

Hopefully I’ll even have time to finish and test the multiplayer components of the framework, so I can try doing simple multiplayer as well.

The Tools I’ll be using – like always – are;

  • Programming/development
    • Visual Studio 2015 on Windows.
    • GCC 4.6 / 5.0 and LLVM/Clang 3.4 on Linux.
    • Git – you’ll be able to follow the project on GitHub.
    • SFML – going to use their as-of-yet unreleased Git version, really want access to a few of the features in there.
    • Angelscript – I just love this script language.
  • Arts and such
    • GIMP.
    • LMMS.
  • Stream-related
    • OBS-Studio.
    • foobar2000 – I’ve dug through and built a list of songs that Twitch should like too.
    • My own stream overlay software, which lacks too much UI/UX for me to consider releasing yet.
    • My own timelapse capturing software (made in C#, source is available).

I hope the rest of you are going to have fun, because I’m certainly planning to.

And hopefully games will happen too.

End of day 1

Posted by (twitter: @Ananace13)
Saturday, December 12th, 2015 10:16 pm

So, I decided to tackle one of the game ideas I originally didn’t plan on doing – changed my mind after some quick prototyping.


Behold, rythm-based two controller input;


You’re controlling a robot, which will have certain tasks to accomplish on each level. Your method of control are through word/nibble/4-bit commands that you enter with zeroes and ones. As you progress through the levels you’ll unlock/learn more opcodes and will also get level specific versions where you control different robots that have very specific tasks.

The current list of base opcodes – what will be the base OS of all robots – fill the 1 and 2 bit commands through the following list;

  • 0 – Full stop
  • 1 – Full speed forwards
  • 00 – Half speed forwards
  • 01 – 90-degree turn left
  • 10 – 90-degree turn right
  • 11 – Half speed backwards

Three bit opcodes will probably be the ones you unlock/learn during the campaign, with four bit codes being specific to certain robots or certain levels, but we’ll see what I decide on when I get there.

You can find the source code on my GitHub and there’s a prototype uploaded for those who want to try it without having to compile it themselves. Windows only at the moment, but the code should work on Linux as well, I just haven’t sat down to make sure about that for a while so I can’t promise anything.


Also, fully scriptable and hot-reloadable. Going to make heavy use of that now that I have to make all the levels;


All in all, I’m very pleased with my progress, and I hope to be able to finish up at least a basic campaign before the deadline, as well as some basic menus and tutorials.

I certainly hope you’ve been having as fun as me so far too.


// Alexander “Ace” Olofsson

Going in

Posted by (twitter: @Ananace13)
Friday, December 11th, 2015 11:16 am

Just realized I’ve forgotten to post my “I’m In” post for this Ludum Dare compo.


So here it is; I’m in for another 48 hours of frantic coding and drawing, probably not going to try as hard to music this time as that didn’t work out very well last LD.

My tools will be; C++, SFML, Angelscript, linked together with CMake and programmed mostly on Visual Studio 2015. With some side-additions of GIMP, maybe Blender, and possibly LMMS too.

You’ll be able to watch me stream most of the time at http://twitch.tv/ananace if you’d like, I try to answer questions and keep up to track with the chat while working.


Sadly I haven’t gotten my proposed multiplayer part working yet, so probably not going to go that route for this LD, but we’ll just have to see.


I hope that you’ll all have a fun time during the coming days, I’m certainly going to try.

// Ace

End of the first Day

Posted by (twitter: @Ananace13)
Saturday, August 22nd, 2015 3:30 pm

Well, I’m still surprised at how much I managed to get done today. With only around 10 hours of time actually spent programming.


Path retracking was rather easy, though doing it during waves turned out to be harder.


Finally I managed to get that working though, so now it feels quite a lot like an actual game;

I also sat down and started working on the main bass track for the game, so for once it will hopefully have hand composed music too.


Tomorrow comes UI, Music, and some progression mechanics.

Probably art too, though I’m starting to fear I won’t have enough time for that.

Progress, and other nice pictures.

Posted by (twitter: @Ananace13)
Saturday, August 22nd, 2015 9:31 am

Well, so far today’s been a very productive day. I started from nothing and got a basic tilemap out in a pair of hours.

I’ve now also got A* pathfinding and am working on the first enemies and towers, since it’ll be a tower defense game.


View post on imgur.com

I’m honestly surprised myself at how nice it’s looking so far, though we’ll see how arting the towers and enemies goes.

And there’s the pathfinding too;


I might as well also throw in a strange bug I encountered with the vertex array;

View post on imgur.com

No idea what caused it.


Anyway, that’s my day so far. How’ve yours been?

At the beginning, there was nothing

Posted by (twitter: @Ananace13)
Saturday, August 22nd, 2015 4:00 am

I managed to figure out my plan for the game, and it’ll be a 2.5D hex-tile based game.

Lost some time trying to figure out why my tile sorting failed, only to then remember that Lua and C++ don’t order their arrays the same way…

View post on imgur.com

Here’s a picture from about 5 hours in, now to quickly get the basic gameplay done so I can start rounding out my idea and getting art done.

Let’s do the LD again

Posted by (twitter: @Ananace13)
Thursday, August 6th, 2015 3:51 pm

Soon time for another Ludum Dare, so I guess it’s time to put another one of these posts in here.

This time I’m going to my darndest best to try and actually get the game done.


I hope to also actually get some sounds and music in, even if it’s just very basic stuff. Probably going to use LMMS for all of that.

Apart from that, my tools will probably be the same as the ones I usually go for; C++11, SFML, Angelscript, and I’m probably going to give Kunlaboro some more love.


I would like to ask something of the rest of you people though, because I really suck at art and sound design, so I usually use simple vector graphics. Should I keep doing that, or force myself to go with sprites?

Would appreciate any comments on that.


Hope the rest of you are looking forward as much to this as I am.

That’s all folks

Posted by (twitter: @Ananace13)
Sunday, April 19th, 2015 5:48 am

Well, today I apparently decided to go and get sick. I really wish I’d discuss such things first before doing them, so I probably won’t be able to finish this game at all.

Still going to try to polish what I have so that people can try out my idea on an unconventional weapon, but don’t expect it to be anything like a game.


For next time I should probably not base my entire code around a feature branch I haven’t put much work into. As it turns out, my rewritten messagepasser for Kunlaboro has no advantages whatsoever, but many disadvantages. I’ll be retiring that branch in a bit and instead get to work on improving the main branch, see if I can use at least parts of the code.


Hope the rest of you are having a better time.

Preparations are go

Posted by (twitter: @Ananace13)
Sunday, April 12th, 2015 9:29 am

So, I’ve started fixing up my battlestation and base code for the coming LD. Did a quick cleanup of my desk and started piecing together all the third-party libraries I’m going to use, will put up a warmup repo soon as I finish the main framework I’ll need.

I had to give up the OSG dream though, had issues getting it working as I wanted it to. So going to give my entity-component system Kunlaboro some love instead.


Final tool list:

You can have a picture of my battlestation:

2015-04-12 18.09.49

And I’ll be starting a warmup stream while working on assembling the framework, github link will be in the stream and the chat if everything works out well.


Hope to see you there.

Is it really that time again?

Posted by (twitter: @Ananace13)
Friday, April 10th, 2015 10:15 am

So, I’ve completely forgotten to write my entry post I just realized. Hopefully this’ll go better than the MiniLD I tried earlier, so I can get a proper game out and have some fun.

I’m going to stick to writing the game in C++ for this entry too, though I’m very much wanting to do this game with the OpenSceneGraph library instead of SFML like I usually do. I just need to get myself a crash course in doing scene graphs in games, which I’m hoping I’ll have time for during the warmup.
If I can’t get my head around it then I’m going to fall back to SFML as a safe card though.

So my tools will most likely be;

  • CMake
  • Visual Studio 2103 / Vim + Makefiles + Clang + GCC
  • Gimp
  • Blender
  • Audacity
  • cgMusic


  • C++11
  • Angelscript
  • OSG / SFML


If anyone has knowlege about doing scene graphs I’d love to hear some comments on this plan, apart from that though I wish you all a nice Compo and a nice Jam.

Revertris – A post-mortem

Posted by (twitter: @Ananace13)
Monday, February 23rd, 2015 2:34 am

After all this coding and debugging of my latest MiniLD entry – Revertris – I’ve decided to write up this post-mortem.

A quick recap of the game first, just to clear my sleep addled brain and get some creative juices flowing;
Revertris is a game of reverse Tetris, you start off at the end game screen of the tetris game. Once the game starts you get a ghost-image of the latest block that was placed and you have to quickly find it a place before it’s pulled up and off the board. When the block disappears off-screen then score is calculated by the number of pieces in the same color you managed to fit onto it, using powers of two. So for a 2×2 square with three red and one green block in it you’d get 8 points, 1 for the green, 1 for the first red, 2 for the second red, and 4 for the third red.

What did I do right?
– Had a full game idea and mechanics sketched out in advance.
– Managed to talk myself out of clinging to some vague and unexplainable hope that I’d be able to do sounds or music.
– Decided to forego UI completely, since I seem to be balls at it.

What did I do lef- I mean less right?
– For some godforsaken reason I decided to dive into the deep end of a new toolset I’ve never even compiled before, called OpenSceneGraph. I’ve never even used a scene graph before.
– I ended up throwing away all the debug databases by mistake, so lost a lot of time rebuilding the entire toolset.
– As usual I put up way too lofty goals for the final product, so I had to cut away lots of features I really wanted to cram into it.
– Built the game around the hot-seat concept of having one person playing Tetris before letting the second player take over with Revertris.
– For some reason I spent far too much time on an AI that played a fake game of Tetris to fill up the board, ended up losing lots of time for that.
– Started coding far too late to have enough time to learn my new toolset properly, much less get a well made game from it.

So for my ending words I guess I’ll just have to hope that the rest of you have had as much fun (and coffee) as me during this little MiniLD, and I hope we’ll all have just as much – if not more – fun when the next full Ludum Dare Compo/Jam comes around.

// Ace

Day 1 post-mortem

Posted by (twitter: @Ananace13)
Saturday, December 6th, 2014 6:26 pm

So, it’s two in the morning and I just uploaded the first proper release build of my game. (You can download it Here if you want to, though only for Windows at the moment and it will require the Visual C++ 2013 runtime).

The controls as they stand right now are;

WASD for movement, Space to shoot. You “can” rebind these keys through the options menu, though the movement can only be reliably bound to ‘W’,’A’,’S’,’D’, the arrow keys, and joystick axises at the moment. Anything else and it’ll only bind turn-left. I’m going to fix this tomorrow, but haven’t had the time to sit down and fight the options interface yet.

F3 will toggle a FPS display in the top-right corner, if you want to see that. And 100% of the game logic is included in the Scripts folder, peruse to your hearts contents. (If you launch the game with ‘-d’ it will dump a markdown document of the registered script interface, should help you understand what does what)

It’s currently hardcoded with three pre-named and pre-colored players competing in a hot seat, but I’m planning on making some UI for changing that soon.


A fierce battle


With that out of the way, time for some post-mortem of today..


This Ludum Dare I decided to see how much more effective it is to do the game logic in a script, and from my findings so far it’s almost an infinite percentage. I mean, the ability to save a file only to see the changes in-game a few moments later is amazing. The fact that I can do it in the middle of gameplay and instantly change everything from the look of the game to how the player controls and moves is quite empowering during development.

I think this is a first time I’ve had something that’s this finished by the first 24 hour mark, usually I’m just about finishing the base of the game by now. But this time I think I can afford to do some proper bells and whistles.


So, what went right?

  • The choice to do the LD through scripts is certainly a HUGE plus on here. Definitely going to do more scripting in my future.
  • My idea for the theme actually turned out to work really well, though I started off in a wrong direction and had to change lots of things to get it to actually render the minigames inside of their tiles.

What went less right?

  • Forgot that Angelscript doesn’t allow value returns on 64-bit Linux, so going to have to spend several hours in the future wrapping all value returning functions in generic calls. Either that, or skip the 64-bit Linux build altogether.
  • Forgot about GUI, so I’m currently having to draw all of that through manually positioned geometrical shapes and test snippets. Not very nice way to design it, though the almost instant response to my changes makes it bearable.

What would I change if I do this again?

  • Well, if I’m doing this again, I’m definitely going to grab more pre-created libraries. GUI, Physics, etc. Linking them up to Angelscript shouldn’t prove much of a hassle, and it would let me really code.

So, to finish this short post off; I definitely recommend trying to do a fully scripted game if you haven’t already, performance is amazing and I haven’t even added JIT compilation of the scripts yet. So they’re currently being interpreted.


And now I should probably go sleep, so I hope you’ve had as much fun as I’ve had. And I hope we’ll have even more fun tomorrow.

Mid evening progress

Posted by (twitter: @Ananace13)
Saturday, December 6th, 2014 10:42 am

So, more progress happening. Still a couple of hours to go before I have to go sleep and I think this is heading in quite the right way.


That game

Still to come; Players, hot seating, actual winning conditions. And hopefully a boatload more of minigames, should be easier to pump those out when I’ve figured out a final implementation of the minigame interface.

Right now, anyone could add another minigame to it with some work, nothing’s hardcoded there. This might be an issue if I want to do TCP based networking, since people could cheat easily…


Either way, I’d say this is going rather well. It should be in a playable state before midnight, and I should have enough hours to add some bells and whistles later.


Posted by (twitter: @Ananace13)
Saturday, December 6th, 2014 4:21 am

So, a couple of hours into the LD. I think I’ve got my main game idea thought out now, so feel free to enjoy this little example picture:  (Disregard the fact that Sublime Text says I’m writing ActionScript. It’s really Angelscript code)



I think my game will be something of a four (or five, six, one hundred twenty eight) in a row, where each square is a minigame that you capture by beating the last persons highscore. If any of you have ever heard of the old game Teazle, then that’s where my inspiration’s from.

Going to start with a hot seat multiplayer and then see if I can set up a simple TCP based protocol once that works well.


Hope the rest of you have seen progress as well, and happy coding.

Battlestations ahoy!

Posted by (twitter: @Ananace13)
Thursday, December 4th, 2014 12:28 pm

So, since the time is getting closer to running out I figured it might be time to clean and prepare my desk/battlestation for the upcoming compo.


2014-12-04 20.23.42

Still a bit messy, but now I’m feeling much more prepared for what’s coming.


What’s your method of preparing? Meditation? Coffee? Or spontaneous bouts of cleaning, like me?

[cache: storing page]