Ludum Dare Compo #32

Ever since 2012 when I kind of first discovered Ludum Dare, I wanted to fully participate in one of the compo, but for the past two years the dates usually clashed with some other event of mine. However in similar fashion I participated twice in the SFML Game Jam, of which the upcoming 4th as just been announced. Last weekend the timing was finally perfect and I managed to properly participate in the Ludum Dare Compo #32.

Synth Guitar

► VOTE ► Ludum Dare entry ◄ VOTE ◄
GitHub repository
Windows & Linux downloads

MenuState
The goal of the game is get from the start position to the nice looking platform as fast as possible while using sounds to open the doors inbetween. Ah and did I mention that you are some kind of a Synth Guitar?

Synth Guitar

You get points for opening doors and finishing a level, also your score decreases for every step you make and for every wrong button you press but you’ll never go below zero.

PlayState

My Setup

Although I’ve written about this already on the Ludum Dare “blog” I still like to share things here again. My workspace was essentially just my newly built PC, my rather bad but comfortable Logitech MK710 keyboard, my ROCCAT Kone XTD mouse and my two monitors. The notebook you see on the image below was used to provide a webcam stream on the second day.

Workspace

As for the software involved: The OS is obviously Windows 8.1, which I’ve been using for many years now without any issues. Since I was using C++ my choice of compiler was a no-brainer as well i.e. MinGW-w64 POSIX Dwarf2 GCC 4.9.2 (x86), but for the IDE I switched things a bit and tried the just released JetBrains CLion v1.0. Since the software is rather new and I’ve been asked by someone on Twitter, I’ll do a more detailed post just on CLion later on. One of the best features of CLion is the native integration of CMake, so instead of having some awkward project file to deal with, I can just write CMake “code” and compile it that way.

Coding wise I used – who would’ve thought – SFML for nearly everything, but also added Thor with its very nice ResourceHolder that got added just a few days ago. For my animation and level files I used JSON to write them and found this awesome header-only json library by nlohmann – it’s seriously easy to use! As starting point I used my SmallGameFramework that I still have to fix up and push to GitHub…

Moving on from basics and programming, also for the first time I’ve an older and thus free version of Aseprite for my pixel “art” and animations. First I just wanted to do some pixel images but once I noticed the animation features in Aseprite, I just had to make use of it and it was really simple. In addition to that I also used my go-to image editor PhotoFiltre 7 which is essentially nothing special but I really like the interface and it opens with a second or two, which is perfect for doing quick edits on things. Also in the image “processing” business I might mention ShareX, which is the most awesome tool ever. It allows me to take screenshots that get automatically uploaded to imgur. It’s free, goes out of my way and works reliable.

For the audio bits I used the Diatonic Composer to generate some classical sounding MIDI file. Then I fed the MIDI file into sforzando a free soundfont player while utilizing the soundfont Evanessence2. I really hope to get a slightly better setup at one point, because the generator as well as the soundfont player are rather limited. The sounds you hear for the wave forms in-game are actually generated on the spot.

And the last part is about streaming. On Saturday and on Sunday I was streaming over 12h each (see here and here) and for that I used the unbeatable Open Broadcaster Software. And since I wanted to use the webcam from my notebook, I setup a Monaserver, broadcasted the webcam feed through the LAN to my desktop PC, played it back with VLC and then captured it again with OBS. It was not pretty but it did the job even if the delay was way too high.

Conclusion

Having a somewhat finished framework ready to go really help a lot in the development since I could immediately jump in and didn’t have to bother with a lot of the boilerplate code. I really hope to get this small framework a bit expanded so things will end up even easier and less hack-ish to code, because while writing a framework you can take your time to design things properly, I did not have that time during the Compo which ended up in a lot of code repetition.

While nobody will watch someone code or sit around for hours on end, I still like to stream stuff, because it kind of forces me to keep working on it and not start some video game or randomly browse the internet. In addition to that it gives some nice conversations from time to time and you feel less as a solo developer. I just hope to get a better solution for the webcam, since I feel webcams make streams a lot more interesting.

It took a lot of time, but in the end it was really nice to have something finished and ready to be voted on.

What I’ve been up to

Where are the SFML News? Where are the Nightlybuilds? Where is eXpl0it3r? Those or other question might some have asked themselves or even me. Of course all the awesome people at the SFML IRC channel know that I never left. There have been quite a few changes in my personal life as well as in my “digital” one. After failing the base exam for computer science at the well-known ETH Zürich, I’m currently aiming for a more practical university, but to get in, I’m doing an internship at the moment. Luckily I’m able to do the internship for a company as a programmer, unfortunately it’s web development thus no C++. With that change my focus in programming shifted slightly away from SFML and C++ itself and I started to dig deeper into the world of PHP. Yes, I can hear all you all scream back there, but I’ve never been an anti-PHP guy and while I see the flaws, it’s still a simple and effective language to work with. I won’t go further into detail what I’m currently working on for my internship, but many things that do there, start to bubble up in other web projects that finally get some more attention (again).

