About MrTwister (twitter: @battlecoder)


Ludum Dare 33
Ludum Dare 23
Ludum Dare 21
Ludum Dare 20

MrTwister's Trophies

MrTwister's Archive

R-ADIUS AI: A Not-A-Post-Mortem Post Mortem

Posted by (twitter: @battlecoder)
Wednesday, September 2nd, 2015 6:15 am

I want to start with a big thanks to every person who’ve played my entry so far. You are the best!

After each LD, I like to write about what went right and what went wrong (which is normally an extensive list of hilarious fails and the occasional random good decision), but this time I’m doing something a bit different. I’ll be focusing on something that a lot of people seem to be intrigued about: The AI for the enemy spaceship in my entry; R-ADIUS:

R-ADIUS AI: It can be a bit frustrating, I know.

R-ADIUS AI: It can be a bit frustrating, I know.

I didn’t think it was something worth writing about, but surprisingly a lot of people seem to think it is and have shown interest on a full write-up on how it works,  so I guess I’ll do exactly that, hoping that it would help someone out there… somehow…. I don’t know.

If you are one of those who wanted to know the magic behind the “clever” ship, you’ll be incredibly disappointed, though.


Rating games: A Guide?

Posted by (twitter: @battlecoder)
Friday, August 29th, 2014 4:47 pm

It’s always pretty exciting to work on a game for  ludumdare. I’ve participated alone and in team and it’s always such a great experience!

I’ve seen a few discussions popping up here and there about the judging/review process. There are several instances where it’s not THAT easy to know how to rate a game!

While I’m not a veteran, during the time I’ve been here I’ve seen people agree on “best practices” that I’ll try to outline below or at least start a healthy open discussion about them! (if I’m wrong in any of them please let me know!)


Take into account  whether the game was submitted to the compo or the Jam!

This will let you rate the game better. I know bad graphics are bad graphics, but compo games can’t be judged with the same “harshness” you would use for Jam games because they were done in less time (48 hours instead of 72), by a single person (not a team) and -in theory- during the competition! (which is not necessarily true for Jam games, where using pre-existent assets is allowed). Same with music, or the level of polish. In fact, every aspect should be judged taking into account whether is a jam or a compo game!


Make sure you read the description!

The “description” is the first and main instance for developers to communicate with future players, so a lot of them will try to post information here that will help you play and rate their game.

I know sometimes there’s nothing relevant in the description, but you’ll find that in quite a lot of games reading the description first will definitely make a difference! Perhaps the developers didn’t have time for a tutorial and you’ll find the instructions there. Perhaps all the audio was taken from somewhere else and they are honest about it in the description (more on this later), perhaps you need to install something before playing the game.  Perhaps the web version has annoying bugs and glitches the other versions don’t have. All of this is relevant and will probably help you judge their game better!


The game doesn’t run? Don’t rate it!

If the game you are trying to play is not working for you, don’t give it a low score!. The most sensible thing to do is leave a comment saying that it didn’t run on your system. If you can provide relevant information (Operating System,  Processor, graphics card, Browser, A message that popped up before crashing, etc) all the better!


Remember that N/A means Not Applicable!

If the game lacks audio, for instance, the best thing to do is to NOT rate the game in that category.  Same with humor, for instance. If it’s an emotional game about a serious topic there’s no reason to give it a 1-star rating in humor when it’s not trying to be funny.


The audio or graphics are not their own? (Open to discussion)

For jam games where assets made before the competition or freely available on the internet can be used this is a really hard topic!. A lot of developers will tell you in the description if there’s something in their game they didn’t make themselves, while others simply won’t, which makes this issue all the more complicatedl! Not really sure what the “recommended course of action” is, but when the audio for a game wasn’t made by the team I usually don’t give the game a score in that category.

If they used a mix between things they made during the jam and things they borrowed from public sources then I try to “judge” the assets they did for the game and how they “blend” with everything else.  It’s a really complicated case (and hopefully uncommon) so I’d truly love  to know what other people do when this happens!


Leave a comment!

Leaving a comment after you’ve rated a game is not only a way to let the developer know you played their entry but also a way of helping them improve their game!  Bug reports, suggestions and feedback in general (e.g: “Loved your game!”) are always welcome by developers and will most likely help them continue working on the game beyond ludumdare. Plus, a lot of people (including myself) will return you the favor!



