Archive for the ‘LD #23’ Category
(cross-posted from my blog here)
(you can play it right here)
When I last submitted an Ludum Dare game, I gave myself an MS Paint trophy. I submitted another game, one I daresay is a bit better than the last, so here’s my reward.
that’s some CGI right there in case you can’t tell.
This LD was a blast. I spent the weekend hacking with four colleagues from Braintree and we had ourselves a hootenanny.
The game is more or less as I had imagined, albeit with a few missing bells and whistles. The last big gameplay feature where villagers build huts is still in-progress, and it could really use a GUI to tell you what’s going on. Still, remarkably complete, especially when compared to how very far short I fell last time.
What Worked Well
- Knowing Unity – this time around, I knew the tools somewhat before going in. I have yet to finish a game in Unity, but I have banged out a couple of rough prototypes prior to this. In particular, the Catlike Coding tutorials were very helpful.
- Comradery – While I remain a fan of the solo format, leaving home to gather with like-minded hackers was extremely helpful. Just as in my daily work, my colleagues inspire me to be better than I am.
- One Fun Thing – I took Tom Francis’ advice and made a game around one fun mechanic and prototyped that mechanic immediately. I spent a lot of time making sure the fire-breathing looked and felt just so, but I think that was time extremely well spent. It’s still fun to fly around and set things on fire, even if you don’t understand what the game is really about.
What Didn’t Go Well
- 3D Modeling – I realized I needed better tooling to make the ork fortresses, which is where I started to spin my wheels. Google Sketchup is a straightforward enough tool, but I really found it hard to navigate. I have a license to Blender somewhere – I need to dig it up and rediscover that tool.
- Visuals – These aren’t my strong suit. I cheated by going for a very basic look (one kind commenter compared it to Darwinia), but even then I spent more time on them than I ought to have. I don’t know what the solution is here though.
Other Miscellaneous Thoughts
I really had fun with this. One of my 2014 New Year’s Resolutions is to try and make a game every quarter. I have a few things I’d like to experiment with – in particular, I want to see how hard it is to make an online multiplayer game. I am going to finish up Our Man Dragon first though.
As always, thanks to the organizers for making this happen. LD is a very special event for me.
I had a marvelously fun time at my first Ludum Dare. To say I fell short of my goal is the kind of breathtaking understatement not seen since the Bush era. But I WILL BE DAMNED IF THAT WILL KEEP ME FROM SUBMITTING THIS AND CALLING MYSELF A WINNER!
Rather than a blow-by-blow recounting of the events of the past 48 hours (see the end for that), I’m just going to have some general thoughts. Anyone with questions can hit me up in the usual places.
TOP MISTAKES I DIDN’T INTEND TO MAKE (as there were many I intentionally made like learning my tools during the competition)
- Not coming up with an abstraction for game states early on. This basically prevented me from adding any kind of explanatory text / game over screen towards the end of the project.
- Waiting too long for fun. I often had the joy of “Oh, I made this happen!” during development, but I didn’t actually have fun playing the game until nearly the end.
- Using no one particular abstraction for time. Some portions of the game are tuned to the system clock, some to physics cycles, and a couple to FPS. As such, I basically can’t guarantee the game will play the same on any other computer or do things like slow the game down for testing (it plays pretty damn fast)
TOP SUCCESSES I DIDN’T INTEND TO HAVE
- Using minimalist abstract art for placeholders. Sure the game looks like an angry gun battle between Pez dispensers, but I find that rather charming and don’t regret it one bit.
- Incorporating a physics engine. At first I thought I could hack together the physics I needed and was just using Chipmunk for fun, but I discovered unexpected joys from this. (I LOVE the way enemies get toppled by bullets)
Other miscellaneous ideas.
GAME DEVELOPMENT IN RUBY IS REALLY, REALLY FUN
Ruby allows me to go incredibly fast (by my standards anyway, shut up thanks) and change the hell out of my code with very few impediments. The fact that it is mostly geared to OO lends itself extremely well to the problem domain. Definitely far more pleasurable than my old games from 6-7 years ago written in Java and C++.
I WANT TO WRITE SOME DOCS FOR INTEGRATING GOSU AND CHIPMUNK
I really enjoyed working with Gosu and Chipmunk in Ruby and want to contribute back to both projects. I lost a ton of time to bugs in integrating the two and trying to understand the concepts behind them (lost a great deal of time stumbling towards CP::Shape#rehash_static_shapes alone). While there’s great reference documentation for both projects and incredibly responsive maintainers, there’s precious little in the way of quick-start / conceptual overview.
I’M MORE INTERESTED IN ALTERNATIVE FRAMEWORKS
While I really like Gosu and Chipmunk, it feels as if they’re a bit of a dead-end for the kinds of projects I’m interested in. Gosu in particular is an awkward fit for pixel-perfect drawing and the resulting blur in my project still bugs me. Not to mention that packaging my project would have been a pain. In particular, I want to give EaselJS and Play4N a look, as well as perhaps just using my own pixel drawing with something like LWJGL.
Thanks to the organizers for making this happen, and I look forward to the next time!
(read my full recollections here)
More like my first four hours, as I really enjoy sleep. =)
As you may know, I’ve been participating in this weekend’s Ludum Dare competition. I say competition, but I should really say “quote” “competition” (quote quote quote) as I am really only competing against my inability to make games and personal inertia. It’s largely inspire by the “Punk’s Not Dead” entries at Rock Paper Shotgun.
In other words, this:
sparker I don’t anticipate getting anywhere or building anything great. At most I plan on being able to look back on my work, sigh, and say “Well, that happened.”
smassa Lofty goal
smassa You can also treat it more as a kickstart to your game
sparker I can 100% guarantee completely abandoning whatever I build
sparker Almost on principle
sparker Also, I pledge to provide no more than 60-90 seconds of content that a jury of peers would consider “fun”
So, a recap on the first twelve hours then, yeah?
This year’s theme is “Tiny World.” I struggled a bit coming up with an idea I liked. For creativity, I always follow the rule “Write down 5 things immediately and then throw them away.” This turned out to be a struggle and I lost the first 90 minutes to this. However, I’ve landed on something I like, a silly platformer where you set out to destroy the world with increasingly destructive weapons because “this world is too small for the two of us. Sorry, everyone else, but you have to go.”
I’m violating the first rule of Game Jams by learning my tools on the fly, but so far it’s going well-ish. Gosu has been refreshingly easy to pick up and run with. I have some viewport and scaling issues I need to resolve today, but I have bullish confidence.Chipmunk has been a bit more challenging only because documentation on the Ruby bindings is largely lacking, incomplete, or out-of-date. Brian Marick’s quote “An example would be handy right about now” keeps running through my head.
I think my goal post-LD is to write up a tutorial on building a platformer in Ruby with Chipmunk. I’ll have to land on a coding style and structure for this that I’m pleased with. Currently that’s not the case.
Anyway, that’s it for now. Goals for the next four hours are as follows:
- Shooting a basic gun
- Killing and being killed
Code at github.com/citizenparker/the-two-of-us, and screenshot below!
I’m in for LD23! It’s my first time participating, so we’ll see how it goes. Looking forward to it!
I’ll be using Ruby and Gosu unless I get crazy and decide to do something multiplayer / web-based, in which case it will be Clojure & ClojureScript.
Good luck everyone!