(Sorry for the extremely long post here, it just ended up that way. I’m not sure the timeline was necessary, but I don’t see why not. :D)
Hello everybody! Well. Unfortunately, I didn’t manage to make my game for the competition, and what with school and all, there is absolutely no way I can complete the game for the jam either. My progress just wasn’t good enough to manage that.. I started the dare with a color palette, specifically DawnBringers 32 Color Palette (http://www.pixeljoint.com/forum/forum_posts.asp?TID=16247). Here are some screenshots of the game with slightly different things changed in the code, so you get different pictures (except that last one, which is a “victory screen”):
Now, I will write out what went well and what went badly, and then tell you, the reader, everything that I remember that happened during that weekend of madness.
- My sprites looks bloody incredible, if I may say so myself. I am shockingly proud of how well they all, mostly, came out. Particularly that door and sword. I suppose the palette kinda helped, but they DO look good. There’s even a cheap animation going where the sprites sorta bounce up and down.
- A turn based RPG was a good idea, I still think, even if it was basically impossible to do in two days.
- I think the basic underlying structure of the program was rather nice. It was ordered into the following classes: Map (stores all the rooms), Room (which has a set of up to 4 monsters in it, which you fight), a specialized Art class (inspired directly by Notch’s code and stores all BufferedImages) and a specialized InputHandler class (also inspired directly by Notch’s code from a while back, and stores all key detection, and mouse detection).
- For all the craziness, and terrible programming that it led to, I did have fun. It was a stressful, confusing fun, but it was some good fun.
- Priorities! Number ONE. My priority at the start was make something that worked. And for a while, I stuck to that. But once I had my brainwave to make a turn based RPG, I scrapped all that and for some reason, I prioritized a ton of set up of something that was far too big to actually be made. In hindsight, of course, that was a terrible, terrible, idea.
- I didn’t actually have an idea until about 9 o’clock on Saturday. Which is really bad. And once I had an idea, I had to scrap what little I did have, which could have led to a game which I might have actually been able to make.
- My entire concept from the ground up was flawed, in that it is essentially impossible for someone of my skill level to actually make to a decent standard in two days.
- I have never in my life made a turn based RPG, and the entire process required to make one was (and still is) entirely lost to me.
- I began to panic. The panic made my code erratic and illogically laid out, to the point where I can no longer understand most of the content code, and actually can’t finish the game. To make it, I’d need to restart.
- I wasted far, far too much time making graphics. This is a constant issue I have with game development. Every personal game project I have is affected by this wierd obsession with making a good looking game, especially if it has pixels. Most didn’t even make it into the “game”.
The Ugly – Day One
10:30 – 13:00 GMT
I woke up and learnt of the theme, “You Only Get One” at about 10:30 on Saturday, and immediately set to work thinking about something to actually make around this idea. For the most part, at the start all I could think of was a crappy rouge-lite where you played some guy who had to do something (I’m not sure what anymore), but only had one safe opportunity to do so, at which stage you would inevitably die. In hindsight, it was probably more doable than what I ended up trying to make, though.
13:00 – 18:00 GMT
I started to program at this stage, and very quickly set up a system where a Map class was able to read a graphic, and create a map. The map was made up of instances of a Tile class, and worked. You could then move around a square, and the camera would follow the coordinate of the player, so the player was always centered, except near the edges of the map. Also worked very nicely. Then I had a system set up where I could select a graphic in program and this would be rendered at the player. At some stage, I then had this be able to rotate to face the mouse, which was pretty nice. Hadn’t had something like that work before. I also had some rudimentary set up all done for general entities, and capabilities in the program for it to make the map up of a variety of tiles. Had dinner after that.
19:00 – 20:00 GMT
During dinner, I had an epiphany. I had a “great” idea that I could “totally do” in a day. I could make a turn-based RPG, with 4 characters against a randomized assortment of monsters! But each character and each monster can only have 1 item equipped! Yes! This is a great idea! And I immediately got to… Making graphics for this hypothetical game idea. I got quite a good deal of things made in this time, in fact, here’s a picture of what I had done at this end of this time period:
That is essentially, a set of weapons, some armor, a character base, some armor to go on top, a few animations and some random monsters. On the side, in orange, are a number of things I made relatively quickly, and ended up scrapping altogether, as I decided that it was too much hassle to make a number of graphics for an overworld of sorts, and ended up focusing specifically on this combat system of 1 item only.
20:00 – 23:30 GMT
For 3 hours, I went through the code I had and scrapped everything and anything that was useless. Including that map, those tiles, the player sprite system and all semblance of a game. Again, a terrible idea in hindsight. This took about an hour, as everything was reasonably well integrated. Then I started to program the underlying structure of the combat system, creating the basic structure of statistics, mocking comments that enemies and characters would make, and creating item files. This wasn’t done in a particular rush, but by the end of this time period, I had a reasonably good structure on which I could build a combat system onto, once I had items and statistics complete. No stress at this point. Then, I went to bed, as you do.
The Uglier – Day Two
10:30 – 12:00 GMT
I woke up, and started work almost immediately. Over night, I realized that I needed more graphics to make the game playable at all, so I made some more items, and created some 8-bit font, which probably wouldn’t fit in too well, but was pretty good for what I needed. Readable, and understandable. No real problems there, and I got that done in reasonably short time. I then started working on the combat system. This ended up being incredibly confusingly programmed and, now, I have no idea how I even got by with that mess of code, so I can’t really talk about it. It was a mess though, but it was usable, and actually worked. By the time I finished, I was able to create some rectangles that I would eventually call a floor and wall. Then, I ate lunch and cleaned my room, as one does.
14:15 – 17:00 GMT
For a few hours, I sort of flailed about, trying to set up a set of underlying programs. Particularly getting the underlying, statistics and text, working. Then I put some work into making the game into a game. By 3 o’clock, I had some sort of thing running, with the players set to appear on the screen, but without the menu you see in the screenshots, and some monsters on the other side. By 4 o’clock, I had their respective items also rendering, so you could actually see their item. To end, I made a door and a chest, and the chest was set to always render (it would’ve explained where all the items came from) and the door could be clicked and any player could get a stat upgrade. At this stage, I started to panic. There was only about 4 hours left, and I had absolutely nothing worthwhile. I then ate dinner. Here’s the tilesheet at this point, and where it ended up at the end of the day:
18:00 – 23:20 GMT
Now my code really got bad. So absolutely terrible. I rushed in two hours to get a game, of sorts, with a terrible sort of button detection and some ability to click on party members, and use them to “attack” enemies. You had an attack button, and three magic buttons, which I would later cut down to one single magic button to cut time. I also created more statistics for use in the game, and some sort of crappy algorithm to calculate damage. In my rush,damage ended up being calculated where the attackers weapons attack stat would be added to a randomized value between 0 and whatever the characters attack value, with the the defense and item defense of the victim being taken away. Again, hindsight tells me that this wasn’t the BEST set up in the world, what with the whole illogical poor structure, but it kind of crappily worked, I suppose. I did everything in my power to bring this to the point where it was even slightly a game. I barely managed to get the combat system done, when I realized, I hadn’t made something that even slightly answered the theme, because I had forgotten the most essential part of my concept. The entire inventory and weapons system.
23:20 – 23:35 GMT
Now, I was in a very clear and very disappointing situation. There was no way I could complete the game, and there was absolutely nothing I could do. So, I made a post just after that moment, and went to bed.
I thank you, fellow stranger, for reading this long-winded, non-spellchecked, convoluted and slightly repetitive essay going into every single thing that I can remember. I intend to improve a ton of that for next time (which I will be attending). A TL;DR is probably expected here, but, uh, I’m not sure how to sum this up. Oh, I know.
TL;DR – I hope everybody had fun during LD28 and I wish the best of luck to everybody!