pvwradtke

LD26

Chien Loco is In For the 1st Time

Hi everyone, I’m Paulo, a Brazilian living in Montreal, Canada. This will be my first Ludum Dare. I have some experience from three past Global Game Jams, but this time I’ll be doing it by myself, and hopefully I’ll complete the project as well as the other three times. My tools of the trade:

  • Netbeans 7 and g++ on Ubuntu 12.04 (yes, I’m somewhat eccentric)
  • Gimp
  • sfxr, Otomata , BFXR and my trusty Epiphone + Fender Mustang  to hack some music and SFX.
  • An epson scanner to get whatever I can scribe on paper to disk.
  • Mingw32 for Linux, so I don’t have to dual boot to build binaries for those using Windows.
  • SFML 2.0 (I’m doing this game prototype to consolidate my skills) C++ or plain C and Chien 2D, an open source SDL 1.2 based library I developed long ago. The choice will depend on how much learning more about SFML will give me more difficulties, instead of benefits. I have some base SFML code that I wrote on my recent dev blog that I plan to reuse.
  • I might have some crazy idea to use some library that I din’t remember to cite here, but those are most likely to be publicly available for a long time.
  • Simple time lapse tools, to capture my desktop during the JAM.

My skills are mostly related to programming, so hopefully I’ll come across a good idea to polish it in under 48 hours and cross compile it for Windows.

Current Status

This is how Minimum Friction is looking so far. Minimalist graphics, minimalist game controls and no sound for now. Fixing bugs, but things are already moving. Will spend some time to make a random level generator and polish things up a little bit.

day02_fifth

Written in C++11 and SFML :D. With Netbeans. On Linux. I told I was eccentric on my first post for a reason ;).

Minimum Friction – First Alpha

Hi Everyone, here’s how my entry to Ludum Dare 26 (#LD48) is looking. Game is playable (tutorial level), and most of the work tomorrow will be to add a complete level, credits, music and sound. You can download it here:

http://chienloco.com/wp/wp-content/uploads/2013/04/MinimumFriction-Windows.zip

Source is also available for Linux (and most likely Mac) are also available (requires SFML2):

http://chienloco.com/wp/wp-content/uploads/2013/04/MinimumFriction-Linux-Alpha-src.zip

Minimum Friction

Right now it runs on a 1280×720 window, but final version will support full screen modes and adapt itself to several resolutions.

Minimum Friction – Desktop Time Lapse and Mini Post Mortem

Hi everyone, here’s my desktop time lapse during the writing of Minimum Friction, my entry to #LD48.  This was a very exciting competition and I am very satisfied with my results. While I did three Global Game Jams, this was my first time on a Ludum Dare. It was also the first time doing a game all alone in such a short time. It’s very different from jamming with friends and is a great way to check our skills to deliver something complete, instead of part of a total.

At first the theme seemed daunting, until I had an idea about a platform game that played around gravity. To make it different, I decided to remove the ground and platforms, both to get a minimalistic game and and to something different. That was a little before I started writing the code.

Some funny things people can notice, I started writing the menus and splash screen. I was trying out the SFML 2.0 library for the first time, so I spent some time playing around with the lib to get the feeling of how input was handled and how to use graphical resources, which is quite different from SDL (which I used for a long time). It wasn’t until late in the night that I started coding a level.

The best I did was in Saturday night: a level loader. This allowed me to do many cool things that would have been difficult to achieve if I used hard coded levels. By Sunday I had a “to do” list that was 50% done for submission (I can’t believe I actually planned multi language support). Credits screen was a late addition, and I had to cut some corners, instead of loading a text and rendering the credits, I used an image and that did the trick. Finally, I fine tuned the levels and by 10PM EST Sunday I uploaded the final version.

If you still have to play it, please check out the Minimum Friction page and let me know what you think! 😀

LD27

Chien Loco is In Again!

After Minimum Friction on Ludum Dare 26, I’m back, hoping to have as much fun as I had the last time. As the last time I’ll use:

  • Linux (Ubuntu 12.04)
  • g++ and Netbeans
  • Gimp
  • SFML 2
  • The menu, splash and credits code I used for Minimum Friction.
  • Audacity, sfxr, Otomata and my guitar + amplifier.
  • Mingw32 to cross compile my game for Windows.
  • An Epson scanner if I ever feel the need to scan something into bits.

Hopefully this time I can get a Beta out by Saturday in the afternoon. Also, hopefully I’ll complete the game with at least a few hours in advance. Realistically, I’ll complete the game just in time before the submission process is over. And be glad that another game is done in 48 hours ;).

