About torokokill (twitter: @torokokill)
Archive for the ‘LD #21’ Category
This weekend I shall start polishing my compo entry, Viral. I’ve been closely watching the comments/suggestions on my entry page and my post-mortem and add in most of the suggested items from that list.
- Moving from Flash CS4 to FlashDevelop IDE – As suggested in my post-mortem
- Massive code clean – Way under commented, over copy-pasted, too much last-minute-hacking-please-let-me-make-the-deadline
- Bug fixes from my known bugs list on the entry page
- Art pass – Make everything look less programmer-art and more spiffy
- Sound pass – The music works, but a two bar loop is just silly
- A win condition – Not entirely sure what this will end up being quite yet
- More levels – Possibly a random level generator
- One more ability for the player
- Balance pass – Make the abilities that don’t work well, work better
I think that is it. I estimate this will take more than a weekend to complete, unless I want to put myself under the strain of another compo again so soon.
Viral – Entry
Viral represents my first entry into the Ludum Dare. I’m quite pleased to have actually finished it. I’m not entirely pleased with the results, but I will bring that up in the What Went Wrong section of my post mortem. The objective of Viral is that the player is a Virus and has to run away from the big scary anti-virus programs. To assist with the virus’ flight, the player has the ability to lay two traps which hinder the pursuing anti-virus programs.
I chose to complete the Ludum Dare in AS3, using Adobe Flash CS4 as my IDE. I ran into some rather annoying issues during development, including the debugger no longer attaching itself to my game when I tried to debug. Unfortunately, I didn’t really have the time to figure out why. This particularly was painful, as many bugs that could have been caught much more quickly relied on the ‘ole debugging standard of dumping trace messages to the screen.
I have plans to clean up and further develop the game. I feel as if it has a strong base and a good potential to be fun with (much) more polish.
What Went Right
Surprisingly enough, within 30 minutes of the theme being announced in IRC, I had already determined what the game play was generally going to be. I was able to get a significant amount of code done Friday evening before going to bed. This was instrumental to being finished on time.
This sounds funny, but I started from scratch. No base code or libraries were used. This meant I had a lot of work to do. A lot. I was able to get it all done. I ended up writing just a silly amount of code on Saturday. I had generally high productivity through-out the entire 48 hour period. This was the sole reason as to why I was able to actually finish on time.
What Went Wrong
Maybe I’m just spoiled by Visual Assist X and Eclipse. I just feel that Adobe Flash CS4 is just not up to the task of heavy duty Actionscript development. I’ll be trying out other Flash IDEs for any future projects in Actionscript.
Before the compo, I decided that I would feature freeze on Sunday morning and spend all day Sunday polishing. Of course when Sunday rolled around and I was behind in my envisioned complete feature set, I decided to just add one more feature and then one more, and then one more. My third anti-virus was implemented about 30 minutes before the end of the compo. In fact, I had almost no time to play test. I had other people do my play testing while I was busy implementing features, composing a 4 second loop of music, etc. Next time compo, I will definitely enforce a hard feature cutoff, which allow me to polish and play test more.
Wasting time on things that should have not happened in the first place
I wasted around a total of 3-4 hours on things that should have not happened in the first place. I spent a significant amount of time trying to debug a chunk of code. I eventually just got fed up re-coded the whole chunk. Surprise surprise, it worked nearly perfectly. Additionally, I lost a significant amount of time on a character encoding issue. Flash was treating my text file as Unicode locally when I would parse it. However, my FTP program uploaded the text file in ASCII. As a result, Flash would treat the file after upload as ASCII, which resulted in my game not loading properly at all.
It’s time to turn this puppy into a game. I’ve cut out my third trap due to time constraints. I’m even considering dropping my third monster as well. Right now I’m in polish phase, which means a front end, sound, music, and art. Maybe if I have time I’ll bring back the third monster.
I’ve completed my first round of art. If you can call it that.
Saturday was both a disaster and an extremely productive day. On the positive side, I was able to hammer out lot and lots of code and complete everything on my todo list for the day.
On the negative side, I wasted many hours sorting out issues to things that shouldn’t have needed to be sorted out. Included in the problems was one in which my ftp program was uploading a text file as ASCII when it was being read locally as Unicode. This resulted in the game working fine locally, but as soon as I or anyone else tried it online, the thing stopped working almost entirely.
I also had a code issue in which I wasted nearly two hours trying to sort out. In the end, I decided to recode the offending block of code. Thirty minutes later, I had a perfectly working second version.
A little frustrating that the 2-4 hours I wasted may have made next next 11 hours much much easier, but such is the nature of the Ludum Dare, I suppose. At this point, I’m treating my first Ludum Dare like an Ironman. I’m not here to win, I just want to cross the finish line. Regardless of what happens today, I will cross the finish line.
On to what I have so far:
Expanded the level a bit more to allow for testing. My first trap has been implemented – As noted by the /0 block. Monsters are functional and working.
I feel I Should expand upon my theme idea a bit. The basic premise for the game is that the player is a Virus, escaping the Anti-viruses of the system. Due to lack of time, the end-goal will be to survive the longest before being overrun by the anti-viruses. To aid in the escape, the player will have access to 3 traps that they can lay. Essentially the traps all have an effect on the anti-viruses chasing you. My current goal is to have 3 different anti-viruses with different behavior for the final release.
With the 11 hour deadline looming, I feel as if I’ve already wasted too much time writing this blog post. Sheesh, back to coding.
After encountering a bunch of time consuming bugs that never should have been there in the first place, my path finding is more or less done. It is a little buggy, but it should get the job done. Time to start working on the bits that make the game and not a bunch of debug boxes on the screen
I haven’t decided on a name, or a theme, or an art style, or, or, or….
For about 10 seconds after the theme was announced, all I could think of was “What in the heck is this theme; what could I possibly do?” After that the ideas started flowing.
I’m still refining the idea itself, but the basic idea for my game is that the player will need to continually(perpetually) escape monsters in a top-down 2d maze-like dungeon. The player will have traps available to use to hinder the monster’s progress from catching up with the player. Finally, to add in a layer of suspense, I’m toying with the idea of adding in a fog-of-war element. The player will have to listen/look for clues to determine how close the monsters are(possibly saving me from having to compose music huzzah). I imagine a lot of this will be subject to change as I start to iterate upon the idea.
Unfortunately, before I am able to even start working on the idea, I have to start working on the base code. That currently means working on A* path-finding for the monsters through the maze and the general skeleton for the game; including code to support multiple monster types with different AI.
I’m excited to see how it all turns out. I shouldn’t be staying up too much longer tonight. Thank goodness for living in the Pacific time zone.
After much humming and hawing, I’ve decided that I will participate in my first Ludum Dare! I had intentions of participating in the last one, but I ended up chickening out and sleeping early on Friday. This time I’m caught up on sleep and ready to go.
- Either C++/OpenGL or Flash CS4 (depending on the theme)
- musagi or Fruityloops (if I have time for music)
Edit: If I go the C++/OpenGL route, I’ll be using some small base code I’ve written previously to create/manage windows and spawn a console for debugging purposes.
I’m a little afraid that my programmer-tier graphics ability will hinder my entry; I’m excited to find out for certain.