Full time indie. Lolwut?
About Hume (twitter: @justinbowes)
Ludum Dare 26
Ludum Dare 25
Ludum Dare 23
Ludum Dare 23 Warmup
Archive for the ‘LD #23’ Category
You guys! I had so much fun, you guys!
Sorry about the low res. Being able to read the code would only make you cry anyway.
I’m blown away.
So many people working hard. So many people finishing or with a clear idea of exactly what to avoid next time. 1100 finishers for LD48?! Some awesome artistic talent. Some really surreal code wizardry.
For a first time, I’m actually really pleased to have finished at all. And I’ve learned something important about making sure people can play through your whole game — hard is fine, but for the compo, people should be able to continue from where they lose, so that can see the whole game.
Thanks everybody for your help and your enthusiasm.
And you Jam people, hurry hard! Only 12 hours left. Good luck!
Ready to go. All we need is a theme.
WALL OF TEXT! Sorry about that.
I’m going with my own custom Java framework. I’m also sharing it with everybody here, because you’re awesome and because those are the rules. Mostly because you’re awesome.
- It targets Java 1.6.
- It uses the latest LWJGL release; 2.8.2 I think.
- It provides an Apache Ant-based build system where the default target builds and uploads your applet, including all required support files. Change the logo image
- It uses Proguard to slim down your JAR for faster loading times. It also builds your source code ZIP, including resources/ and the build system but excluding sensitive properties files and assets/.
- It will sign your JAR if you provide a keystore. If not, you can go unsigned with a tiny documented change to /build.xml.
- The auto-uploading system uses FTP. You give it a path, and it will create deploy all needed files and an index.html at that path. The page is nothing fancy; personally, I wrap it in an iframe. For the purposes of LD, the page contains a link to your automatically-generated source code archive.
- I promise it doesn’t steal your keystore password or FTP account (not this version anyway , but you should probably not trust me on that. Read and understand /build.xml. It’s not too complicated.
- It provides a basic wrapper around the Paulscode.com 3D sound system (in fact, so basic that you probably don’t want the wrapper), including ogg, wave and xm support.
- It includes Kenji Hiranabe’s awesome replacement for javax.vecmath, which I’ve repackaged to kenji.vecmath to avoid conflicts.
- Basic logging, of the Log.debug(“I can log’, any, number, of, values, “variety”);
The resource library is pretty basic but also pretty forgiving. Here’s the basic outline:
- Basic shader support with a parser that adds #include preprocessing
- PNG texture loading only, using Matthias Mann’s standalone PNGDecoder.jar
- Basic Wavefront OBJ support derived from Kev Glass’ Slick stuff (you rule, guy). No materials support. Due to a last minute change, it may handle quads now.
- Basic TrueTypeFont loading support, modified from a modified TrueTypeFont class that was originally from Slick, I’m sure.
- A resource loader that handles JARs and local filesystems correctly. Again with the Slick stuff because it’s good stuff. I just repackaged it to rip out his dependencies and insert my own.
- Resource queue based reclamation of OpenGL objects. When you’re done with a resource, you can just let it be garbage collected. The resource loaders have a reference queue that will automatically release textures, deallocate shaders, etc. when the object they’re attached to is garbage collected.
The resource library is the way it is to allow you to reload a resource (like a shader program) every frame if you want, for live debugging. This is important for me on OS X because I don’t have a good live GLSL shader editor. If you want to cache loaded resources, you’ll have to do that yourself.
So those are the features. After that, it’s pretty much just you and LWJGL. Mano-a-mano.
I figure it’s a longshot that anybody else will use it, but I’m not posting this just to obey the letter of the law; I’ve spent a little time cleaning this up before posting. I think it will save me time on menial tasks this weekend and let me be more creative. If somebody else decides to take the risk, that’s awesome and I’d love to hear how it went.
Good luck everybody. And if you’re curious about what kind of game you can build with this in slightly more than 48 hours, here’s a shameless plug for a much larger work in progress…in space.
Go forth and kick butt,
Well, as I expected, the warmup was pretty instructive. I spent too much time on my tools and libraries — I switched math libraries. Why?! — and not enough time on the game.
The theme I rolled for the warmup was “relentless,” so what I was aiming for was infinite mech combat. What I got was a lot less than that:
- Enemies that don’t move and don’t shoot back (well, the jets did fly at one point, but into the ground, so they needed better AI which was not done);
- Pickups that aren’t pick-up-able
- Infinite everything instead of attributes topped up by pickups
- Gun works okay
- Infinite terrain works fine
- Loot drops work
- I’m pretty happy with the camera
Missiles are so bad. Hilariously bad.
Check it out if you want; have a laugh. I’ll try to do better next weekend. No promises
Tenth anniversary. First LD. Why not?
I’m Hume. I’ve been working on a space game since before it was cool, and I’m currently at a little bit of a loss because lots of other high-profile projects are using a lot of good ideas I wanted to use.
I figured this would be the perfect way to clear my head, meet some cool people, and hone the under-appreciated art of cowboy coding.
Since this is my first time, I expect to crash and burn, but I’m really looking forward to seeing what everybody can create during brief interval of mass insanity.
- Language: Java. I like typing a lot.
- Framework: LWJGL. I’ll likely use a small resource library I cooked up, but I need to replace the borrowed PNG loader, so I’ll have to post the library later on.
- Graphics: Wings3d, Photoshop CS5 and maybe a little Fireworks for that authentic late ’90s feel.
- Music: Modplug Tracker, played back with JMonkeyEngine code. Yep. My sample library is probably tainted, so I’ll use SFXR/CFXR to make instruments. Quickly.
Of course, all of the above assumes that the theme merits some kind of graphical treatment. Or maybe I’ll do a text adventure.
>ENTER LUDUM DARE
You enter the Ludum Dare.
It is dark. You are likely to be eaten by a grue.
Good luck, everyone!