Ludum Dare 26
Ludum Dare 25
Ludum Dare 24
Ludum Dare 23
Archive for the ‘LD #23’ Category
Thanks for All the Fish!
First off, thank you everyone for actually checking out my game. It’s interesting to note that the average number of ratings per entry was ~35. You guys graced me with 55 Ratings, which is awesome. So much love for a game I only spent 13.5 hours on.
A little talk about the ratings I got:
First, I think the “coolness” system is a really great way to get people to hunker down and try games. By rating lots of games, I was able to get a lot of feedback in return, which was amazing.
I’m honestly not surprised my overall score was better than any element in the game. A lot of it was rushed and just “finished” but I’m really glad people understood the potential of the game, even if it was so hard it was practically unplayable.
My “minecraft” approach to the isometric graphics (a billion of just about anything looks awesome) and extra forethought on the GUI system seems to have rewarded me greatly.
I’m surprised this one was as high as it was. This was pretty much a click-fest sim-city RTS. THe mix-genre was enough apparently.
Again, I am surprised this was so high. In my opinion, this game was practically unplayable.
This was probably killed by the lack of story and music. No surprise here.
I was grasping for straws when it came to the theme, so no surprise here either.
No sound == Crap score. No brainer here, but it does make me wonder. If there is no sound does one rate it N/A or 1? Does N/A count against you as 0, or does it just drop from the overall average? What I find even more odd, is that I got 1.1 as an average. ಠ_ಠ Which one of you guys rated the sound >1 when there wasn’t any sound?
Considering the game was so hard to beat to unlock the kitten achievement, I’m not really surprised at how horrible this came out. Regardless, I’m not sure if the game would have really done better in this column with just the achievement.
I hosted everything on mediafire, which gave me some nice statistics:
A quick pie chart of downloads:
The linux downloads isn’t surprising, as the downloads for them came a few days later after the compo was over, but what is surprising is the number of .love downloaded. Perhaps it’s due to the fact that I shared it on the love2d.org forums, but considering everything was nicely packaged, I’m not entirely sure about that.
Anyway, thanks folks! Much love!
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.
Session 1 [ Fri Apr 20 20:56:25 -> Sat Apr 21 02:22:08 ] 5.5 hours
Two hours in:
Figure 1. iso-mine-craft shows it’s sexy side.
At this point I felt pretty proud of myself. I’m two hours in, and have something that #ludiumdare and #love actually like the look of. If there’s anything I learned from minecraft, is that a lot of low res crap makes one big hig-res-low-res thing that looks good. Of course, I’m totally bombing the framerate here.
Five hours in:
Figure 2. I’m starting to realize that this was a bad idea
For the next three hours, I spend the night trying to figure out how the hell to a) make the performance smooth (e.g. only draw the tiles on screen, don’t just test if they’re on the screen) and the math to make the mouse work. I’m getting at best 46 fps (where it should be closer to 1000 in this case). I’m getting discouraged, and decide to go to bed, as I have a friend from California coming in, and a band to try out for that night. I spend the night chilling, playing guitar and smoking shisha with my girlfriend. Obviously I’m not taking this too seriously, but I did plan on using Sunday to finish the LD and make a “game” out of what I have.
Session 2 [ Sun Apr 22 ~13:30:00 -> Sun Apr 22 20:24:06 ] 7 hours
Eight hours in (5.5 left):
Figure 3. Now we’re getting somewhere!
I came back and slept in until 1:30ish on sunday, and started at it again. I decided to use all the shortcut tricks I knew to get the framerate back up, and used some seriously dirty hacks to get the mouse to work (had to get the location during the draw phase, and then hide the mouse to avoid suspicion!). I’m not proud of them, but it beats spending hours trying to figure out the math myself (sorry internet, you weren’t very helpful). At this point I started bashing away at the game, and things moved very quickly. I had four building types, I integrated the health bar, and you couldn’t place buildings on tiles that were too blue or white. Later, because this wasn’t dynamic enough, I wasn’t able to include the cool maps and such, like lava planet and the moon.
Nine hours in (4.5 left):
Hard coding only four items really came back and bit me in the ass, but I knew what I wanted for game play, so it was not worth the effort making the system dynamic. At this point, I have added the territory flag, but I still haven’t gotten the AI in yet.
Twelve hours in (1.5 left):
Now the AI is in, and working at full stupid. Using a bit of math, and tweaking it until the computer made what I wanted it to make, life was born. The computer is faster than crap, and doesn’t really think much, but it’s there, it’s pretty, and it’s hard to beat. I like that. At this point I start integrating the lovemenu library that I have.
Let’s not forget the kitten challenge! I spend the remainder of the time testing the game, and fixing small bugs.
Thirteen hours in (0.5 left):
The game is done, and it’s time to start packaging for distribution. I take pretty screenshots, and shove them into my repo. I run my build scripts and upload the final product up to mediafire. I fill out the information on ludumdare and leave to have burritos at Moe’s. I was unimpressed by my framerate and graphics, sad that I had to include the mouse hack, but still rather proud of my product.
Total: 13.5 hours
I have a bunch of love libs on my github: https://github.com/josefnpat/
The most interesting would be:
And a few games which may have some unique code:
And I also have a bunch of personal libraries that I have been developing in my free time, are not to be consumed by the general public:
- Build scripts for Windows and OS X (linux folk will have to do with *.love)
- Gource script for visualizations
- Small Development Libraries