Posts Tagged ‘ld23’
Well, my Ludum Dare submission contains the whole message I wanted to send, so I’m happy with it. But it lacks a lot of gameplay and you play only for one minute before reaching the end, that’s obviously to short ! So here’s a release with many levels (in fact, infinite levels) and more challenges. I also added some features as a red flash when you’re hurt, some graphics changes so you can see best your player in the middle of the “cells crowd” and some tiny stuffs around.
Have a look and try it ! (it’s also accessible from the same link as the official jam release, just click on the “post compo release” on the bottom)
For LD23, I decided to go full-retro, and make a z80-based game that runs on Pac-Man arcade hardware. I’m not going to lie to you, I didn’t even come close to completing it, and I’m totally fine with that. You can see the “finished” product here. From there you can get the romset (mspacmab – bootleg spaceman, for reasons I won’t get into), the source, and the link to the google code repository that has my Z80 kernel which I used for it. Fact of the matter is, I wanted to do a Z80/Arcade rom game for LD, I did it, and I’m happy that I did. I think I may do this for future LDs as well, learning from each (failure) along the way.
I knew I wouldn’t be able to finish something in time for either the regular compo or the jam, but I wanted to see how much I could get done in time, without going out of my way to devote all 48 hours on it.
I was coming home from a work trip, so if you watch the time-lapse off of the link above, you will see that I’m actually working on it in an airport (in Atlanta, Georgia) as well as on an airplane, along with on the couch at home and at an office desk. I squeezed in as much time as possible.
The main thing that prevented me from getting (a little) further is that I was planning to spend evenings on the work trip i was on, in re-aquainting myself with the tools (assembler, z80 kernel, etc) that I haven’t really looked at in about 5 years. I also wanted to add support in my “Llemonide” z80 IDE/emulator, for building and better debugging. Instead, for various reasons, I was unable to have any downtime at all on the work trip to devote to this project. I was essentially going in to LD completely green on the subject. I spent a lot of time creating the project, remembering how my z80 kernel works, basics like that which should have been old-hat.
So what did I learn? Spend A LOT of time getting familiar with your tools. Do practice jams. Try to minimize the amount of boilerplate stuff you’ll be recreating to save time. You need to spend your time making your game, not fumbling with your tools.
Better luck and progress next time!
As a sidenote, all of the source for mine is available at the page for Tiny World ’82, along with links to the tools/kernel, and the romset. I have included instructions to running it within the Google Chrome browser, in case you don’t have MAME handy. Check it out and review it if you like. I’m just hoping for an non-zero score on this one.
I’m a student at the University of Oklahoma and we set up a couple of teams to compete in the Jam this time around.
Originally, we were going to do it in Unity (which the other team managed to do), but difficulty with doing a 2D platformer in a 3D engine caused us to switch to the more familiar XNA. Sometime on Saturday night we all lost our minds. And gained a hilarious voiceover and story to go along with our game.
- Shifting the main character from a mad scientist to an insane professor worked really well
- Our art asset guy went crazy first and started recording dialogue for our main character late Saturday night
- The other coder decided that making the game as hard as possible was a good idea
- We got a fourth person to write our game description (who did an awesome job)
- Spaghetti code, ho!
- Collision is still very buggy
- We lost a day to Unity before we switched to XNA
Things we didn’t get to do
- There were going to be enemies and Professor Searcher was going to have a ray gun (which used his energy)
- Win condition isn’t very good, we were going to have him actually escape from the sewers rather than just collect beakers
- SCIENCE 201!: INTRODUCTION TO DIFFERENTIAL ACID BATHS AND JUMP KICKS!
We had a lot of fun doing this… but now we have to go back to the land of tests and class projects.
See ya next time, Ludum Dare.
We’re proud of it and couldn’t wait to show this off to you guys! Please spread around, rate and comment
I will now attempt the daring feat of sharing what this experience felt for me, so we can all benefit from it as game designers/developers/artists.
It was exhausting and super fun. I particularly enjoyed composing the music, and how we came up with an interesting gameplay mechanic (teleportation).
Coming at it as equals and negotiating ideas did a world of good for our game. Our main inspiration was the Touhou series of games for Fedor (I’d only seen gameplay) and Ikaruga for me (finished the game several times).
I started doing graphics on Saturday morning. I worked on a mockup photoshop file full groups of layers, to which I returned throughout development. For example, when I needed a new enemy, I would fire up the mockup, draw the enemy next to all the other sprites and then paste it into another photoshop file and animate it separately. I would then export as individual .PNGs (Photoshop’s “Render Animation to Video” was very helpful).
Dropbox of course saved our lives, and we communicated through skype’s chat. In fact we haven’t even seen each others’ faces.
I used Photoshop CS5 for all animation and graphics, and Fruity Loops with free soundfonts to write and perform the music.
Fedor used Unity and I don’t know what else ^-^
Post mortem: We gave it our absolute best. A coding set-back made the scrolling clouds unusable, so Fedor had to wing it at the last moment, which left the background a little bleh in my opinion ( I had no time to make changes to the cloud graphics and scrolling). But even so, when at the last minute he managed to fix the clouds so we at least had some, it was very exciting. The level is very very well thought-out and very fun to play. It took Fedor, what, 6 hours? to come up with the patterns that complement the teleport mechanic. The 3 hours before deadline were, for me, mostly about helping Fedor out with any requests, like changing sprites or giving him a list with all the visual elements he had yet to implement. I made a second enemy ship graphic in 15 minutes, since Fedor made enemies with two different numbers of hit points, and I felt we needed to be able to tell them apart. This was done 2 or 3 hours before deadline, when Fedor was struggling with the stupid clouds. He added the second enemy graphic in the game 1 hour before deadline.
I also wanted finite lives implemented (9 of them, as many as the tails of the Kumiho fox-spirit), shown only everytime you are resurrected from a death, in order to keep the interface as clean as Fedor wanted it. Scoring wouldn’t have hurt either. But we didn’t have time to even negotiate it, because the ideas came too late. Even if they had come early, we wouldn’t have had time. I stayed up Sunday 12am to Tuesday 6am, and it’s the longest I’ve ever been awake.
So, overall, I couldn’t have wished for anything better, I had the fastest and best coder at my disposal, we had a crazy schedule and working hours, and implemented almost everything we set out to implement, and still had time for a little polish.
What went right:
- Git helped me keep everything in order, and even supplied me with a gource! In a Jam, as opposed to compo, git would have been perfectly, but in retrospect, it’s a little superfluous for a compo. I would still do it, as it is really only a few extra minutes of my time, and gives me something to roll back on if need be.
- Being well rested makes a world of difference. I got three or four more times more done on Sunday when I was well rested than I did on Saturday in only double the time.
- Know your tech – using love (love2d.org) was pure awesome, as I knew the API and I knew Lua.
- Bring your own tech – I prepared for this LD by asking myself, what are libraries that one would normall find in games? These are the ones I used from the ones I brought with.
- Build scripts for all OS’s (This was a blessing. When I was done, all I had to do was run two scripts, and I had the *.love, *.exe and *.app ready to rock and roll). Sure, mine only work on linux, but they output to everything!
- Love Menu: There is nothing more wasteful than re-writing a god damn menu system. I wrote this one a long while back, and have used it multiple times. It looks good, and is fully scriptable. Build one giant view object, and let the library do the rest.
- Bar lib – Again, another common element, this code ended up being a one-liner in my main.lua, but it saved so much time and looked so much better than just a random solid green bar.
- Timelapse yourself. It stops you from screwing around much
- Minimal scope is the best scope. Remember, you can always add more later, but you can’t release a game if it isn’t a game.
- Make sure the art you make can be made quickly, and with high quality – I have recently discovered that I can actually push a lot of awesome pixel art out, as long as I only use two bit graphics (4 colors) So I open up GIMP
- Don’t waste time generating! Making some crap from scratch when you don’t need to is probably a big waste of time! ALl you need is a few cases to make something seem random, why does it actually have to be random? I used this fractal world generator five times, http://donjon.bin.sh/world/ and used that as the map system.
- Forget performance, call it a feature, not a requirement. You won’t believe the shortcuts I took to make this happen, but in the end it goes back to knowing your tech. I wouldn’t have had any of these issues if I had know how to do isometric tiles correctly. Reducing the framerate should have come later.
- Stop bitching, and get working! Seriously, I saw so many people wasting time on IRC bitching about the theme. The themes LD gives are so vauge, you can do just about any thing you want. Oh, folks, stop naming your game “Tiny World” please.
What went wrong:
- Know your tech. Working with isometrics was a god damn horror, and caused 95% of my framerate and mouse issues. Use concepts you are used to. This is not a time to learn new tech, this is a time to produce a game you know how to make. In retrospect, I should have made this game in straight 2d tiles.
- Plan more! I should have planned for another hour or so. I found myself making the game up as I went along, and when I started noticing I was making assets and code that were out of scope, and then later removing them, I had to sit down with my notes again, and decide what the hell I was actually going to do
- Make your machine ready for you. Have your stuff built, make sure it’s up to date, and stable. I had about fifteen minutes to rebuild love 0.8.0 from tag on ubuntu 10.04 (and keep in mind, it doesn’t build if you are running 10.04, so you have to do some hackery)
- Kittens don’t let you code much. They seem to think everything in your monitor is real, and your keyboard is for sitting on.
What this showed me is to participate even if you don’t have time! I did this entire game in 13.5 hours.
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)
Hello everyone. This was a fantastic Ludum Dare for me and I wanted to share a postmortem for my game, NanoBot Adventures. All in all, this was a pretty good game jam for me.
Here’s a link to my game: http://www.ludumdare.com/compo/ludum-dare-23/?action=rate&uid=4263
Using Legos to build my NanoBot sprites worked out really well. My sons love playing with Legos so while I worked on the game, they built an army of little Lego robots. I picked my favorites, setup an impromptu white backdrop and used my cellphone camera to take pictures of them. I wanted the graphics in the Viewport to have a bit of a grainy, pixelated look to them so I took the original images and in Paint.Net I cut out the white backdrop, saved the file as an extremely low-quality JPG, reopened the file and cut out the white background so I had a transparency again and resaved it as a PNG. This process worked out so well that I will be using it again in the future.
Another good thing was my HTML5 canvas framework. I wrote it a few Ludum Dares ago for the Escape theme and it has served me well. I use JQuery for the UI pieces and it has a very basic Update/Draw game loop. I am planning on sharing it on Github in the near future once I get the basics for music/SFX put in as well. Follow me on Twitter (@mattperrin) or follow the #LD48 Twitter tag and I’ll put it up there.
Another good thing was that my local community of game dev friends (www.clevelandgamedevs.com) really came together for this event. We had a LD kickoff event at a local start-up incubator and collaborated for a few hours Friday night together before splitting off. To keep in contact with each other and show progress, we setup an IRC channel that was used all weekend long. Seeing my peers working helped keep me committed and interested too.
I still haven’t gotten sound or music working in a LD game. I tried with this one but I couldn’t quite get it to work properly. I used Caustic on my Android phone to create a chiptune-esque drum and bass song. When I connected my phone’s headphone jack to my laptop’s microphone jack, I either got an ear-splitting loud feedback tone or a barely audible recording of the song. Caustic has a song export feature that I used to make an OGG file but when I tried to get it looping in my game it wouldn’t play. After all of those headaches, I decided to skip trying to do sound all together and focus on some UI polish.
I never got around to adding power-ups or boss fights. I had wanted the exploration of the “tiny world” to be a bit more dynamic. Visiting the Capacitor Forests, Resistor Swamps or LED Ruins was supposed to trigger dynamic events like boss battles, upgrades or NPCs with storyline clues. I ran out of time though and only the basic quest of “Find the broken CPU Chip” were completed.
The Draw calls I use to make the minimap are extremely inefficient. Instead of having a global frame counter and incrementing across the pixel color arrays for each TerrainGameObject I instead have individual frame counters in each TerrainGameObject that are incremented during the Update call. For the glowing circuit traces, I used the X coordinate of the tile to offset the pixel color arrays so that’s how I get the shifting glow effect. Kind of cool to look at, horribly executed by me. The reason I went this way was because as part of the boss battles I was going to have the minimap change to become more “alive” as you beat them. LEDs would start glowing again, resistors/capacitors would generate more circuit traces.
I should have added arrow key buttons to the UI instead of relying on only the keyboard arrow keys. I could have then added Touch Events to those buttons allowing for the game to be played on mobile/tablet devices as well.
Issues with sound and my family took up way more time than I intended. I used Chronolapse to make a timelapse of my work and the amount of time lost dealing with squabbling kids or just “being a Dad” are clearly shown. I’ll be posting this video sometime this week (I’ll share on Twitter) . I think I maybe only got to spend 20 hours or so on the game as a whole.
I’m Eldaryze, the programmer and sound designer of the getRandomName() Jam Team.
Here is my 72h Timelapse of the game making.
Check our entry here !
If I had hair I’d be ripping it out right now. I was so happy when I finished my game, felt like a huge weight was off my shoulders. Those hours upon hour of coding finally produced something fruitful. I breathed a sigh of relief…
And then it happened. People found bugs in my game. I was disheartend, that euphoric high I had after completing my game came crashing down… I franticly searched my code to see why these bugs existed. Then I saw my mistakes… the simple rookie mistakes I had made… man I wanted to kick myself in the ass, how could I have made those stupid rookie mistakes!
So I have some advice for you all, two words. BETA TEST, BETA TEST, BETA TEST!
Test everything! I cannot stress this enough…
Seems I need to update the “What I’ll do better next time” with this tidbit of information.
– I will test everything in my game to make sure everything works the way I intended it to
So, I did not complete anything for this Ludum Dare. Maybe next time.
What Went Wrong
- Could not come up with a good idea for the theme
- Sick with a persistent headache all weekend
- Debugging quirks in Unity took longer than expected
What Went Right
- I liked what I made
- The character controls feel good
- The animation is kind of nice
- I think it could have been kind of fun if I had a few more days