Comments

adventureloop
20. Aug 2013 · 06:03 UTC
Looks like a strong setup, good luck.

10 Seconds Warning – Alpha Build (win32 + Sources)

So, after over 24 hours into development, here’s the alpha to my entry on Ludum Dare 27, 10 Seconds Warning! The goal is to guid your ship and avoid enemy fire as long as you can, while taking out as many enemy space ships as possible on the way. The twist: your weapons are ineffective, but giving the aliens a taste of their own medicine work wonders.

10secondswarning_alpha

Binaries are available for Windows, but compiling on Linux and MacOS X is just a matter of changing the compiler to g++ on the Makefile. Please download the game at the link bellow and let me know what you think and which improvements you think I should do during the last day! :)

Download 10 Seconds Warning alpha

ps: fixed no joystick bug from first version.

10 Seconds Warning

Hi everyone, so here’s my entry to the Ludum Dare 27 compo, 10 Seconds Warning, a shmup without weapons, where enemy fire last only for 10 seconds! The goal is to dodge the seeking missiles and try to give the alien enemies a taste of their own medicine using your flight skews. Available for Windws (binary) and Linux/Mac OS X (source).

The game was made in 48 hours in C++11 using Netbeans 7, SFML2, Gimp, Audacity, Bfxr, Punk-O-Matic and Inkscape. All done on Linux :D.

Click here to play 10 Seconds Warning

And there’s also a game play video! (don’t mind the audio quality, the in game music sounds way better)

Also, congratulations to everyone else who made through this competition. I’m looking forward to play some great games the next few days! :)

Tags: binaries, gameplay video

LD28

Chien Loco is in for the 3rd time in a row

After Minimum Friction on Ludum Dare 26, and 10 Seconds Warning on Ludum Dare 27, I’m back for more programming fun. As the last time I’ll use:

  • Linux (Ubuntu 12.04)
  • g++ and Netbeans
  • Gimp
  • SFML 2
  • The menu, splash and credits code I used for Minimum Friction.
  • The joystick code from 10 Seconds Warning.
  • Audacity, sfxr, Otomata and Punk-o-matic.
  • Mingw32 to cross compile my game for Windows.
  • An Epson scanner if I ever feel the need to scan something into bits.

Let’s see if I can finally get a Beta out by Saturday in the afternoon (maybe 3rd time is a charm). The only thing I’m sure is that I’ll have lots of fun again :).

LD29

Chien Loco is in (hopefully for real this time)

After Minimum Friction on Ludum Dare 26, and 10 Seconds Warning on Ludum Dare 27, I’m back for more programming fun. hopefully real life won’ t get in the way and I’ll make it as expected. My tools of the trade:

  • Arch Linux
  • g++ and Netbeans
  • Gimp
  • SFML 2
  • The menu, splash, joystick and credits code I used for 10 Seconds Warning.
  • Audacity, sfxr, Otomata and Punk-o-matic. Or whatever I can use to make sounds and irritate people.
  • Mingw32 to cross compile my game for Windows.
  • An Epson scanner if I ever feel the need to scan something into bits.

As usual, I’ll try to get a beta out by Saturday, but most likely will do a final build 5 minutes before the final deadline on Sunday. LOL!

Fish Goes Fishing – My Entry to LD29

Well, after I recovered from last night’s rush to deliver the game (seriously, last minute build issues are though), here’s my entry to LD29: Fish Goes Fishing. You control a very hungry fish, who needs to constantly eat to stay alive. Eat other fishes, keep track of your life and don’t let the dangerous Red Fish get you. Maybe last minute build are not so hard as this fish’s life, so go on and check it out at http://www.ludumdare.com/compo/ludum-dare-29/?action=preview&uid=3728.

 

Fish Goes Fishing

Fish Goes Fishing – Time lapse + Post Mortem

