Posts Tagged ‘pixels’
I would like to present a project to the group. Although it’s not a previous entry or inspired by one (as I haven’t entered yet due to time constraints) I thought I would show it to everyone as it’s this community that inspired me to actually make the time to create something. It’s only the first devlog of the game, but I do have a video showing some basic gameplay mechanics. Please go to my site to have a look at the devlog (it’s a bit long to post it all here) and many thanks in advance for checking it out. I hope the weekend of the next LD will be free for me to join in. -oP
Hi darers and jammites!
LD27 was my third time to enter Ludum Dare, and my first time to enter the compo. In my insanity, I decided to make a platformer, and by some crazy streak of cosmic luck (and hard prioritization), I was able to finish it on time.
Please give it a go, rate and let me know what you think. I hope you will enjoy it.
What went well
- The theme: I originally hated it, but in the end, I think it worked out pretty well.
- Git: It’s a lifesaver. Don’t do any kind of development without source control!
- Preparation: I set up a Github repo during friday evening with a pre-configured IntelliJ project, empty game template and “branded” HTML page. This allowed me to dive straight into the project. Compare to LD26 where I spent an hour configuring IntelliJ to run a debug web server with PHP support and getting the level editor working.
- Pro Motion: Pro Motion is an amazing tool for creating pixel art and tile maps. I couldn’t have pulled off the graphics without it.
- Impact: ImpactJS just feels right to me as a game engine, and the bundled level editor and deployment tool is great.
- Feedback: My friend Irubataru and wonderful people on IRC gave me feedback and motivation to keep going. I couldn’t have done it without you. <3
- Sleep: I got my full eight hours between Saturday and Sunday.
- Water: I had one Starbucks coffee. Apart from that, I just drank water.
- Art: I had a crazy art sprint during the Sunday evening. I can’t believe how much the feel of the game changed. At some point, the characters also became cats.
What didn’t go well
- The theme: While I ultimately think it benefited the game, I spent a long time agonizing over what to do before getting started. I need to do some off-line work on brainstorming techniques.
- The controls: Ultimately, the jumping turned out a bit floaty, but I had already come too far with the level work to do anything about it.
- Timekeeping: All of my self-imposed deadlines slipped. I intended to finish levels by noon on Sunday; finished at six. Intended to have art done by six, finished art at midnight (CET), etc.
- Music and sound: I just didn’t have time. They had to go.
- The purrtraits: They don’t mesh too well with the rest of the art style, but I still think they make the game more lively.
- Community involvement: I was active on IRC throughout the event, but failed to do blog posts, live stream and post real-life pictures. Hopefully next time.
- OS juggling: I did my primary development on Ubuntu, but had to reboot to Windows for the art parts. The push-reboot-pull routine was cumbersome and highly unnecessary.
- My mouse: At the day of Ludum Dare, my mouse suddenly picked up a bad habit of registering two clicks unless I held the mouse button down. This was highly annoying.
- Food: I didn’t eat regularly. Next time I will be setting fixed eating times.
- Getting up: I got up pretty late (past noon) on both days. I could probably have done more if I’d gotten up when intended.
After spending the evening sleeping, it’s time to check out some of your work. Congratulations to everyone who finished. I’m looking forward to seeing how you tackled the theme.
Go on, click him. You know you want to:
Maybe this is what I should have been doing for the last LD… It took me two days to make and it’s based on the code of my LD11 entry (I didn’t even miss Felicity!)
Making “just a game” was kind of enlightening, since I didn’t have any real technical challenges to overcome and could just get on with content and putting in simple control logic to make it all come together. It’s pretty much an unthinkable project viewed in terms of what I’ve been doing the last few years, but since both development and result were enjoyable it’s a pretty clear hint that I should be doing it more often.
However, I ruin that immediately by having a natural impulse to make some kind of convenient editor/engine which would reduce the need to write copious amounts of replicated-but-slightly-modified code for instance when I want new enemy types etc. I have made these before, and each time I end up spending weeks or months working on it and then never really use it because I get increasingly unhappy with how it’s built. Still, I couldn’t possibly make a game of say 10x the complexity/scope of this one without using more structured code at the very least. And defining animations, scripted events, enemy patterns etc would quickly get tiresome and repetitive to do in code+Photoshop if you have more than one or two types to deal with. The grunt of this game (discounting image loading and input code) is a 1500-line C file, where almost all logic is directly in the main loop – wonderfully spontaneous way to work but of course breaks down with increased program size due to convoluted value/flow dependencies, loss of overview and the need to repeat code.
The fact that I did manage to create this in just two days though, and that I didn’t run into any major hickups along the way, probably says something about suitable code vs application complexity. If I had gone and made “a perfect design” with fancy classes and streamlined algorithms for everything, I would most likely not be done yet. More importantly, I probably wouldn’t even have started since such a small project doesn’t really justify that kind of work. Not without the prospect of a larger product coming out of it, and if there was one I would probably be too intimidated by the thought of that and keep trying to out-think myself in terms of what stuff I’d need to make that “great big thing” work eventually.
I think Derek Yu recently said something about coders being able to “doodle” games like artists sketch with pencil and paper, and that’s probably an important thing. A sketch is never meant to be used for anything substantial, it’s just playing around with the tools of your trade to make something spontaneous and fun. If it turns out nice then you could potentially do it again from scratch but “do it right” and expand on it if you wish – but you should definitely not be doing it the roundabout way to begin with since that would destroy the spontaneity and make it a laborious task instead of a free-minded sketch. When sketching you can only use whatever skills and processes that come natural to you, without considerable planning or conscious mental effort. Of course, with increased experience this set grows larger and some people could probably do advanced class hierarchies without thinking too much about it. All the more power to them.
Since I made this thing in such a short timespan, I have a pretty good overview of all the techniques I used and the bare-bones code needed to make them work. This could provide some extra value when designing larger game systems as I might be able to target my efforts more carefully, and not get overly general or implement pointless things. For trying out pure game ideas though, I still feel that it would be sensible for me to “sketch” in a more streamlined tool… a kind of game maker for sure, but definitely not Game Maker (for the simple reason that I’m incapable of using any tool that is close enough to what I could potentially build myself, which is a most unfortunate condition in terms of productivity… but creating a tool to fill some (possibly imagined) need of my own is just so very rewarding)
Some more project additions on my shiny new site. New design really makes adding stuff a lot more convenient compared to what I had before. Actually one of the updates is a project entry on that very system; SPCMS (the morbid can have fun looking through some source code on that one)
Mainly though, I finally got around to releasing Nitro Butts – an old game from 2005 that me and my brother made out of oldschool boredom. It’s actually quite a bit of fun and you can even do co-op if you have a gamepad and additional human around.
Considered doing something for the compo, but kept getting into other stuff (fun stuff, important stuff, interesting stuff) so time ended up running out. I decided to make a mockup screenshot instead, of something weird that could have been. Maybe. Anyway, behold:
Oh, I also happened to make an asteroids game during the compo… didn’t mean to do that, but technically I guess it could have been an entry. Not quite weird or unexpected perhaps, but at least it’s asteroids. Windows-only.
Now where’s the Inquisition game? Me want play!!!
Downloads (both have windows exe + source code and Linux makefile):
Uses SDL, SDL_mixer and SDL_image. I used kate for code/text, gimp for graphics, sfxr for sound effects (thanks DrPetter!), and pxtone to make music.
If the Linux version crashes when you run it on 32-bit x86, use this SDL library (contains a fix for a bug in SDL_SoftStretch)
Edit: Figured out the Windows sound latency issue! Seems the SDL.dll I used was buggy. Replacing it with one from libsdl.org fixes things.
This is it! Pretty darn complete. Download here: shortfuse.zip (1.1mb)
I tried making music, and that was a bad idea, so I didn’t put it in. Love those SFXr sounds, though!
Note: If it runs way too slow, or just if you prefer, you can use the command line argument “opengl” to run it in openGL instead of directX.
Lots of visual progress, a little bit of real progress. All new pixely graphics all around, and a new HUD at the bottom. The game automatically zooms the display in to cover the portion of the map that actually has stuff in it, so instead of scrolling, it just gives you a wider view on larger levels. That’s good because you need ot know the whole layout to make your plans. This zoom feature is currently very questionable, I seem to have to manually tweak exactly where it goes, depending on the level layout, so I’m missing something there, but it mainly worksish.
Currently, you can’t win or lose, but if you could be killed, boy would it be hard. Thinking ahead is a must, and it all goes quite fast. Each level has a percentage required to complete it, and you also need to stay alive, and the main gist is to get the best score you can, provided you blow up enough and avoid dying.