SFML Projects

Some might know that there has already been attempts on this in the past and as a fact, the domain itself has been registered over a year now. I’m talking about this domain: http://sfmlprojects.org/
Currently there’s not much to see, but I’ve decided to go the open source way and not try to hide as much as possible. I’ve already gotten a bit of help by zsbzsb and a few pointers by veltas, other than that the project is still in my hands. The only thing I can do, is to encourage people to look at the current development state and open tickets as well as creating pull requests on the official GitHub repository.

For those that still haven’t look at it: The main idea behind it came from the fact, that there are so many nice projects that simply die in the depth of the SFML forum project section and if that happens, chances are high that the linked binaries will sooner or later get lost as well. To prevent all of this, SFML Projects should enable users to create projects and add various types of content that won’t get taken down after a few days. Next to that the site will automatically promote SFML itself, by showcasing what people have created already with it.

It is and will the longer the more be an interesting journey, thus if you like to help in anyway, don’t hesitate to contact me or tweet us @SFMLProjects.

Kohana & Modules

For the things at work and for SFML Projects, I’m currently using the very light PHP framework called Kohana. Coming from some rather basic PHP background, all this new stuff was and still is slightly overwhelming, but it’s slowly starting to grow on me. Kohana if I remember correctly was originally a clone or rewrite of CodeIgniter and when looking at the basics, the similarities reveal themselves rather quickly.

While starting a few times over with the whole project, I noticed, that it would be easier to create a repository with all the “normal” and boring setup things included and thus KOstart was born. KOstart is basically Kohana with only the needed and additional modules and already includes Bootstrap.

Since the latest Kohana version lacks a non-ORM auth driver, I’ve started to write one and create a module repository just today, which you can find on my GitHub page as well. It currently misses role management, but that should get added pretty soon.

Firefall & RAWR

Quite a big chunk of my free-time, I’ve spent with an MMO FPS called Firefall, which is currently still in its Beta phase. The game is awesome and pulls you in quickly, unfortunately recent changes to the basic systems in combination with the lack of new content, made it a bit less fun for me.

After some ups and downs I’ve been “elected” as the commander of the RAWR army, for which I’ve been creating and maintaining the Live Resource Feed. For RAWR I’m currently also working on a fresh website, but it’s based on Drupal for simplicity reasons. Things are still in development and I feel a bit bad to not having worked on for a while now.

Firefall is not only fun, because of the game content, but because their whole UI is written in Lua and thus moddable. Thus I ended up combining the game with my C++ knowledge and we ended up with SecondaryMap, which as its name says, is a map for your secondary monitor, so you can keep track of your own position and the position of events around you. It’s pretty awesome that this small application uses SFML, Thor and SFNUL – all very nice projects.

SFML Game Jam 2

Before I close this blog post, I just want to mention that the second SFML Game Jam has been held a few weeks ago and as last time, we’ve gotten quite a few awesome games. Originally Jebbs wanted to create a website, but then he had some time issues and zsbzsb took over that burden and create this awesome little site where you can also find all the games of the jam.

Also don’t forget to checkout the game A Temporary Outbreak Nexus and I did for the jam, while both being on quite some time constraint.

Final Thoughts

With that said, I hope to be post a bit more here once again, but if you want to stay updated more often, you might want to follow my Twitter account @DarkCisum. Ever since Grimshaw created that one forum thread, Twitter started to be a very interesting place for getting information. I hope to get some more time at some point for all the nice things like SFML News, but currently I’m just too busy with all my other projects. However as always, don’t hesitate to contact me if you have any questions.

SFML News – Week 31-34 (2013)

It looks like, this is going to be one of the longest news entry so far, mostly due to the Game Jam, which alone gave me nine projects to present and write down my thoughts about them. But as long as you’re not going to lynch me, for delying the release, I’ll keep writing those news articles and if you really feel like supporting me, there’s some strange orange button on the right side… 😉

Projects

Uoke’s Recovery

Our first project is a simple platformer developed by datMoka as his second project. If you expect something to start and finish in a minute, you’re wrong, because the levels aren’t that easy. I really hope datMoka is going to keep polishing things and fixing some minor issues.

So if you like a bit of a challenge, then Uoke’s Recovery might be something for you. Fun fact: Since I wondered what Uoke could mean, I quickly Googled it and the game’s forum post come up as forth result.

While having this article lying around for a week or so, with parts already written, this game got an update to version 1.1, which now even includes a working patcher.

Continue Reading “SFML News – Week 31-34 (2013)”