Hi folks, it’s my 3rd Ludum Dare, but I guess it’s my very first post mortem, for my LD 29 entry, Fish Goes Fishing (click here if you’re still to play it). So, with no further delay, my time lapse video, followed by the post mortem itself.

The Idea

When I first saw the them i was like “blergh”. I won’t deny it, I’m more an old school C/C++ programmer than a designer, and”beneath the surface” only ringed an underwater game to me. And that’s what I did, a game where you’re fish, constantly hungry, struggling to survive by eating other fishes and avoid being eaten by the fish you can’t eat at all. At first, I wanted to have a fisherman passing by a boat, which could mean an instant death in case the fish was caught, but this idea was scrapped along the way, as time was getting shorter. I also planned to have two gauges, one with the hunger factor (fish dies if maxed out), and another with an energy usage factor, that would be depleted when the fish moved, but would recover when the fish would rest. With that in mind and a very rough sketch on paper, I started my 3rd Ludum Dare.

The Code Base

Doing a full game in 48 hours is already challenging, leave it alone doing the full code to make the magic happen. Since I did Ludum Dare 26 I’m building a basic code framework over SFML. To bootstrap Fish Goes fishing, I had the menu system ready, plus a character hierarchy and controller code in place. This time I added character animation and very simple animated particles (the bubbles, plants and anemones). Maybe for the next Ludum Dare I’ll have tile map support with some physics library in place (Chipmunk, maybe).

Highlights

  1. Mockup graphics: I wanted to have a sense of how things would play together as soon as possible. Both in sense of gameplay and how they’d look together on screen. For that I made characters that were simple rectangles to get myself going soon. This allowed me to focus on what I had to do first (the code) and to scale the time I’d spent to polish those resources later.
  2. Do a game that your library or code base makes it easy for you: while we can have very complex ideas, it’s not useful if we can’t make them happen. It’s OK if we need to code something specific for the game, but getting it up from scratch is a hard task. use a library or framework if you can. If you’re old school and is starting out with a library like SFML or SDL, try to make a game that uses the libraries basic resources, and then, for the next time, you may improve upon that code base. I’ve been doing that for a while and it’s working well.
  3. Generalize first, specialize later:when developing the game, I focused on creating the basic characters, and the other character were built upon those previous elements, by adding more states and changing animation frames.
  4. Prioritize efforts: a game is much more a sum of parts, rather than only one individual aspect alone. Something I did was to question what’s required from here to get a build that plays like a game, even if we need to balance things to make the game more challenging. I was about 26 hours into the jam and the fish could eat other fishes, which was a good milestone.
  5. Using well the right tools: I’m no musician, as I’m no graphics artist. But I can overcome those limitations (a bit, at least). Music and sound can always be generated by automated tools. For SFX, I used bfrx, and for musics I used Otomata. These can save a lot of time and effort, and give some mood to the game. Just for the record, I’ve also used in the past Punk-O-Matic, and I’ve also seen other procedural music generator apps that allow me to export files to MP3. As for graphics, Gimp is more than enough for pixel artist making, and also has very easy to use too to rotate layers that I used to make the scuba diver animation.
  6. Not being afraid to scale back: the earliest we see something is too big for the original deadline, we need to remove it ad minimize impact. This goes well with number 2 above, and I had two occasions were this was important:
    1. Missing fisherman:I thought about the fisher man, but this character would have a moving part for the line and required a special hierarchy. To avoid expending too much time with this guy, I decided to drop it before I couldn’t finish the game. While it was hard, and a hit on my original idea, I fully understand it was for the best (as I’d complete the final build close to the deadline).
    2. Gauges mechanics didn’t work out:the idea to have two bars to control both how hungry and tired the fish was seemed awesome. Once I tried it out, it wasn’t working out as expected. To solve that, I change it to a single bar, which would go down faster when the fish was swimming, and slower when it was idle. Also, it was simpler for people to understand the game.
  7. Life can get in the way: working at home to do a Ludum Dare and still having the regular responsibilities of a regular weekend is a tricky challenge. In my case, that meant shopping for groceries, taking kids to swimming classes or doing a BBQ for the family. This may manifest differently to each person (going to school, doing a report, whatever), the fact is that life is still there and we should be prepared to accommodate other activities rather than just doing the game. In other words, try not to procrastinate, as this time will be missing later ;).
  8. Pressure can make simple mistakes become nightmares: when I was doing the Windows build (I only use Linux), i made a Makefile to cross compile the binary. And it wasn’t working at first. I had my entry in place, I had the source code uploaded, and it wasn’t before 5 minutes of the final deadline that I had my Windows binary after I found a small typo in the name of a file. Was under normal stress, I would have noticed and laughed this off, in the submission hour I couldn’t even see what was right or wrong anymore. Try to avoid the pressure of a ticking clock at all costs.
  9. Oh, you may get sick as well: while normal life may get in the way, and I’m used to it by now, I wasn’t quite ready to deal with illness. I had food poisoning Sunday, and the last three hours were not fun to get over the final tasks. Had it happened earlier, I think I’d have retired from the compo. As most of the hard work was already in place I decided to push forward.

