Dodo VS Darwin

2011/03/29

This is a game I made during the Global Game Jam 2011 in Berlin.  It was a very exciting experience, we were about 30 people making games during that weekend.  Together with Max Dohme, Johann Scholz and a guy whose nickname is Volando we made a game about Dodos.  The gameplay is a bit simplistic, because we are aiming at a rather casual audience.  We wanted a game that can be picked up and played in just a few minutes.  I love the style of the graphics, a bit cubist, and I have to thank Johann for his great work in this regard.  Max and me were doing all the coding using Flixel, competing in who was quicker to push changes into the git repository, and getting really a lot done in a small time thanks to his proficience.  The sound FX were made on SFXR and the music was written partially by Volando, who also helped with the game design, and me.  I used Milky Tracker, while Volando was using PXTone.  I also want to thank the organizers of the GGJ, who were Marek and John in the Berlin site, for their great job.

Carassius Auratus

2010/10/02

The original game was made during a 3h minijam at the Berlin Indie Games Jam 2010, last August.  The theme was “fish”.  So, I made a simple fishing game.  I was actually very happy with the result, and I have been working a bit on it during the last weeks.  These days I am interested in “procedural generation”.  Therefore, the polishing of this game has been adding seaweeds (although they look a bit like green tentacles) and bubbles.  I also changed the gameplay a bit.  Now it is not a game at all, because there is no ending, you can go fishing forever.  I would rather describe it as an interactive screensaver.  You can sit down and relax and watch the fish swim around, and from time to time try to catch one.  If they escape, just have patience.

I tried to make the controls as simple as possible.  This is a single button “game”.  Any key (except m) or even the mouse button works.  With that you can launch your rod and pull the fish that you catch.  It might be hard at the beginning until you get the hang of it.  If the music (just a contiuous loop of a few seconds) annoys you, press “m” to turn off the sound.  New fish are generated as you catch them, the game ends only when the user gets tired of it and presses “ESC”.

The biggest roadblock has been the music.  Actually, that’s what I have been trying to do for the last two or three weeks, without much success.  Finally, I’ve given up trying to make good music and I just threw in some repetitive loop.  Sorry if it gets annoying.

Blind Tower Defense

2010/10/02

The original idea was to create a tower defense game where you would not be able to see the enemies, combined with a survival game.  In this game you would control an avatar, giving him orders, moving turrets around and activating them.  Instead of preventing the critters to cross the screen, you would have to escape from them and avoid getting “eaten”.  It was supposed to be a labyrinthic space station, invaded by aliens.  You could block the automatic doors, trying to stop them, and activate turrets that would shoot at them.

The problem was, I guess, that I got ambitious.  I had a lot of ideas.  But I was very concerned about the speed.  With a big number of enemies, I was afraid the update loop would be slow.  In order to adress that I created a thread scheduler, and implemented threads for the automatic maze generation, the pathfinding algorithm (A*), and the enemy logic.  There was a radar that would give you a clue about where the enemies were, although you could not see them directly.  I also implemented a whole UI stack, where you could define something like widgets that accepted mouse events.  At some point, after some weeks of work in my spare time, I just got tired of it.  The code had become so complex that adding a single feature was a big task.  I found myself procastinating because I was feeling too lazy to sit infront of the code for yet another hour trying to get one single feature more working.  At some point I realized I would never finish this, so I decided to abandon it.  It was a good exercise in coding, there’s a lot I learned from it.  But I never got to the point where starting implementing the game itself.  Not even the graphics, I just used generic rectangles and circles.  It’s a bit like those developers that spend months creating a game engine and never actually start their games.

If anyone is interested, I’m giving here a link to the source code (runs on Löve2D 0.6.2) and a Löve file.

How GunFu was done

2010/09/05

Someone asked me how did I make GunFu Deadlands.  This is a short post about this.

I came up with the idea during the BIGjam’09.

Until then, I had always failed to finish any of my game projects.  The reason is that I have a tendency to think too big.  I come up with great ideas for huge games that would take me months to finish.  After some weeks of hard work and not seeing the end, I tend to loose motivation and finally abandon them.

