About torokokill (twitter: @torokokill)
Number three if you include the Ugh post I made last night.
Work is going well on my interactive collection of pixels and art. I’m glad I’m sticking this through. I may not have a fun, challenging, or uninspired game but it will be a game!
Speaking of a game, I’ve got the gameplay and the first ten levels done. With a little over four hours left, I’m going to take an hour to hour and half break to walk the dog, grab a really unhealthy partially caffeinated sugar drink and come back swinging to get this ready for release.
I think it’s about time for a status update to round off the evening.
Today did not go as well as I had hoped. I spent most of the day distracted, frustrated or busy dealing with non-LD things. My development time just isn’t going well; I’ve made very little progress in the last twelve hours. After debating about throwing in the towel, I’ve decided against it. I will get this done, one way or another. I don’t expect anything spectacular or fun, but it will be minimal and it will be a game. Time to sleep to prepare for the obnoxious crunch tomorrow.
I almost put my head through a wall yesterday trying to brainstorm an idea for a game that fits the theme and sounded interesting as a final product. I woke up this morning and spent another hour or so remaining frustrated. This whole ordeal is a good reminder that I’m currently a much better programmer than I am a designer. However, I’ve finally stumbled upon an idea that will be easy to implement, fun, and minimal. Horray!
wussed out decided that my time would be better spent on ActionScript as opposed to my work-in-progress C++ engine. However, I plan to return next LD will a fully featured C++ 3D engine, and being better well versed with the content tools.
Believe it or not, I hammered out the gameplay mechanics for my first ever puzzle game, then did a Google search for light bending game. Imagine my surprise when I discovered a game quite similar to what I had written down in my notepad, Auditorium. I hope that I can make my game unique enough that I won’t bomb the originality litmus test.
What I’ve got so far: A working prototype. Next milestone includes allowing minor modifications of the gates that modify the direction of the flow, a rough art pass, and the ability to load in levels.
Depending on how I feel, I may bring my twitch stream up later.
A little late, as I couldn’t decide between playing it safe with another Actionscript game or taking a rather huge risk and trying a C++/DirectX game. Working is going well on my base C++ code, I’m going to take the risk and try for a complete C++ entry. In the event that the theme is better suited for a 2D game, I’ll go with Actionscript instead.
- Code: C++, Microsoft Visual Studio 2012
- Graphics: DirectX 11, Sculptris, Pixexix, Paint.Net
- Sound: fmod, Audacity, bfxr
- Code: Actionscript 3, FlashDevelop
- Base Code: Flashpunk
- Graphics: Paint.Net
- Sound: bfxr, Audacity
I entered into this compo very nearly at the last minute. I lucked out with five days remaining before the event and was able to get the time off of work. As I missed LD#22 due to life, #23 due to work, and dropped out of #24 due to a six hour power outage on Saturday, I was extremely excited to be able to participate in this one.
My goal of this jam was simple: Improve upon my LD#21 entry. For LD#21, I started with zero base code, used Flash CS4 as an IDE, did not have any sprite or sound tools set up or had any knowledge on how to use them prior to the jam. I was not well prepared, but still managed to finish. My entry was very unpolished and was not really play tested. Thus, the goal of my LD#25 entry was create a more polished and fine tuned game that I considered better than my first.
Unfortunately, I do not believe I fully succeeded in my goal. Time-wise, I was ahead of where my previous entry was and some parts of the game were better polished. However, I still ended up performing the 3 hour-remaining crunch to knock out all my art and sound assets. This game uses about two to three times the amount of art and sound over my LD#21 entry. As a result, my art assets were half-done, sound is half-done and one major bug and game balance issues were present in my submission.
This Ludum Dare was a great learning experience, even better than my previous one. I now know exactly what skills I need to improve on in between jams and what I need to focus more on while jamming.
What went right
- My pipeline- Much improved over LD#21. I was able to produce more assets at a much quicker rate.
- Adaptation- Midway through the compo, I discovered that my path finding had a non-trivial bug on top of generating paths too slowly. I was faced with the choice: Stop all development to fix the bug and optimize the code, or redesign the game so I would never encounter the bug or have to generate more than one path. I chose the latter. I feel that if I had tried to debug and optimize, I may not have finished the compo on time.
- Fixed some things from my first jam- Trying to not be too hard on myself, I did end up fixing some of the problems and issues I encountered in my first jam.
What went wrong
- Scope- Once again, scope popped up to bite me in the butt. This time it wasn’t gameplay related but it was simply that I shouldn’t have attempted a rts style game. Although, I now have some code I can clean up and port to the next Ludum Dare for another rts game.
- Dealing with distractions- On Saturday, I had some work distractions pop up. I wasn’t able to concentrate fully for a few hours and lost some of my most productive time.
- I’m awful at making sprites- Put simply, I am incredibly bad at making quality sprites in a decent amount of time. This is something I will need to practice between now and the next Ludum Dare if I hope to produce a better quality game. I sort of know what I want things to look like in a general sense. For the life of me, I cannot translate that onto a sprite.
With four hours remaining, the base game is complete. I’m heading into my art and sound polish phase.
I’ve spent a lot of time working on an interface handler for Flashpunk, probably more than I should have. It’s quite robust and looks real purdy, but it isn’t strictly game related development. I suppose I now have some nice interface code I can port to my other Flashpunk projects now.
As my day is winding down, it is time for the update post:
Keeping It Simple (Stupid) has paid dividends. Rather than rewrite a major part of my buggy and slow pathfinding, I’ve decided to rework the game so the buggy conditions won’t be met and the path only needs to be generated one time, multiple times. I don’t know what I was thinking when I thought that I could hammer out a decent Dungeon Keeper game in 48 hours. I might have been able to do it without needing to generate decent art and sounds. Not to mention work created some significant distractions for a few hours that I was not anticipating.
My goal for this Ludum Dare has been set: I want to have a tighter and more polished game than my last completed LD#21 entry. It won’t go winning any awards, but I’ll certainly feel better about presenting it to other people.
Obligatory work-in-progress screenshot:
Now, it ain’t pretty to look at, but the game is more or less there(minus a few features I’ve currently triaged out just in case).
Finally I need to learn how to draw pixel art. I feel as if everyone is putting me to shame!
Just a small status update. I’ve got the basics of my game almost complete. Optimization of my pathfinding implementation is a serious concern at this point. I keep running into stupid bugs, combined with a distracting work-related communication issue are sapping the life out of me. I think it may be time to take an hour long break to recharge and take another stab at this.
The plan is to take it fairly easy this weekend. Sticking as close as I can to the Keep It Simple, Stupid principle, I plan to either make a Tower Defense game, or a simple Dungeon Keeper based game. Fortunately, all the leg work I’ve done tonight will allow me to either or at this point. I’ll sleep on it and decide what I really want to do tomorrow morning.
I have the time off of work. I have a backup laptop with all my dev tools installed in case I lose power for six hours again. I am all prepped. NOTHING WILL STOP ME FROM FINISHING THIS LD! I hope.
What I will be using:
- Actionscript 3
- Some base code I’ve collected throughout some of my Actionscript games, including an implementation of A*
After a small amount of work getting player movement, side scrolling camera and all that fun jazz set up I hit the sack.
I’m feeling particularly uninspired by this jam’s theme. My big idea was to copy the basic gameplay from another game and add in my own twist, as it worked well on a basic level with my previous Ludum Dare entries. Unfortunately, I seem to be having problems coming up with a significant twist for this one.
However, I won’t let that deter me. At the bare minimum, I want to be able to submit something that I’m proud of (on some level).
I’m including an obligatory screenshot of my progress, which really doesn’t look like much at this point.
Unlike the last compo, I’ve got the time off work this time! I am ready to rock.
- Language: Actionscript 3 — FlashDevelop IDE
- Engine: FlashPunk
- Level Editor: ogmo
- Audio: bfxr and sfxr
- Music: musagi and possibly Audiotracker-c
- Art: Paint.Net
I will be bringing in a library of my own, somewhat functional, somewhat optimized code pulled from previous compos. Among other things, it includes an A* implementation.
I also plan on doing a time lapse, but I make no promises.
Not my first choice of themes, but I can work with it.
I’m going to attempt a very simple, but extensible game due to the fact that I’m have other obligations that I need to obligate this weekend. Time to start prototyping!
I’m all set for entry into Ludum Dare #22.
This time around I’m planning on using base code, which should hopefully remove some of the more wasteful time spent coding up not-really-game-related stuff. I’ll be using FlashPunk as a starting point. Nothing fancy, but good time saving code nonetheless. I’m also switching my IDE from Flash CS4 to FlashDevelop. This should also net me some more time, as I get to spend less time struggling with a poor IDE. I’ll also be attempting a timelapse this go around. I’m already excited to see how it will turn out.
I should note that this is all pending a new job I may or may not have in a few days. I’m not sure if I’ll have the time off to be able to do Ludum Dare. We shall see!
- Language: Flash/Actionscript
- Existing Code: FlashPunk
- Sound: musagi, inudge, bfxr, sfxr
- Graphics: Paint.NET, Adobe Flash CS4
I’ve started work on the October Challenge. I will be using my game from LD21 entitled Viral. My goal will be to release my Flash game on portal sites and earn my $1 through ad revenue.
Unfortunately, I’ve got a massive amount of work to do to have the game ready for a proper release. More than I originally had thought I had needed to do.
A quick todo list off the top of my head:
- Refactor huge chunks of the original code, replace hacks with real code, fix the huge bugs in my LD21 release
- Replace the poor art in the LD21 version with polished art
- Compose a song that is longer than 2 bars
- Add more gameplay in terms of miniature objectives to do while avoiding the monsters chasing you.
- Add in a winning condition for a level
- Add more levels
- Polish the game!
- Tie portal specific API to increase re-playability and allow easy access to persistent stats.
The art will be a bit of a challenge; I’m not the greatest artist in the world. I have dabbled in pixel art in the past, but not to the level that I’ll be working on. The music will take a significantly non-trivial amount of time as well.
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….