Conclusion

Every time I go through a jam or Ludum Dare I learn something, and I also enjoy the challenge to come up with something even if the theme is not the one I’d liked the best (like this time). I may try jamming with friends some time, as soon as we can match our schedules, but until then, I can get into the compo by myself and have some fun :).

LD32

I’m In

Hi folks, I’m in for the 4th time, hoping to improve a little bit from the other entries. I’ll use this time:

  • Code::Blocks
  • gcc/g++
  • Gimp
  • Sfxr
  • Audacity
  • Otomata (maybe)
  • Punk-o-matic (if the idea fits)
  • Linux
  • MinGW for cross compiling Windows binaries.

As the base code, I’m struggling between the base code used for my last entry (Fish Goes Fishing), or Chien2D, a lib for games I did sometime ago and I’m moving towards SDL2. The SDL2 port is not exactly public, but I may end up getting the early alpha into git Hub just to fit in the rules. After all, nothing is better to push a game library than making a game with it :).

Crossing fingers for an awesome theme that I can get a cool idea quickly tomorrow night :).

Good to Go!

Just started setting up my GitHub repository, ideas were flowing today after a small developer block and I should have something up and running in time for tomorrow night. Nice!

My unconventional weapon has polarities and can either attract or repel things. Hope to share it with you guys in a short time :).

Progress on my compo entry

Ok, so it took me a long time to figure out two silly bugs that were halting my development. Hoped to have a playable version by now, but I guess having collision and player controls in place is already good enough. Let’s hope I can complete everything else in time for tomorrow. Below, a video of my collision code working.The idea is a twin stick shooter were the player can use a magnetic field to attract/repel certain objects to destroy enemies, while watching out for not being hit himself. Still untitled :).

 

My untitled game, now with the weapons mechanics in place

Hi everybody, finally I’ve got around some issues I had while coding my game. Right now, I have the temporary player moving around and able to use the magnetic forces to attract and repel items according to the field polarity. The idea is to shoot those items as projectiles and destroy enemies (will add them tomorrow). Right now my main concern is that graphics won’t get much better than this, I wanted to make some sort of game with an human player generating a magnetic field, and attracting/repelling the items. However, it looks like the character will be a late addition if I want to have enemies and a goal in place :).

Still untitled, bot working rather well :D

Hi folks, lots of progress since last night. The game works quite well, I can destroy enemies and it’s very close to completion. Besides doing a map loader, it’s still lacking winning conditions, but I’m pretty much excited with the prospects so far.

Mighty Magnetic Force

Wow, what a compo this time. Great theme, had a nice idea and, besides a few bugs and small blockers along the way, everything is fine. Feels great :D. And now, for Mighty Magnetic Force, my entry to this compo.

My submission page is here

You’ve been turned into an entity that generates a very strong magnetic field, and can manipulate some objects with that. Same color will repel objects, different colors will attract them. Use that to destroy enemies and clear all stages (yes, you CAN beat the game).

mmf_title

Controls are simple, use you gamepad left stick to move around, and the right stick to orientate the magnetic field. Oh, if you don have a gamepad, use the keyboard. Ccursor or WASD will move around, and the mouse will allow you to change the direction of the magnetic field. Or go to the nearest store and buy a gamepad ;).

