About Gaeel (twitter: @DrJarajski)
Entries
Ludum Dare 26 | Ludum Dare 25 | Ludum Dare 24 | Ludum Dare 23 |
Ludum Dare 22 | Ludum Dare 21 |
Gaeel's Trophies
Archive for the ‘LD #21’ Category
Post-Mortem (And by god, there almost was mortem)
Seriously, my top tips? Nothing about sleep, organising your time or what to eat. I’m not going to talk about thinking out your idea before going into it headlong. I have two tips that will help IMMENSELY :
- KNOW your software, now is not the time to try out a new IDE or use a language you don’t know very well, and make sure you can and HAVE compiled stuff with this software that WORKS. Trying to understand the quirks of VS2010 isn’t what you want to be spending time on.
- KISS : Keep It Simple Stupid. And I don’t just mean the concept. In general in OOP it’s a good idea to make classes for each concept, but here you need speed. Just make a BIG mainloop with ALL your code in it, and make classes for the few things that REALLY need them. Remember, simple doesn’t mean elegant. Simple means an O(n²) algorithm is better than an O(n) if it means you get the job DONE.
To be honest, the game I put out has the gameplay I originally imagined when I started pondering the theme. So in that respect, I succeeded in building the idea that I wanted. But I didn’t respect the two previous points, so my game is SEVERELY lacking in aesthetics, and features.
I usually code in Linux, with gedit or Eclipse, in C++, and I’ve done some SFML stuff. And since I was making my game in SFML/C++ I didn’t think coding on a Windows machine with VS2010 would hurt. Turns out it does. First, SFML hasn’t been compiled for VS2010 yet, so you have to build it from source WITH VS2010. But that means knowing how VS2010 works IN THE FIRST PLACE. I could have done it, given the time to consult a few forums and manuals, but time wasn’t available.
Another mistake I made was that I made classes for everything, the was a state manager, an assets manager, a game loop manager, a class for monsters, a class for turrets and a class for the world, a class for tiles that compose the world, and I think that’s it.
Now given more time, this is a great idea : OOP allows for amazing flexibilty and extensibility if you structure your code nicely. My original design would have allowed easy creation of new monster types, turret types and tiles. It would allow quick and easy mainenance of code, and since only the asset manager had access to SFML, it would be a cakewalk to port to a different graphics engine.
While all these features are nice, it quickly devolved into spaghetti code as I tried to beat the clock with an ever more complex code, sleep deprivation and panic started to settle in by the next day and I no longer understood my own code, and even switching to my trusty linux netbook that I’ve been using to learn coding for the past year didn’t help. My code was a beautifully designed mess.
I eventually bailed and posted an “I’m Out” blog, sat down and gave up.
But then I came to, realised that I COULD do this, and with less than 20 hours to spare, sat down and did it right.
The new code is a messily designed beauty, there’s a huge, unwieldy main loop with monster spawning, monster update calling, turret spawning turret update calling, points counting, credits counting, event handling all bundled up in a big mess. There is a class for monsters and a class for the turrets, and they contail their own rendering code. I do everything WHERE I NEED IT.
But the end result was that I made a game in 14 hours whereas I totally failed to do anything in the 20 or so before.
I’m going to learn VS2010 now, it seems to me like an interesting IDE, and there’s some stuff I’d like to use, and I’d like to develop for WIndows, but I’m going to do it now that I’m out of a time-limited mess. Expect my next LD to have a lot more content, and work better on Windows (My Windows build still fails on some machines, and I have no idea why, if you have SFML1.6 for Windows, please help me compile a version that will work for everyone : http://www.ludumdare.com/compo/ludum-dare-21/?action=preview&uid=1561 )
Can someone compile my game for Windows please?
Disregard this post, it’s not just a compile issue, I have no idea what’s wrong.
Let me know if the game doesn’t run on your machine…
I compiled it on one Windows machine, but it’s not running on two other machines, if someone knows how compile a C++/SFML project to run on all Windows machines I’d be really grateful!
A MacOSX Compile would be nice too if anyone can do that?
Grab the source here :
http://www.ludumdare.com/compo/ludum-dare-21/?action=preview&uid=1561
I did it! My first LD! My first game!
About 14 hours ago, I gave up, sat down on the couch and literally cried.
I was hopeless, here I am, with dreams of someday making something cool, a game, some music software, anything, and suddenly realising that I couldn’t do Ludum Dare. I put my head in my hands, and tears started rolling down my cheek. First-World problem, I know, but I felt like I would never be able to overcome problems that lie in my way.
But I saw other people in the IRC chatting away about their stuff, and I though to myself that I CAN’T let this one down, I said I was in, I WAS IN, whether I liked it or not.
I sat down, and started over, my previous attempt was bloated, stupid and messy, the new one is messy and dirty, but it works and it’s my baby.
It’s an inverted tower-defense type game. Aliens spawn in the middle and try to escape (they are VERY stupid and seek to infect humanity with their stupidity, luckily this means they have trouble finding their way, and grunt incoherently instead), the player can place turrets to shoot them down.
Turrets have 100 ammo and dissapear when they run out.
Turrets cost 100 credits to place.
Aliens take 20 hits to die, and give 20 credits when they die.
This means placing turrets needs to be a careful choice, because you need the turret to actually do some shooting to stay level.
The game ends if an Alien escapes.
Every alien spawned except for the first bunch awards the player with a point, keeping the aliens from escaping for as long as possible is how you score.
You will evetually lose as the mob spawn rate overcomes the turret’s ability to kill then.
It’s only been tested on 2 machines, my CrunchBang Debian 64bit netbook, and a Windows7 machine that I don’t really know the specs of (it’s an i7, so it’s probably 64bit)
Please, test it and tell me what you think.
http://dl.dropbox.com/u/6549099/OMFGA.zip
Almost done (on Linux), any Windows users with VS2008 and SFML out there?
I actually have a machine running VS2008 and SFML, but for some reason the executable file just pumps gibberish in the console and doesn’t display a game.
So if someone with more VS2008/SFML experience out there is willing to give it a shot and compile it for Windows for me, I will be eternally grateful.
Let me know if you can help at sugardood@gmail.com or as a comment to this post. I’m just adding the sfx at the mo, so it’s not ready quite yet…
Neeeaaaaarrrff…
OMFG Aliens! is trudging along, I’m getting yet more segfault for no apparent reason, I’m seriously doubting my C++ skills.
If I can get mobs to spawn (add them to the dynamic array that is crashing) then I’ll be rolling. I can use a static array and have an arbitrary number of mobs in game, maybe I’ll just cap the number of mobs at 20 and spawn more when they die.
I also hope I won’t have the same issue with turret, but I might try a similar workaround if I do.
I WILL put out a game, I WILL NOT give up twice…
Back in, “OMFG Aliens!” is back underway
Started over from scratch a few hours ago, and I have this :
Why oh why oh why (are you segfaulting)? (I’m Out)
OK, so my world terrain is a class with an array of enums for the different tiles.
The enum has 5 possible values, of which I’m only using hardWall and nothing.
The array is 1200 tiles, 40*30.
But for some FRUSTRATING reason, my collision detection segfaults when I try to look at ANY tile, (I tested by cheating and making it look at a tile I KNEW was there). Since the array isn’t dynamic it only get’s deleted in the destructor, and the display code works fine, reading from the array and drawing the appropriate tiles to the screen.
I tried adding an sf::Image that is black for empty and white for wall, and it 40*30 pixels, but it STILL segfaults for no apparent reason, even when I force it to read pixels I KNOW are there.
Without this I don’t have a game, and I’m having other retarded issues too.
Watch me rant about how annoying this all is last night :
http://www.youtube.com/watch?v=UdG1LmRT0H4
Kicking down walls, and hitting yet more.
OK, so it turns out it wasn’t working because I was using the VS2008 version of SFML, so I looked for the 2010 version, but there isn’t one, so I followed a tute to compile it for 2010, not it works, escept it doesn’t
When I call the LoadFromFile() method for loading images, I get spam spam spam gibberish in the console WHY OH WHY OH WHY?
Awake now
OK, I waited for the theme to drop before going to bed, and fell asleep to the sweet tunes of an over excited cat trying to fight my face. (Which is one of the more violently cute experiences.).
Now I’m awake, and I think I have a neat idea, so I’m going to breakfast, go get a return on my keyboard (I bought a keyboard for LD, but I really don’t like the layout, which is a problem since I bought because I don’t like the laptop keyboard layout), and get cracking.
My (lack of) progress along with some sweet music will be streamed at www.livestream.com/drjarajski . It’s up, but I won’t be there yet.
OK, so no framework
Yeah, I spent a lot of time trying to make a framework, but that failed, so I will be doing this ad hoc, with only my IDE and SFML.
Can’t wait to see this start, my first LD, hope I’ll find something cool
Writing some boilerplate code
In the interest of allowing myself more time to work on actual game code, I’m writing some non-gameplay code.
What I’m writing :
A state manager that keeps track of what’s going on.
A menu to select between play, quit and settings.
Resolution and keymap settings.
All the rest will be done when LD starts…
I’m joining in
Hi guys, I’m an anglo-frenchie computer sciences student and electronic musician kinda.
It’s been a while I’ve wanted to Ludum Dare and now’s my chance, I hope.
I’ve never made a game, although I have scrapped quite a few projects, hopefully the pressure of finishing on time will help.
I’m currently staying at my sister and her boyfriend’s place for a few days, so I’ll be using her old (not that old) laptop for Windows work.
Good luck to all, and have fun!
Update :
Tools of the trade :
Borrowed DELL Studio 17 laptop running Windows 7 (Thank you ChibiNeko, my sister) and Visual Studio 2010 (thank you university freebies)
ASUS eeePC 1015 PEM Seashell running Crunchbang Debian Linux and gedit/gcc
Will be using the following software on both machines :
Renoise and GIMP for content creation
The SFML graphics library
I’m used to developing on Linux more than Windows, but since most gamers are hoping for a Windows playable, I’ll go with that, I’ll try and make it cross-platform though.
I’ll be streaming from http://www.livestream.com/drjarajski and tweeting from http://twitter.com/#!/DrJarajski
I hope I’ll be able to keep up the pace and put out something cool, I’ll spend tomorrow making sure my SFML knowledge is up to scratch, and I’ll have to check the rules about preparing some boilerplate game engine stuff. My screenname is Gaeel and DrJarajski depending on the weather.