The main activity during these jams are the 3h minijams.  The idea is simple:  We come up with a theme, chosen more or less randomly, and you have 3 hours to finish a game based on it.  Just 3 hours.  No fancy graphics, no complex mechanics, no elaborate ideas.  Just open your editor and rush something.  A concept.  A prototype.  You don’t even have to be very original.  Anything will do, the only important thing is to have something to show others after 3 hours of intense work.

It was a mind opener for me.

Not that the games I did during these jams were special in any sense.  Nunfusion and Croissant.  But, for the first time, I was able to finish something that could be called a game.  My flow of thoughts was shifting, and I was starting to find it easier to come up with small ideas for small games.  Moreover, I was experiencing first hand how important it is, when you start creating a game, to get to the point of “playability” as fast as you can.  The big lesson is that you need to be able to play your own game as soon as possible, polishing comes later.

The famous mantra among developers is “keep it simple”.  And yet I still sometimes forget it and go the complex way.   Such a tight deadline is a good way to force yourself to “keep it simple”.

While sleeping between the second and third days of the jam, I had the basic idea for GunFu Deadlands.  Something small, something simple.  A far west shooter with bullet time.  With simple graphics, no background story, just action and fun.  Something I should be able to finish in around one week of work.  If I could come up with that idea, I think now, is because I had been putting my mind in this state during the jam.

I had been introduced to Löve2D while creating Nunfusion.  Actually, I learned it while I was making that game.  It is a 2D game engine based on lua, which is a language I liked a lot from the beginning, due to its simplicity (at least compared to C++).  I decided to use it for GunFu Deadlands.

It took me like a month of calendar time to finish the first beta, but if I count the time I could devote to it, I would say it took me around two weeks.  The hardest part was making the graphics.  I am not good with that.  Even though I wanted to keep them lo-fi, which should make it easier, I still had a hard time.  I was never satisfied with the results, and I kept changing them again and again.  Since I had set myself a deadline for the beta (which was the 1st of september), I finally decided to go with whatever graphics I had at the moment and not worry any more.  If I had not set a deadline, I would probably had not finished the game, ever.

For drawing the graphics I used Paint.Net.  It only works on Windows, but still, it’s quite good.  I prefer it over Gimp, which I also use sometimes, because the interface is a lot simpler.  Given the kind of graphics I have to draw, I don’t really need any of the advanced features of Gimp.

For the audio, I searched for the needed samples at freesound.org.  It took a bit of browsing but finally I could find something that would be useful for my needs.  For editing the samples, I used Audacity.  I needed timestretched slow versions of the samples for the bullet time, Audacity was perfect for that.  Also, to compress the samples with OGG instead of the original WAV, so they would not take so much space in disk.

The music was also a bit of a problem.  First I tried to contact someone to help me and write the music for me.  Unfortunately, everyone I know who makes music that can be used in videogames was too busy, so finally I decided to give it a try and make the music myself.  I browsed far-west-themed music wherever I could find, looking for inspiration, and finally I wrote my own song using MilkyTracker.  I had played a lot with Fasttracker 2 many years ago, so I was already a bit familiar with this type of software.  Surprisingly, it didn’t take so long to create a decend song to use as soundtrack.  The important part was to find the right samples/instruments, which I could find in an huge library of old XM songs in a hard drive I still keep.

The beta was ready by the deadline, 1st of september.  I showed it to a couple of friends who gave me some early feedback.  That was very important for polishing the evident problems with the game.  One week later I posted it in the TIGsource feedback forum.  My plan was to get some feedback from the people there and use it to improve the game and get the version 1.0 finished.  What happened is that at first the game was a bit ignored, but one month later Cactus linked to it in twitter, and then it spread through several websites.  It kind of went viral.  Which was not exactly what I had planned, I was worried that people would take the beta as the “final version”, so I would not have a chance to present an actual final version.  But yet, the feedback scattered through all those websites was very valuable.  I spent then another month just polishing the parts where the people were finding problems, and finally, at the middle of december, made version 1.0 available.