mmf_screen02

Now, all you have to do is to play the game! Just follow the link to my submission page! And don’t forget to leave your comments, I really appreciate them :D.

Mighty Magnetic Force – Post mortem & timelapse video

Hello everybody, pretty busy week, so I’m getting to do my post mortem only today. This time my entry is Mighty Magnetic Force, an action/puzzle game where the players control a magnetic sphere that can attract/repel objects to destroy enemies. Below is my desktop timelapse for those crazy 48 hours to develop a game.

This is my 4th Ludum Dare game, though it’s the one I consider to be the best polished so far. To develop it, I’ve used:

  • C/C++ (though no C++ 11 this time)
  • SDL2
  • Chien2D v3.0 alpha (an educational game programming library I’m updating to SDL2 now)
  • gcc and friends
  • Code::Blocks
  • SFXR for sound effects
  • Punk-O-Matic for the music
  • Gimp
  • Inkscape
  • Audacity
  • Tiled
  • mingW32 to make the Windows binary

As usual, the game was developed on Linux (Mint this time) and cross-compiled to Windows. Surprisingly, the game was ready in time and I could do more or less everything that was planned. So, let’s see how this happened.

What Worked

  • I could decide an idea pretty much early, after playing around with a few concepts.
  • Working the mechanics first, so I was able to move around the character in the scenery and shoot objects fast. This way I could focus on fixing small issues.
  • Use place holder graphics, but decide the actual level data structure early. While I was working with a static, hard-coded level, it was using the level final data structure. When I did the level loader, I just had to fill in the memory with data.
  • Use a tool to design levels and configuration files to load them. I used Tiled to build the levels, which made it easy to do it visually.
  • Scale back some ideas, the original enemy was supposed to follow the player in what would be a level laid out as a simple maze. However, this became impossible to do in time, and replacing them for something easier to code was the right choice.
  • Develop standard code for multi-platform development (ANSI C/C++). Compiling it for Windows was just a matter of changing a Makefile to use the mingW32 gcc, instead of the regular system tool.
  • Get people to play it early to spot issues. Some levels were simply too difficult, and I couldn’t see it in the editor. My kids spent about 30 minutes playing it, and it was enough to chase away most level design issues.

What Will Work Better the Next Time

  • I was doing the compo and refactoring Chien2D, a game programming library that I used to teach games programming, back when I was in academia. The original library used SDL1.2+ OpenGL, and my goal was to have it fully refactored and uptaded for SDL2.0 by the time of LD32. I knew that the compo was the best place to force myself and make improvements to portions of the code that weren’t great yet. But it actually gave me some headaches.
  • I had some issues with the SDL2 documentation. It was not so clear, at first, what was a rendering context, which seemed at first to be a backbuffer to draw. However, I quickly discovered it was only there to provide a way to draw to a window using the SDL2 accelerated video API (when there was texture artifacts in my tiles). Once I realized I had to actually draw to a texture, everything went back in place.
  • As part of my refactoring, I didn’t had a good collision code, so I had to improvise. the original version was large, clunky and didn’t work well. It took me a while to write a good version, which was 15% of the code used in the buggy version. Well, less is more, so they say.
  • I was going to be late, when I decided to scale back. and drop the “smart enemies” that could follow across a maze like place. If I had pursued this path, I don’t think the game would be done.

And That’s It!

So that’s my little story about making Mighty Magnetic Force for LD32. Hope you guys enjoy playing the game as much as I enjoyed making it. I’m pretty happy with the positive comments so far. Yes, there’s room for improvement and some ideas are really great to improve the game (thanks everyone!). I’m looking forward to the next compo in August and, until then, please stay with the official Mighty Magnetic Force gameplay video :).

LD33

I’m in again!

I’m in again (5th time already), and the one man army Chien Loco will be posting a new game sometime in Sunday :). As usual, tools will be:

 

  • C/C++
  • Code::Blocks
  • Gimp
  • Tiled
  • sfxr
  • Punk-O-Matic
  • Inkscape
  • Chien2D v3.0 Beta
  • SDL2
  • Chipmunk physics (not sure yet)

See you guys in the comments section later :D.