Posts Tagged ‘SDL’
About time I got around to writing a post mortem for my entry, here goes!
Curiosity is a little ambient exploration game written in the ooc programming language. You can play the game here if you’re interested.
In the UK, Ludum Dare starts and ends at 3AM. I decided to stay up into the early hours of Saturday, and fell asleep with minimalism floating around in my head. I think I had a dream about a game idea, but unfortunately I couldn’t remember it.
I thought about a game that starts of super minimalistic, and gets progressively more detailed and lush as the player progresses. Of course, this was silly and vague. In such a short space of time just having a finished project is a challenge, but I hope the game resembles my intentions a little.
I admit I didn’t really like the theme at first – any game made in 48 hours is going to be minimal, so minimalism seemed to be a wildcard. I changed my mind once I got started.
My graphics software hasn’t changed since the last time I entered. Even though I’m 5 major versions behind now, and running it 2 operating systems ahead of what it was developed for, Fireworks is still my general purpose graphics editor of choice. Having .png as the native project format is really handy, along with the variety of non-destructive image processing options.
I’d heard good things about Ogmo Editor, and watched a tutorial on using it in FlashPunk. Considering this was my first time using it in a project, it worked amazingly! When designing the world, I tried to make sure there was more than one way to solve each challenge (though not everyone who played the game noticed this). Some people said the game reminds them of the Knytt series, which is very cool to hear! Nifflas was certainly a source of inspiration for me.
A few people found the game too difficult, but I don’t think there were any major flaws in my level design this time. My old entry for LD21 had lots of blind jumps, no checkpoints, and you could fall off the world by going left. I’ve definitely improved in that respect! Personally I thought the difficulty level was fine, especially after playing some other awesome yet insanely hard entries.
My choice of language, ooc, served me incredibly well! It’s a modern object-oriented language that compiles into C99, and therefore works on any platform with pthreads and a C compiler. I picked it up in the last few months, created quite a lot of bindings to existing C libraries, and have been working on a FlashPunk inspired game engine called Vamos using SDL 2.0′s hardware accelerated rendering API, which I used to create this entry.
The majority of development issues were all tackled before the compo started, so I had a pretty smooth ride on my own framework. The day before, I bound a small XML library (MiniXML) to ooc, so I was able to parse Ogmo Editor’s level data. On the first day I remembered I still hadn’t implemented depth-sorted rendering, and that ate up a little bit of time, but was quite painless.
The main problem was that my game engine didn’t have sound effects. I’d been trying to write my own audio mixer before the compo (without relying on SDL_mixer), but it had huge latency and I couldn’t figure out how to avoid sounds being synchronized to the buffer size. The music playback (which uses stb-vorbis for decoding) was working fine, and I found a hacky solution last-minute to create smooth crossfades between tracks. That hopefully compensated for the lack of sfx.
This has always been a strong point for me. I wanted to include just as much musical content as last time, which meant I had to make 4 tracks! In my last entry, my soundtrack was ruined for some people by streaming/stuttering issues. That wasn’t a problem this time, because I was making a desktop game.
I’m primarily a Renoise user now (though SunVox is still awesome, and I highly recommend it if you’re looking for a free music program). I’ve got a nice collection of free VSTs and samples and had fun creating some ambient songs and soundscapes. It gave me a nice break from the intense coding!
I’m really happy with how this turned out! I’ve since made some Linux binaries, and it also runs nicely on OSX (though I don’t have a mac to test or package it). I’d love to develop Vamos further and make some more ooc games in the future.
I’d also like to thank everyone for their encouraging feedback so far. Thanks guys, and well done on all your finished projects!
It’s been a full year since my last LD… ::sigh:: But it’s great to do it once again!
This time I made Runaway Money, a party game about being invisible and stealing money. Sounds kinda fun, right? Does it also sound kinda strange that a multiplayer game would use invisible players? Yeah, me too. I had to think a while to make sure it was possible.
As it turns out, it is and it’s pretty fun. Give it a try with your friends!
Ludum Dare END
SUBMISSION: Cave Runner
And so ends my first Ludum Dare. It was a challenging experience, especially since I didn’t have as much time to work on it than I had originally hoped. My plans changed a lot throughout the competition. I’d like to highlight the biggest changes.
- My original plan was to submit my game into the 48 hour competition, but I ended up needing more time, so I submitted it to the 72 Jam instead. I hope to make an entry to the 48 hour competition next time.
- I did not add sound. This had to be cut in order to meet the 72 hour deadline.
- I code generated shapes rather then art. I made this decision after the theme was announced, since to me it showed minimalism.
- I chose to make an infinite runner game instead of a roguelike. I ended up making this change almost as soon as the theme was announced, since I felt I could achieve this, and my top objective was to get something I could submit.
- I ended up using OpenGL as well as SDL, since I knew it would fit well with my level generation. I did not know how to do this in SDL, and with a little research I realized it would require one of the extra SDL libraries. This could have been a bad decision, since I didn’t have any experience making a game with OpenGL, but I believe I learned a lot because of this decision.
This wraps up my thoughts so far. I might make another post after I get the results back. I’m hoping to get at least 2′s or 3′s, and maybe get some insight from comments.
This is going to be my first Ludum Dare. I’m pretty nervous.
Here are my choice for tools, libraries, etc. so far:
- Language: C++
- IDE: Visual Studio Express 2012
- Libraries: SDL
- Art: GIMP
- Platform: Windows
My goal for this competition is just to complete a game, and keep it simple. I want to work on scope control and focus. It will be a plus if I get any decent scores. I’m going to be spending most of my time until the start time making sure I can quickly bash out the basic code for setting up the windows, rendering, update, etc.
Here’s my game plan from the start time so far:
- Friday Night – Saturday Night
- Get basic program up and running [window, rendering, update, fps control, input].
- Create a basic game state control [nothing too complicated].
- Get something moving based of of input.
- Plan the game elements I want to implement.
- Break the game elements into there gameplay atoms, and check the scope of the game.
- Start implementing the high priority gameplay atoms, such as movement, attacking, GUI, etc.
- Get the core gameplay implemented.
- Start polishing the game, and looking for bugs.
- Add more/extend features if QA is finished early enough.
- Finish quality control at least 2-3 hours before the end time.
My current idea is to create a dungeon crawler style game, assuming it works with the theme. My priorities for the game are as follows:
- Core Gameplay
- Basic Art
- Extended Gamplay
- Polished Art
I will be hosting my game on my website here:
Not sure if it’s going to be something.
I did not prepare at all compared to the previous contests.
I’ll copy one of the following repositories as basecode:
Obviously I will throw away the existing games and only use the technology utils part of the code.
If I feel like it I might use SFML and C++ without any basecode except from my eternally unstable monster of a serialization library.
Set sail for fail!
Hello, this is my first Ludum Dare; I’m hoping to hack a little game in C with SDL. I’m going to either procedurally generate graphics or make some quick pixel arts in gimp.
Good luck to everyone
Oh, I cannot tag my post with ‘C’, each time I try the tag is magically transformed into ‘C++’ (actually I wonder if anybody else is going to use plain C )
Just finished submitting my little game for the compo.
With 10 hours still in the clock, I could’ve probably still polished it, but some rest & laxin sounds nice since gotta go to work tomorrow
The game contains 3 minigames all of which are different criminal activities to gather money for the end goal.
I had really hard time coming up with the 3rd game (which ended being the credit card fraud one), but it worked out OK.
Not 100% satisfied with the game, it kinda needs some bigger game to wrap the minigames or give a reason for the minigames.
Now it feels bit glued on :/
Anyways happy that I finished since 2 last LD’s have been major fails on my part and couldn’t even submit anything.
The games submit page is here: link
And here’s a screenie:
Thanks everybody for awesome event, can’t wait to get my hands on all the games developed this weekend!
I had some issues with the screen capture software and Im not entirely sure if I can make a time-lapse, but atleast I will write a post mortem…
I’m in for my 4th Ludum Dare 48. Couldn’t take part in the last one due to Guild Wars 2 launch being on the same weekend but now the stars have aligned properly again and I can join in.
Since my 1st LD (which is the only one I actually finished in) my preparations have been, kindly put, lacking, but this time I’ve cleared the schedule done some quick mock-ups and gotten in to the dev mood, hopefully I can finish something working.
My tool set will be the same as for every LD so far:
- C++ as the language
- GNU (GCC & GDB) as tool chain
- Eclipse as IDE
- GIMP for “art”
- TuxGuitar & SFXR for making ones speakers cry
I’ve tweaked ( == stripped and “streamlined” ) my tiny little frame work which I will use as my base-code, and as the rules demand here’s a link to it: Link.
For “added value” here’s a picture of my desk,which isn’t that fancy (sorry for the bad quality, my phone is ancient):
Lets get ready to rumble!
Keeping with the ludum dare tradition, time to do a little analysis on what went right and wrong during my development this time! Before I get started with that though, for one I’d like to apologize, normally i do this at the same time as my “100 games rated” review and best of list but unfortunately so far my review list, though not quite at 100, to be perfectly honest i just dont have that many games that really stand out yet, not enough to make a real list, so expect that some time in the next week or so as i revew more! Secondly, my timelapse is now up, accompanied by a nice track of classical music as always, so please enjoy this.
Get on with it!
Right! postmortem! The point of this post, for starts, here’s the link to the competition page itself
What went right:
- The theme: frankly i was dreading another dreary, artys/emo theme like “abandoned” winning again, those kinds of themes are simply NO FUN for us programmers and it’s horifficly hard to get a decent gameplay idea that’s not just bolting the theme onto the story/background. (I generally rate 1 on theme when people do that myself, as just tacking it on isn’t really “meeting” the theme)
- My engine: my game engine worked BEAUTIFULLY, a few minor fixes were needed after release but having a fully cross-platform engine set up and ready did wonders, so even though my idea made me write a full entity system and isometric renderer from scratch having windowing/input/state management/texture and memory management already taken care of made the task a lot easier
- My tools: the newest version of my sprite editor (available under the “tools” link at the right) worked like a charm, it made animating the modular sprites a breeze even for a crappy artist like me, this time around a lot of people have even said they LIKED my art style!
- Time: for the first time, I was actually able to be HOME on both days of ludum dare! So this was the first competition i technically actually had 48 hours to work in
What went wrong?
- Timing: This ludum dare took place on the first weekend college is in, in the middle of one of the hottest weekends of the year in southern california so of course we had rolling blackouts all day saturday, my UPS tried it’s best to keep my desktop running but i ended up with a few hours of downtime midday, losing a good 4-5 hours of development, I ended up having to cut features due to this
- Mouse control: The game was meant to be controlled entirely by mouse using pathfinding, unfortunately due to being down most of the day saturday i ended up having to cut pathfinding or I wouldn’t have had time to make actual levels and art to play. This made getting around corners somewhat tricky though thankfully still do-able (wasd also works as analternate, it was debug code though and not the way the game was meant to be controlled so it’s a little jumpy)
- No way to restart: Another feature i had to cut due to time was resetting the player after he dies to restart (the levels already reset, only the player needed to reset) so i was forced to put just a simple game over screen when you die
- Lame ending: Another cut feature, I was going to make a better image to show when you get to the end and to thank you for playing but again, due to playing catchup for saturday a lot of art had to be cut, so all you get now is a blurb of text for the temporary ending
- not all evolutions have artwork: my game actually tracks a LOT of statistics when you’re evoloving, over 2000 combinations are actually possible but only a tiny portion make visible changes due to my inexperience in isometric art that’s not geometric in nature and lack of time. There is no distinct skin/leg/ear/or fang graphics for the other features that evolve, only general body type, head type, and back type are actually shown
- needed a statistics readout window: I really needed a window to show your current statistics, the “overall” statistics modified by your current evolution status are attack/defense/speed/flight/poison/and vision, a lot of people had trouble in the caves because they did not kill enemies outside first that would buff their defense before starting to fight the much tougher bats and spiders inside
And to close out, here’s a short gameplay video of how it all turned out!
I added some bits and bobs to my entry version of the game. I’m done with it for now, but maybe in the distant future I’ll come back to it and make a much better version.
- added sound and music
- added pause, sound and music toggle
- changed level layouts to be more interesting
- changed speed of the game to generally to play faster
You can download it for Windows from here:
I’ll start with the part that’ll interest more people….now that I’ve rated 150 entries, here are my top 7! (in no particular order)
Bottlecolonies By tcstyle : A clever little strategy/puzzle game, the art direction is great, the sound both fitting and awesome, and the gameplay itself is solid and complete…a joy to play
Nanofactory By JustinMullin: A solid puzzle game about a nanobot assembling widgets, a little hard and cryptic at first but the puzzles are both simple and clever
ANT SURF HERO: THE SURFENING By Jigxor: A refreshing change from the massive number of dull uninspired platformers, aside from a few physics issues it’s really fun, and riding on top of the ant is amusing to say the least.
Housefly By dacap: You play as a fly on a mission: to get back outside! It’s a short but very immersive adventure game with solid controls, great visuals and sound…its hard to describe but the flight control feels “right” for a fly. Very fun.
Recluse By chambers: You play as a snail with a neckbeard in a “metroidvania” type game….but with a twist. Easy 5/5 for innovation personally, I don’t want to ruin it by the starting room is misleading and it quickly introduces one of the most unique gameplay mechanics i’ve ever seen. (even if it is mostly a gimmick…it fits the theme very well)
Hero of Rain By 31eee384: Extremely incomplete but what there is of it is very enjoyable, the story is both fitting and interesting, the gameplay is for the most part pretty good (though touchy at parts). All around a good feel to this game.
Fusion Time! By NeiloGD: A simple but solid arcade-type game where you fuse atoms in a sun. Theres not much too it but the explosions and strategy of timing the fusing makes it surprisingly fun to play.
Please try these out if you havent! Most still have a pretty low number of ratings and could use some more love! Also, <shameless plug> I really wouldn’t mind a few more tests on my entry as well, it’ll be linked below with the timelapse and postmortem</shameless plug>
First off, here’s the link, try it out yourself and let me know what you think!
I have to say…I had more fun with this theme than I would have thought, it was a lot easier to make a game that fit the theme but was still….you know…a GAME..than it was for “alone” (LD22)
What went right:
- My game Idea! I came up with it MUCH faster this time and IMHO it’s a much more fun game than my 22 entry
- My cross-compilers were already set up, saving me a lot of time testing the windows build
- Using my sprite editor (listed in the tools section to the right) I was able to do what little spriting I needed very quickly with decent results, it was MUCH easier than trying to do it in GIMP (great editor….not so good for animating)
- I planned fairly well what I would have time to do, I was complete (though had to cut a few units) and able to submit before the rush.
- Deciding early to render with opengl instead of plain SDL was a good call, I ended up abusing it quite a bit to scale/recolor graphics & text (SDL can do it but it’s so slow it would be near unplayable..). Having recently written a LOT of OpenGL code also it was pretty fresh in my mind and I was able to painlessly get it up and rendering.
What went…welll…not quite as right:
- Once again, LD fell on a weekend I had to be gone quite a bit, I wasn’t home on saturday till nearly 6pm, so I lost a good 18 hours of copetition time there (seriously, i had NOTHING planned that couldn’t be moved for like.. a month prior and a month after…only that one day)
- I had to take care of some stuff outside friday and was EXHAUSTED after the theme was announced, ended up losing even more time by going to bed early. (though i did finish a opengl renderer + sound system before then)
- I had a OpenGL/SDL/Angelscript based game engine I’ve been working on for quite some time that I was going to use so I could concentrate more on game code….unfortunately I had some last minute issues and there was no way I’d get a windows build of the engine working in time, so I had to change plans and just write a renderer/sound/input engine from scratch during the competition.
And of course, here is the timelapse video! (with soothing music added)
I managed to finish in time, adding menu music, a level, basic splash screens, multiple weapons, sound effects, and more animations.
I had to trim some features to make it, but everything turned out just fine. The final product is definitely worth it.
It’s still not up to my standards of originality, but it’s fun regardless. I would have liked to add secondary weapons, so we’ll see what happens to it in my spare time. I was able to build a reasonable level. It’s not that pretty and was annoying to make, so I only made one… I was really hoping to make a couple more, like desert and river levels. Also, “tiny world war” is a demonstration of my latest framework using the SDL_gpu library to drive 2D OpenGL accelerated graphics and using Box2D for collision physics.
Overall… Success! I’d like to put networking into a future version, which will be a good preliminary step toward doing the same to my current main project, Don’t Blow It! When that does happen, there may be a new release on my website.
See ya guys next time!
My first Ludum Dare was neither a success or a failure. I managed to “finish” the game enough to submit it in time, but it lacks so many of the things I drew up at the beginning of day one.
Things I learned:
- Plan how to use your time, just as you plan the game. I ended up cutting like crazy in the last two hours just to submit something that felt somewhat finished.
- Start with a pre-made engine. I spent hours in the beginning setting up my core classes that I could’ve really used at the end.
- Use pre-made art. I was more focussed on the code, but I still spent SOME time drawing that could’ve easily been replaced with some (far better) open license stuff.
- Decide before the theme is announced roughly what TYPE of game you want to make and think about it. I had planned out the whole game in the first hour, but I hadn’t really considered how long the code would take for the game from scratch. With more thought beforehand I could’ve planned out the code better and hit the ground running.
I’ve been toying around with LuaJIT lately. If you’re not familiar with LuaJIT, it’s a just-in-time compiler that not only makes your Lua code run super fast, but it also makes it possible to call native code from Lua without any native glue code at all. Pretty cool tech.
OpenGL requires some special handling though, so I made an OpenGL loader for it that handles all the dynamic loading, version differences and extensions and such for you (based on the official spec files), and added some extra code to make shaders easier to work with. I didn’t really plan on using this for LD, but hey, might as well post it now so that I have the option: ld23base.zip (zlib license)
That zip includes some example code using SDL + OpenGL to draw a spinning rectangle in pure Lua =). I doubt anyone else will use this, but you’re of course welcome to if you want =). Please let me know if you do! It’s a bit WIP-y still, but fully usable and should be pretty straightforward if you’re familiar with SDL and OpenGL. It probably requires LuaJIT 2.0 (beta) to run, and it’s only been tested on 64-bit Linux, but it should hopefully run on anything supported by LuaJIT as long as SDL and OpenGL libs are available.
I’m in for the 3rd time, and after the major fail of last LD (didn’t finish anything) I will take my time to prepare properly (less beer, more code should be a good start).
As usual I’ll likely be using C++ and SDL with my own code-base, and BlitzMax will be my fallback.
Rest of my toolset will be GIMP for art, SFXR for sound and TuxGuitar for music (if I have enough time to compose anything that is).
Good luck everyone, and lets have a blast!
I finished my game in time for the jam. http://www.ludumdare.com/compo/ludum-dare-22/?action=preview&uid=1044
If you thought that my last compo typing game was bad, this is a morse code game.
I’m an evil game designer… and loving it.
The only button that works is the spacebar.
Had such a blast last time, which was my first LD that I’ll participate again (as long as my schedule allows me to, which it should).
My last entry did surprisingly well, taken it was my first time, but due to hectic times at work (we just released new game this Wednesday) I haven’t been able to finish the post-compo version (but its still coming and is actually progressing somewhat steadily, even if slowly… very very slowly!).
I will likely use C++/SDL/OpenGL again, even though I kind of promised myself that I’d use some other language (with GC(!)), but really don’t want to move too far out of my comfort zone while having such limited time. BlitzMax will be my backup tool if I happen to go nerd-rage over silly memory management issues again.
For “art” its the usual GIMP, TuxGuitar and SFXR.
I will probably end up using the same glitchy “framework” I used last time which I wrote a while back Link but I’ll try to get something more usable ready by the next weekend.
Edit: Given my recent drooling over oldskool games I might be using my “retro framework” which i unfourtanetly was unable to finish before LD, but guess its a good way to “beta” test it . Source available in here
Still on the fence here, as I’ve been crunching for a few weeks, currently have a splitting headache, and could use a few days off instead. But…
OTOH, the Kobo II Tech Preview is now on-line, which means that I have a working Win32 executive, making deployment trivial. (There is no game code in kobo2.exe, only EEL with SDL, OpenGL, ChipSound, physics etc.) So, I should be able to pull this off without touching glorified assembly languages, or even running a native compiler. (Well, I might rebuild the executive with a different icon. That should be safe. I think…)
So, if I do it, here are my weapons of choice:
Language: EEL (Runs on the Kobo II executive.)
Editor: KDE Kate
Libraries: Kobo II/EELBox executive (SDL, OpenGL, ZeeSpace, ChipSound, …)
Graphics: GIMP, ZeeSpace
Well, I guess it’s decided then: I will try my hand at an LD48. I started a few hours ago, but neglected to formally announce it; so here it is:
I’ll be using:
Libraries: SDL (for window management/input/audio/etc…), and OpenGL.
Any textures will probably be made with The GIMP, if I find the time to make any.
Sound effects: sfxr (if I get around to that.)
Right now gLapse is churning away at turning almost 1500 jpgs into a movie.
So far I’ve got OpenGL rendering, and input being processed, as well as movement through my 3D world, and “moving” platforms. Next up is to master the physics of falling onto said platforms, additional game mechanics, and resources. But, it’s late and I should have been sleeping over an hour ago, so I’m calling it a night. Perhaps tomorrow I’ll post my time-lapse so far. Good night!