Some people have asked for a website where they could upload their maps.  I could never find any online service that matched my needs, they are either too big/complex or too simple.  I even considered writing my own map database server on Google App Engine, but I never got around to get that done.

And that is the story.

If you are curious about the internals of GunFu Deadlands, the game is free software (GPL), so you can browse the code and download it from the project’s site at sourceforge.  The code might not be very clear, since I wrote it for myself, but it could still be interesting to someone.

The fact that I am a software developer, professionaly, makes this hobby definitely easier to me.  I actually prefer to code games by writing programs than using one of those point and click frameworks. Not that there is anything wrong with them, they are quite powerful indeed and some of my favorite games have been made with them, but I still think in code and get lost when there are too many buttons and menus for me to click.

Wamlevraw

2010/08/30

This was a collaboration with Terry Cavanagh for a 3h minijam during the Berlin Indie Jam’10.  The theme was “Warvelmaw”, which no one had any idea what it was supposed to mean.  A quick search on google showed that it’s the final boss of some RPG game I had never heard about before.  So we took the concept of being a medieval hero slaying a big monster and tried to turn it upside down.

Terry wrote the game and made the graphics using Klik’n'play.  I provided ideas (hey, that’s a task too!), and wrote the music with a combination of Milky Tracker and SXFR.

I guess it’s not easy to understand what is going on until you play several times and connect the pieces in your head.

Never Guy

2010/08/30

This is a small project I started together with Ed during the TIG Jam UK 2, although not a part of a 3h jam.  I spent one of the jam days reading a Flixel tutorial.  This would be my first Flixel game, just to test the learned skills.  If you try this one you will probably recognise the wall blocks from the tutorial.

Heavily inspired by “I wanna be the guy” and “VVVVVV“, we decided we would try to make the hardest masocore platformer we could.  I started prototyping basic platformer building blocks and I wrote the code that forms the current “NeverGuy” prototype, which is right now nothing more than an unfinished proof of concept.  The title of this game was going to be “You will never be the guy”, thus “NeverGuy”.

The reason this project was abandoned was because we were both busy working on other projects, and we also kind of lost interest in this.   Not so much in the project itself, but at least I am not personally very attracted to the “masocore” genre.

Notes:

  • You have to find out which one is the jump key in order to start playing.  No, I am not going to tell you.
  • The purpose of each screen is to reach the end (the rightmost, top corner of each map).  But there is no “goal” or anything happens once you get there (this is just a prototype), you will have to press ESC to get back to the main menu and choose another screen.  Sorry about that.
  • I know “VVVVVV” is not masocore, it’s just a platformer, but I was inspired by some review of the game that said something about muscle memory and Veni Vidi Vici.

Straty

2010/08/29


This was going to be my entry for the TIGsource Assemblee competition.  This was a two-part competition.  In the first part, artists would produce assets for videogames.  Sprites, music, sound effects, etc.  For the second part, we, the coders, would take those assets and create games with them.  I, like most other participants, decided to use the wonderful sprites by Oryx for my characters and DBB’s buildings for the level map (unfortunately, it seems that DBB has taken his sprites out of the website as I am writing this post).

By that time I was interested in doing a multiplayer game, as I mentioned in the post about Vampiric Hate.  Still, no networking, but a two-player, same-computer game.  I started creating a RTS (realtime strategy) game for two players, where one would command the armies of soldiers and the other player would manage the “schools”, the buildings that produced more soldiers.  The two players would then have to collaborate against hordes of enemies that would try to attack the schools.  A kind of survival mode play.  If you want to try the unfinished prototype, the keys for player 1 are E-D-S-F for directions, and Z for select.  The keys for player 2 are the cursor keys and… there is no select yet.  I wrote most of the player 1 code, but the part of player 2 is still in the “to do” list.