I think that’s all the advice I can give for rating games. If you know of other “best practices” please let me know and I’ll add them here!
Having said that, go and rate some games!


Second round of favorites!

Posted by (twitter: @battlecoder)
Sunday, May 13th, 2012 4:33 pm

After I rated 50 games, I choose 10 entries which I thought deserved more recognition and praise. Now I reached my goal of 101 entries, so I’m picking 10 more games from the total I’ve played so far (of course, without repeating games from my previous list, so if I’m not repeating games here it doesn’t mean I don’t like those entries anymore, lol). To celebrate I reached my goal, I’m also putting pictures this time around!. You have no idea how hard is to select only 10 more entries out of 100 (and believe me, scrolling such a long list to spot the entries you enjoyed the most is not any easier, so if I missed one I’m sorry :( ) but here is my attempt:

Let’s do this!!

This game is beautiful. Simple, fun, polished, play it.






My Top 10 LD23 Games so far!

Posted by (twitter: @battlecoder)
Saturday, April 28th, 2012 3:23 pm

Ok, I’ve rated 50 games so far (and left comments on each one of them because they all deserve it) so it’s time for me to share the awesomeness of the entries I’ve reviewed. I must say all of them were amazing games so it’s hard for me to pick only 10. I would actually like to pick 50 but oh well, I don’t want this to be easy for me either, picking 10 is a sort of a personal challenge.

There are a few games whose level of polish blown me away. I’ve placed them at the top 5 places of this list.  Besides that particular arrangement there’s no order in the list whatsoever.


“Drop of Life” Post-Mortem … Or a journal of sorts … kinda.

Posted by (twitter: @battlecoder)
Tuesday, April 24th, 2012 10:26 pm

Drop of Life TItle

If you haven’t played our game yet I strongly encourage you to do so. We are hungry for feedback!

Well, ok, is time to do this; post-mortem time!!


Escape’s Escape is Done

Posted by (twitter: @battlecoder)
Sunday, August 21st, 2011 7:41 pm
A door as envisioned by a post-modern programmer/artist

A door as envisioned by a post-modern programmer/artist

Ok, here is what happened since my last post.


I was supposed to start working on the project yesterday after lunch but didn’t find the inspiration and was tired as hell so before writing a single line of code I took a short nap that somehow became a ~3hrs long sleep. I woke up around 6 PM and after coming back to my senses (around 6:30PM) I sat in front of the computer so I could start working on the game. I settled with Monkey as the programming language and made some progress with the code… but as the night fell I started running into some problems. I was not satisfied with the overall implementation of a few things and although I tried a few alternative ways I was not getting the results I wanted. My goal was to finish the game that night so I could spend the few hours I would have available on Sunday to make music/sound and better graphics.  Around 3 AM I discovered (by checking facebook) that DST  was to be resumed that night… so it was 1 hour later than what my clock was telling me. Having my time cut by my “little” nap and the damn DST, and frustrated because I was unable to achieve the results I wanted for the game, I decided to give up on the project.

I woke up this Sunday a bit before lunch, a bit depressed for having abandoned the project.

My sister entered my room and asked me about the competition and I told her I gave up on it last night. I remained on bed a few more minutes and then started thinking on my plans for the day.

I discovered I had nothing better to do, so after a few minutes, I decided to give it another shot at the project. I rescued the files from the recycle bin and started working on it again. Don’t ask me why I did that… I didn’t have a single reason to resume the project… in fact, it was quite unrealistic to even think it was possible to finish the game in the remaining time having already lost like 50% of the estimated time I had. But I was not in a hurry for finishing now… I was .. just curious to see how far I could go with it…


I actually got trolled by the clock. I checked the LD page and made my schedule according the remaining time it displayed. I should have grown suspicious that it was still telling me that the compo would end around 10:00 PM despite the DST, but I wasn’t thinking on the DST in that moment.

I managed to finish the game code around 8 PM, so I had like 2 hours to make some music. After trying a few programs from the LD tools page and realizing I didn’t have time to learn any of those I settled with composing the music with my DS (and the DS-10 Synthesizer) and record it on the PC with a stereo cable. It worked fine. I made the special FX with SFXR on my computer.

I wrote the sound manager module and then rebuilt the project. It worked fine except for one thing… background music was not looping. I tried a few things but given the time constraint I ended up giving up on it, leaving only the special fxs.

With like 40 minutes remaining until the end of the submission deadline I uploaded everything to my website and tried it on the browser.  It worked fine except for a minor thing… I was loading resources in the moment you need them, so the first time you face an open door, or any of the game screens, the game freezes for a second or so in order to load the image/sound. BAD.

I coded a quick and dirty image manager class that I could use to keep a cache of previously loaded images. Then replaced all loading calls for cache calls and added a few calls at the beginning of the code to cache the most heavy images (so they were already loaded from the start) and then uploaded the game again. Now it was working fine. As I didn’t write a cache for sounds you may miss a few sounds if they are too slow to load, but that shouldn’t affect the experience.

With only 18 minutes remaining until the end of the competition I finished uploading the game and submitting it into the compo. I was done.

I felt so relaxed that I kicked back and checked the IRC…. only to find that it was still 1 hour and 18 minutes until the end. Damn YOU DST!! LOL.


TL;DR? Managed to make the game. Don’t ask for the graphics as I had like half the time I was supposed to have (which was already around 1 day total). Had some problems but fixed them (although some compromises were done). Total time was around 8 hours including “art”, “sound”, and “music” (which was not included for technical reasons). Also, I’m bipolar.



P.S: You need to correctly avoid/enter 50 doors to win the game. Good luck with THAT!

Feedback needed!

Posted by (twitter: @battlecoder)
Saturday, August 20th, 2011 9:39 am

Yesterday I went to bed in peace because I have already settled with a game idea and I’m now ready yo start working on it.

If you didn’t read it (and you are too lazy to do it now) it was basically to help the ESC key to escape from the F1..F12 keys by opening doors, avoiding those where a F* key resides and opening the ones where a regular “friendly” key  is.

However, now I realize that the keyboard theme was basically because when I first thought of the idea, you would have to press on your keyboard whatever key was on the room you just opened but after I simplified the idea to use only ESC and ENTER to interact with the rooms, I’m no longer attached to the whole keyboard concept.

So, I would like to know what you people feel would be more fun? passing through doors where keyboard keys help you escape (unless it’s an evil Function key that catches you) or  having the characters be anything else but keys? (like silhouettes or whatever I can think of) and throwing away the whole keyboard theme.


Escape’s Escape

Posted by (twitter: @battlecoder)
Friday, August 19th, 2011 9:27 pm

So…..I knew in advance I’ll have VERY little time this weekend….. and I was also aware how many different things actually go into making a (playable) game…. so I REALLY had to think very well what I would do for the compo.

As I also knew I won’t have the complete weekend to work on it  (and since the theme was to be announced by Friday 10:00PM local time) my plan was like this:

  • Friday night (after theme’s announcement): Think on the game concept. Shall I fail to come up with one,  I would abandon the competition.
  • Saturday Morning: [Boring things to do]
  • Saturday Afternoon (until 7PM): Work on the game (assuming I didn’t abandon the competition)
  • Sunday Morning (until 14:00PM): Work on the game. Submit. (assuming I didn’t abandon the competition)
  • Sunday Afternoon: [More boring things to do]

The critical point was Friday night…. Fail to have an idea and it’s all over…

Luckily… I think I have my idea now…and it’s not even midnight! (although the clock will probably hit 00:00 when I finish writing this).

Of course sidescrollers, shooters or anything too conventional in terms of gameplay were out of question. I wont’ have the time to do any of those from scratch (as I didn’t declare the use of any boilerplate code beforehand) so this is what I came up with……

You are the Escape Key (ESC)…. you are in a maze of rooms and doors (the keyboard perhaps?) and you need to escape from the evil Function Keys (F1….F12).

You will run into doors, and those doors will open revealing a key that is inside the room (any other key from the keyboard). If it’s a “harmless” and “friendly” key you should press ENTER to enter the room (duh!) and you will keep running until the next door… If it’s a function key you should press ESC to close the door and keep running until finding another door.

So, the game will be pretty much watching yourself approach to doors (first person view) and press ENTER or ESC according to whoever opened you the door and repeat until reaching the exit. You will have a “reaction time limit” that will be shorter as you get closer to the exit. The running speed will also increase as you progress through the game. A timer will tell how fast you managed to escape (if you succeed, that is) so you can play again trying to beat your best time (or a friend’s time if you dare to challenge a friend).

So it’s basically a reflex-testing game built upon the concept of ESCAPE and (hopefully) constraint to my current limitations.

I HOPE I can actually dedicate the aforementioned time to the game and complete it  in such time frame. Although the idea is simple I can still run into a few walls (so to speak) with it.

I’ll try to keep here a journal of any progress made into the game but don’t expect lot of updates since I’m a damn perfectionist b*stard who checks whatever I write dozens of time in order to make sure it makes sense … so making these blog entries consumes a hellin’ lot from my time. Also, I suck at writing, lol.

I’ll start working on the game tomorrow (Saturday) after I finish with everything I have to do in the morning…. so until that time comes I won’t worry about the game….. In the meantime…… STAGE ONE CLEARED!







I’m in…. perhaps……

Posted by (twitter: @battlecoder)
Friday, August 19th, 2011 6:25 am

Ok, I’ve only been part of the jam before (LD20) and had a hellin’ good time. However, it seems that I’ll have to go solo this time around if I want to participate as my friends have a life things to do. Problem is… I have quite a few things to do this weekend (and I’ll be back at the office on monday) so I’ll probably have no more than a single day for making the game. Despite that fact, I will try to participate anyways.

As for my tools I have not decided the programming language yet but I’ll be using GIMP for the graphics, SFRX for the effects and probably LMMS, Famitracker or PixelBlipz for the music (haven’t really used them beyond playing 5 minutes with each software, so I’ll have to chose eventually the one that works better for me). Of course, assuming that FX and music make it into the game. Given my time-frame that’s unlikely.

I really want to participate and I’ll make an effort to be part of this iteration of LD… just cannot promise anything.

Update, Fail, Update

Posted by (twitter: @battlecoder)
Tuesday, May 3rd, 2011 6:11 pm

Well, I woke up today a little confused after 12hrs of continous sleep. Man, I was so tired.

Anyway, I decided to tackle the ‘bugs’ and problems our original release of the game had, so I quickly fixed them and uploaded the package to my server with my usual method.

Problem? Since I worked over the original source code and the original folder I missed changing the filename of the packaged game so I kinda overwrote the original file in the server.

Once I realized that, I rushed to upload the original file again and changed the name of the updated version to upload it again (it’s confusing, I know).  So, if anyone downloaded our submission during that time lapse you probably got the wrong version. Sorry for that.

So, things are good now, the original file in the server is indeed the original file and the updated version can be found here. There’s a file inside explaining what was fixed. The most important change is extending the reach of the hook so the LV3 is solvable if you happen to get it for that particular level (See my previous post).

Sorry again for the mess, hope you enjoy our game.

Post-Jam Post

Posted by (twitter: @battlecoder)
Monday, May 2nd, 2011 9:31 pm

So, we barely managed to finish the game on time (I strongly encourage you to give it a try). I would like to share what I can gather from our participation.

The experience

There’s really nothing like it. Period.  It was fun, it was challenging, it was stressing yet exciting. Sometimes I kinda felt like we were on a time-critical mission to save the world.
It’s THAT epic.

If any of you registered into LD and in the end didn’t feel like entering (either the Jam or the Compo) I strongly suggest you to give it a second thought next time.

It was really cool to work together as a team with my friends. Things like this make you really realize what teamwork is all about. Sure, we won’t get the fame nor the recognition of the Compo dudes but believe me, it’s awesome.


Lesson Learned

Ok, it would be a lie if I say that everything was rainbows and cotton-candy-flavored clouds. We spent a lot of hours (more than half a day, actually) struggling to get things done with the framework we chose (Java + libgdx). None of us had a clue on how to use the library (we bravely chose it because we wanted something multiplatform and powerful enough to make good games with it). We gave up on that because we found no way to make the things we wanted to and it was overly too complex (OGL for a tile-based game seems like an overkill to me) for our purposes. We switched in the end to C++ and Allegro (since we already knew how to use it) although we knew that it would mean making a lot of things from scratch that most libraries already have in their core (Animation support, dynamic resource loading,  collisions, physics, etc).

So, first leasson; Know the tools you are using.  I know it was a foolish move to choose something no one of the team was familiar with… but we dared to try, at least. I’m sure libgdx is really powerful, but probably maybe way too much for what we needed.

Second, try to keep your code tidy, but don’t over-do it. I think I spent a helling lot of time commenting classes and creating methods that probably we didn’t even use (mostly “setters” and “getters” for all or most of the exposable properties of each class).  Some of them came in handy, but others are probably there, unused.

Third: Try to keep it simply, don’t start with things like “the game will have 100 levels and a neural-network-based AI for each one of the 50 bosses”. Don’t aim too low either (e.g: “the game will be a single screen with a static ball on the screen and you earn score by staring at it”). We set our goals in a realistic way (but given our impasse with the lib we chose we had to make some adjustments).

Fourth: Don’t make final adjustments if they can impact the game. In the final hours we decided to limit the reach of the Hook weapon because it was traveling endlessly until hitting something. Now the game is deployed, we can see that if you are given the hook in the third stage you are totally screwed up. The limit we set for it make it impossible to reach what you need to advance . FAIL.

We think it would be interesting to complete the game,  add the whole selection of items we had in mind (one or two more than the ones that made it into the game) and add a nice background story (in fact, the game was supposed to be about a kitty fighting fields and fields of domo-kuns (just because “in soviet russia, kittens chase domo-kuns” ) we even made the domo-kun sprites. We also want to rewrite all the parts of the code that we pretty much stuffed inside wherever they fitted (In the beginning  I attempted to make everything perfect and tidy…  Don’t ask if we still had that coding style by monday…)

We are also interested on making a codebase for future LD.  I’ll be sharing the Map Editor I made so stay tuned. Now I need to sleep…. like.. for 2 days in a row.



P.S: Thanks for everyone involved on this event. I loved being part of it. I’m looking forward to participating again.

It’s dangerous to go outside.. take this… Map Editor…

Posted by (twitter: @battlecoder)
Sunday, May 1st, 2011 1:02 pm

So, we started working as soon as we matured the idea enough. Our progress so far:
This is our Map Editor (if it becomes something more polished to the end of the Jam, we are totally uploading it for other compos) and our current test setup for the game. We finally switched from Java to C++ (using Allegro) since we failed to find a Java framework with the features we wanted.

We have uploaded some pics of our development lair to flickr. Be sure to check them out.

So, before someone else shows up with pretty much the same…

Posted by (twitter: @battlecoder)
Friday, April 29th, 2011 10:36 pm

Our brainstorming went like this:

  • LOL
  • OMFG!
  • Challenge Accepted

Then, we started improving over the concept of having the old dude from Zelda giving you random and useless items whenever you start the game again. However, no matter how useless the item may look there’s always a way to finish the level with it (by either using the item in a unique fashion or by taking another path where that item becomes handy and allows you to reach the end of the level).

Once we agreed on that, we started thinking on what the game genre would be. We narrowed the choice to “Shadowgate-like” and “Platform game”. What we chose will be a surprise.

Then we decided what the character and enemies will be (that’s a surprise too) and we started thinking a little bit into the game “story” (or at least what the player’s mission will be).

Then we improved the original concept a little bit, having the old man giving you a different item from the array of  useless trash he hides under his bed useful tools he willingly shares with the player, so, if there are 4 tools and 4 levels there will be a total of 4*4*4*4 = 256 different ways to play the game from start to finish based on what the dude gave you for each level. Not bad for 4 levels.

Now we are coding, making the base classes and improving an old map editor I made in my early days of youth to fit our purposes. We may release it to the LD community if it ends up being a multi-purpose and useful tool.

(To be continued… someday)

First LD. We are in.

Posted by (twitter: @battlecoder)
Friday, April 29th, 2011 9:59 am

And when I say “we” it’s not like I have a symbiote parasite with its own personality attached to me and trying to take over my regular self driving me nuts.  I’ll be participating in the Jam with two friends. It’s our first time here so there will be a lot of things here that are completely new to us but we are sure we will have a hellin’ good time.

Our framework:

  • Java (for the sake of “multiplatform-ness”)
  • Libgdx (we have never used it before, but it looks like it may minimize the coding time while maximizing the target platforms.  You can’t go wrong with that)
  • Notepad++ (my personal favorite “IDE”).  I don’t know about the personal choices of the rest of the team but it’s probably between Eclipse and Netbeans.
  • Coffee (no, it’s not a library, I mean, actual coffee, the one you drink)
  • Energy Drinks (no explanation needed)
  • Food (probably not of the healthy kind)


I’m not sure if my mates wi’ll be participating again but I think I’ll be taking on this challenge at least a second time (it depends on lot of things, but that’s what I plan).  I’m really excited about this competition and I strongly encourage newcomers and veterans alike to give their best on this challenge -and above everything else- enjoy it!


[cache: storing page]