The interface can be a bit confusing, but the reason is that I abandoned that project before starting to polish it.  I was also worried that I could not test the game well since I lack a second player to help me in that area, which meant that there was a risk of leaving the game unbalanced.

The reason I left it unfinished was lack of time.  The deadline for the competition was the second week of January.  What happened was christmas.  I thought I could spend the holidays working on this project.  But since I always go to visit my family on christmas, I just didn’t find a moment that I could dedicate to work on own projects.  No two hours in a row with some privacy and calm for concentration.

Anyway, I still think it’s a nice idea and, who knows?, maybe some day I’ll reboot this project again.

Also, the title “Straty” was a provisional name (short for “strategy”), coming up with a good name for the game was also in my to-do list.

Vampiric hate

2010/08/29

I made this little game in one hour during a 3h minijam at the TIGjam UK 2 (January 2010).  The theme was “sunshine”.   After one hour brainstorming and not coming up with anything interesting, I just started to throw in some Löve code and came up with this two-player game (same computer).  Very simple indeed.

At that time I was interested in moving towards multiplayer, instead of restricting myself to single-player games.  I had been considering doing a multiplayer version of GunFu Deadlands, actually. I am interested in the dynamics that can arise through the interaction between several (human) players, in terms of gameplay.

I downloaded a networking library for Löve2D called Lube-X, and threw in some code for a basic server and client, where you could move a box around the screen.  I was not happy at all with the results: the comunication (on localhost, no actual network involved) was very slow.  It seems Lube-X uses TCP, no matter what, and I would have to study how this protocol works and how to cleverly format my packets so that the comunication was fluent.  The abstraction doesn’t “just work”.  Instead of  dedicating a long time learning about the whole subject of networking for games, I wanted to focus on designing games.  I wanted a ready solution I could easily use by calling a couple of API functions somewhere.  Anyway, I decided to do the first experiments in two-player gaming on a same computer, sharing the keyboard, so I would not have to worry about networking at all.

And then I found the biggest roadblock:  Testing.  Since I am mostly a solo developer, for adjusting/balancing two player (or more) games, I would need someone to help me.  I still don’t know how to overcome this obstacle, it seems I’ll need to kidnap someone and force him to play my game with me again and again, hundreds of times.  Multiplayer games is then something I am not going to focus on, in the coming months, due to this.

Note:  I was using a netbook running Windows XP.  I didn’t bother to create executables for other platforms, since this is such a small, unimportant project.  You can still download the löve file and run it in your system if you have Löve2D 0.5 installed.

Concerned Nuns

2010/08/28

We made this game during another 3h minijam at the Berlin Indie Jam ’09.  The theme was “squad of concerned nuns”.  Finally we titled it “nunfusion”, because of some confusion between using “concern” or “confusion” as a theme.

I wrote the code using Löve2D (that was my first contact to that engine).  Qubodup made the sounds and coded the sound routines (he was the one who introduced me to Löve2D), and Ptoing drew the graphics.

Note:  For the Mac executable I have just hacked the GunFu mac version, but I have no way to test it, I don’t know if it will work.  In that case, you can still run the love file using a Löve2D 0.50 executable.

Eat the croissant

2010/08/28

This is a little game that we made in a 3-hour game coding competition during the Berlin Indie Jam ’09.  My team was composed by Don Andy ( sorry but I could not find his website ), who did almost all the coding and game logic, C418 who composed the music, qubodup, who drew the graphics, and myself, I also did some coding for importing the images and display them (very basic stuff).

The way these “minijams” work is like this:  We choose a theme randomly.  In this case it was “croissant”.  We can then go solo (make a game on your own) or form teams.  You have then 3 hours to make a game based on that theme.  The theme is supposed to serve only as inspiration, you are free to interpret it however you want, or even to ignore it completley and make an unrelated game.

The game was made in ActionScript and is a tribute to Don´t shit your pants.  Please keep in mind that the game was made in just three hours, the first of those I spent downloading FlashDevelop and the SDK and googling “how the hell do I program in this thing?”.


Follow

Get every new post delivered to your Inbox.