A few different topics to cover this week.
On Friday, I am heading off to the US for two weeks (visiting family and friends, eating delicious burgers and Mexican food, resting). I won’t be working as actively on the game, but I will still get some work done when I can. And I’ll update when appropriate. There might be a slight lull in development diaries.
This past Wednesday I met with Remote Control Productions (a games consulting company) in Munich. I wanted to examine the production services offered. This company offers standard design, production and business consulting for video games, but is also involved quite a bit in developing the game developer community in Munich. I don’t know if anything will come of it yet, but I will meet with them again when I return. At the very least, it’s good to meet other like-minded local developers.
On Saturday, I attended GameCamp Munich, a small self-organized game developer conference hosted at the Microsoft offices North of the city. I was joined by two friends Rory, and Tony, who, although they had no interest in game development, kept me company nonetheless and helped translate some of the terser German discussions we encountered.
I’m working hard to get a new company and game website ready so I can introduce the art work for the game (and the new artist of course). My hope is to roll out an early version this week, and keep improving on it afterwards. Fustian Future as a website and blog has run its course. I’ll provide more information as we move along.
Work Done Last Week
I made several significant usability improvements in the editor. The biggest one was the undo functionality. This has been lingering on my mind for a while. I spent all week mentally working out the best way to implement it. By the time I sat down to implement it, I had it mostly solved, and got it working quite quickly. Most of the operations are still not undoable, but all the important ones (moving, rotating and scaling objects). I’ll slowly add support for the other operations as I move forward.
I completed the new game mechanic I mentioned last week. It’s not tuned correctly yet, but it presents interesting new possibilities. Lots of balancing ahead.
I’m still continuing work on the design. This week, it culminated with me being up last night at 3 am with too many ideas coursing through my head. I had to get out of bed and write out a stream of consciousness so I could get back to sleep. We are getting very close. I am one or two key changes away. Although I feel like I’ve been saying that for a while.
Obviously, I also spent some time dealing with a few administrative issues.
Finally, on the art side, some of the new test level art work is already looking really good. On Friday night, I showed the test level to a few friends, and they were all impressed at how much of a visual difference the new art work makes.
Work Planned This Week
I will continue to focus on gameplay and level design, trying out some different ideas throughout the week.
I will continue to improve the editor, both on some long planned features, and by reacting to requests from the artist.
I will also work on the new company and game website. If things progress nicely, there should be some more posts this week.
I’m late in the week again with this update, a trend I will rectify beginning Monday. There’s lots of work to do so I will keep this one short.
Having another person other than me now directly involved with the project is forcing me to change how I work, how I manage my time and how I communicate. It also adds an extra sense of responsibility and pressure, but it is a very interesting challenge. I have to ensure that I both manage expectations correctly, and continue to push the project ahead at a steady pace.
One thing’s for sure: I have to be pro-active in how I address these issues. It’s now more important than ever that the game direction, my goals and the planning are clear. There is a palpable excitement in the project right now, and I will do my best to maintain such energy.
Work Done Last Week
A lot of my time was spent working closely with the artist as he learned to use the editor tools.
I also spent a lot of time fixing various bugs. There have been several issues that have cropped up on the artist’s pc that I have been unable to replicate (he has Vista, while I’ve stuck it out with XP). Some of the issues are small and annoying, and others are actually hampering his work. Upgrading some of the core libraries has helped address some of the problems, but others remain.
I’ve also fixed some lingering issues with the parallax system and the camera tracking. The camera tracking in particular works quite solidly. My plans to change it to a more configurable system are still on, but for now, the camera is no longer hampering our work.
I’ve been continuing to extend the core mechanics of the games. I started working on a new feature which should open up some new gameplay possibilities.
On the art side, the artist has been spending time “implementing” one of his concept images in the game. The goal is to understand how the editor works, what art assets are required, and what issues arise when trying to bring a static image alive in the game world.
Work Planned This Week
I will continue to work on this new gameplay mechanic, introduce it to the build and evaluate how it affects the rest of the gameplay balance.
I will also work on “undo” functionality in the level editor. I originally planned around this feature in the first iteration of my editor, but it has since gone out the window. I am hoping to be able to resurrect some of the architectural code.
I will do more work on the design and some more key puzzle scenarios. Parallel to that, I will focus on level design to produce useful test environments for the artist to work with.
I finally found my artist last week. Introductions will follow soon, but for now, I have found a talented and motivated partner to really bring this game to life. I couldn’t be happier. The search process has left me with a couple interesting observations.
First, it took a lot less time than I expected. I’m both thankful and surprised by this. I didn’t really think I could find an artist so quickly, especially not one that seems to be such a good fit.
Second, I got a lot more responses than I expected. I emailed 7 artists on my first go around, and received 5 replies within the week. It was pleasant hearing back from people, even if they weren’t interested or were busy. It was also interesting to hear feedback on the game concept from people who have nothing vested in it.
Finding a good partner has been a long-standing concern. However, the whole experience stood in stark contrast to the anxiety I have felt in the months leading up to this search. I believe that preparation had a large part to play. Having a good early demo and a clear vision made a positive impression. It’s a lot easier to attract people if you actually have something to show, or a demo to play. And obviously, it shows you are serious. I know that if I had approached the same people nine months ago with just a concept, I would have had a lot less success.
I guess this is common sense in the end. It works the same ways for publisher pitches. It’s easier to bag a deal if you have a prototype to show then if you have just an idea. It’s the same thing with breaking into the industry. I remember struggling to even get a reply, let alone an interview until I finally put some good demos together. The best way to make up for a lack of experience is to prove yourself to your audience.
Well that and a bit of luck.
Work Done Last Week
Full parallax support was implemented, in the game and the editor. I’m happy with the results as the system is quite flexible and relatively clean. I’ve managed to keep the new interface simple and self-contained. In addition, it’s given me an opportunity to clean up a lot of small annoying issues.
I made a nice optimization after discovering a big gaffe on my part. At some point in the last month when I was reworking the renderer system, I accidentally put in some code to draw all the objects in the scene a second time. So I obtained an easy and huge boost in performance, which is always nice. I wish I had discovered it before the demos were submitted though.
I made another small optimization to the rendering, cutting back on the number of expensive transformations by combining them.
Finally, the artist search is complete for now. I have a found a talented partner and I can’t wait to introduce him.
Work Planned This Week
The work will be varied this week. I will be helping the artist get up to speed with my processes, and responding to requests that can be addressed quickly. This means I will be working on tools and the editors.
We will also have a few planning and design sessions. The artist is full of ideas, and I’ve given him free reign over the art, storyline, and mood.
I will be implementing some new gameplay features based on some of our early discussions.
I’ve been having a hard time doing and maintain my project planning. I am usually more productive in the short-term if I focus on a small area of code or feature and plow ahead. Trying to finish this game to a certain level of quality requires a lot of planning. The scope of it is giving me some issues. As I sit down to plan, the number of issues still to be addressed becomes overwhelming.
I’ve tried different ways of planning: a notepad, a simple word documents and even mind maps. I enjoy mind maps, but as you add more and more info, it becomes just a jumbled mess and becomes actually difficult to keep a good overview. Mind maps lend themselves more to small to med-level brainstorming sessions.
What I need is a system which tracks all my work, is easily updateable and self-organizing. On a more psychological level, a simple reward system helps my progress. Up to now, I’ve achieved this by writing out my tasks on a notepad and crossing them off as I complete them. I don’t know what other people experience, but I get so much satisfaction from the simple act of crossing off my tasks. There’s a cerebral satisfaction. This is very important to me from a self-motivation factor.
Here comes my savior: Acunote. One of my favorite practices at Evolution was scrum and sprints. Now I don’t really have much reason to have daily scrums since I’m on my own, but sprints are something I miss. I’ve done approximations of sprints (like the notepad task-tracking), but you lose most of the useful information: time estimates, burn down charts, progress tracking.
Acunote neatly ticks off two of my three system requirements. It doesn’t do self-organizing very well, but it does provide me with useful tools (tags, priorities, sub-tasks) and it automates most of the boring tasks (chart updating, burn downs, etc).
More fundamentally, it helps me progress. I want to knock off tasks, even boring ones, just to bring down that burn down line. It becomes a game within a game. I enjoy the automation and the progress tracking, and hopefully this will feed into other areas of productivity. It is nice to have a central area where I can dump all my tasks. I know I will have to review them every week as I prepare my next sprint so they won’t just gather dust. I can easily add new tasks from any computer using their bookmarklet. I can sync it to my perforce submissions, and to a bug tracking database.
It’s all about getting more organized. The more organized I am, the clearer my goals, the better I feel. It also forces me to be more precise with my estimates as I don’t want to overtask myself in any given sprint. And no, I’m not sponsored by Acunote (but I’ll gladly accept compensation). If you’re finding it challenging to maintain your project planning, I recommend you give it a shot.
Work Done Last Week
The planning and scheduling continues. It seems like it never stops. I also did a bit more work on the design.
A lot of my time was spent on administrative issues. I never thought looking for an artist was going to be this challenging. It takes time to track down artists, filter suitable candidates and contact them. Still I made some progress on that.
I also improved my video capture capabilities. I cleaned up the rendering code to (finally) handle different resolutions. It’s less taxing on the capture software to capture lower resolution video. Well, it appears that way. I’m still having compression artifact issues, but I probably should use something other than Windows Movie Maker. Another task for the backlog.
Lastly, I seem to be making some progress on the artist search.
Work Planned This Week
I am back into coding heavily. There’s a lot to get done. Parallax layers are high on the priority list. Those performance issues are still lingering, and need more work.
The design process continues ever onwards. It’s a continual iterative task.
The artist search continues…
I’ve mentioned this before, but one of my biggest regret on this project is not starting it with a partner. I thought I could get away with it, as I wouldn’t need any art work for the first few months. As the months went by, I then hoped I would be able to find a dedicated partner amongst my artist friends, but this was not to be. I’ve gotten help from friends, but they each have their own lives, and more importantly, full-time jobs. It’s difficult to ask people to sacrifice their free time to help you on a venture which may not assure them any profits.
I need to find someone for the artistic side of the game and this will be a challenge. I want to find a partner who is talented and creative, who wants to make his or her own impact but is willing to work on someone else’s idea, who has enough time to commit to it, and who has an eye for the indie scene. I know how I would feel if someone wanted me to work on their project; it’s not always very enticing as you don’t feel like you own the project. My hope is that when I find a good partner, they will feel empowered. I want them to have an equal share in the creative and decision process and a direct impact to the overall feel of the game.
Another obstacle in this search is that I do not have much money to invest. I can offer a small payment up-front to evaluate potential candidates (and to prove my seriousness), but I cannot afford to pay someone a salary at this stage. I would be looking to do a royalty share. The odds are not exactly stacked in my favor. I am a realistic about my chances of finding somebody suitable, but I will try hard. Of course, if you know anyone who might be interested, or have any suggestions I should pursue, please feel free to share them. I will be hitting up the forums of IndieGamer, TIGSource and DeviantArt as well as all my friends and contacts in the gaming world.
If I cannot find someone, I will eventually need to contract the art work out. It’s not a task which I’m looking forward to (both for financial and artistic reasons). I will need to be 100% clear on the look I want and the work needed. Setting the visual look and direction of the game is not my strong point. But if I need to finish the game and cannot locate a partner, I will bite the bullet, assume the artistic direction, do my best and contract the work out.
Now switching gears somewhat; I have been promising media for several months. The reason I haven’t delivered yet is simple: The game doesn’t look good enough. Screenshots and videos don’t do it justice. What currently shows promise in the game is the underlying physical mechanics, not the visual look. I don’t want the first public showing of my game to be sub-par. Even though the readership of this blog is small, it would still be the first public PR for my game and company. Making a good first impression is important.
Still, I don’t want to leave the long-time readers high and dry. Instead, I offer you something better than screenshots or videos: a preview build of the current game as it stands, with all the caveats that entails (bugs, gameplay balances, unturned controls). If you’re interested in being a very early alpha-tester, drop me a line. You’ll need access to a wired Xbox controller. All I ask in return is that you provide me with some feedback. It’s first-come first-serve with limited spots.
Work Done Last Week
I spent most of the week concentrating on the development plan for the rest of the game (including refining the design, working on contingency plans, and preparing milestones). There is still some more work to be done, but I am getting there.
I tracked down a few quirky bugs that made it into the submission demos and addressed them. I also made some progress in the investigation of my performance issues. I’ve come up with a plan to address which roughly boils down to this: to not physically simulate areas of the level that are not of active interest to the player. Or in other words: physics-based culling.
Work Planned This Week
I will finish the planning and scheduling. Then I will turn my attention back to the long backlog of work.
Coding wise, first on my list is the performance issue. I will then finish implementing some new rendering features that I had been experimenting with a month ago. I will also continue with some cleanup of the code base.
Parallel to this, I will continue my search for an artist in earnest.
Where am I now, compared to 8 months ago? I’ve been so focused on the demo for the last two months, that it’s been difficult to see the bigger picture. The reality now is that I need to take this game from a demo to a finished product. Writing games is great, but I have to make sure I can continue to support myself doing so.
Up to now, I’ve been primarily focused on a console strategy. I’ve always seen the PC version as a backup plan to explore after the console route failed (if it failed), but I haven’t invested too much thought into it. While I am still heavily pursuing it the console route, I believe I need to prepare the alternative options. The most important goal is completing the game, regardless of the platform. Even if/when I become a licensed developer, the work required to complete the game doesn’t simply disappear. I have been so focused on producing a solid demo that I have lost sight of this point.
The demo has helped me concretize the direction of the game. Actually, it forced me to pick one, and I think it’s turned out well. I am happy with the choice; it offers me lots of options, and I believe I can build an interesting game around the core concepts.
In August, it will have been a year since I quit my job. I promised myself that by then I would have a clear picture of whether I can continue to pursue this path. I.e. whether I can earn a living. The next 3-4 months will be my biggest test yet. Now it is time to focus on the end-game for this project
Work Done Last Week
I spent a day or two recovering then turned my attention to refining the PAX demo for the IndieCade submission. I improved the level, cleaned up some texture, tweaked the camera system some more.
The camera system is going to be replaced by a better system using triggers to allow a better framing of the view I want to present to the gamer at any given time. I thought I could get away with free-form system I have now, but it’s not very intelligent and doesn’t guide the player properly. Using a more designer-controlled system will allow me to better guide the player. I wanted this new system in the demo but I couldn’t find enough time to implement it and setup all the appropriate triggers.
I started cleaning up a lot of the hacks that were put in during the demo rush. I also improved the build process, adding a master build, and automating the generation of new test builds. It gets tiring rolling everything by hand 20 times in the same evening.
Finally, I submitted the IndieCade demo late Friday evening.
Work Planned This Week
I will review my plans for the game and my development schedule. I will also strip down the current design ideas to a core set and estimate the backlog of work left to do. I will attempt to balance this against my August target.
I’m also beginning the hunt for a dedicated artist. I will discuss this further next week.
I’m doing various cleanup activities in the code, adding some polish, and looking into some performance issues I have run into. My demo level is three to four times larger than anything I’ve tested up to this point, and I encountered some interesting performance bottlenecks which I need to address ASAP. As physics-based game, the “feel” of the game starts to change as soon as the frame rate drops below 60 Hz. Since I may release this game on the PC, I also need to find a way to elegantly deal with a drop in frame rate without affecting the game play.
This is the second “catch-up” diary discussing the development of the PAX demo. The first can be found here.
One of the most challenging aspects of getting the demo ready was obtaining the demo art assets. I work alone, and I am constrained by what I can spend on artwork. I didn’t want to commission paid-for work just for this demo so my options were limited. I turned to friends for assistance in the art and audio areas.
My art needs were mostly addressed by a talented friend who must remain anonymous for the time being. But he knows who he is. He went out of his way to help on multiple occasions. I could not have gotten the demo done without him. He also showed me the ropes on Photoshop so that I could learn to tweak individual assets on my own.
My audio support unfortunately fell through as the deadline approached forcing me to scramble to find an alternative. Unbeknownst to me, it turns out that the missus is actually a decent pianist and composer. She crafted a simple but surprisingly good track for the demo level. And for sound effects, well, it turns out that for certain sounds, it’s pretty easy to simply create them yourselves. Also, sfxr can be a lifesaver.
Big thanks of course to everyone who helped me test or offered feedback: Dave, Tom, Paul, J., Rudolf (of Dyson fame), Andy, Sascha, and my brother K for staying up to all hours to help me test the last few niggling bugs.
Work Done Two Weeks Ago
This was the big crunch to the PAX demo, and I added or improved a bunch of areas. I added basic animation support. I improved (and simplified) the scoring system, improved the Help system, and the audio support.
I fixed a long standing issue with the jump system. Previously, the player could jump off any static surface, which meant they could easily reach any point in the level, or “stick” to ceilings by jumping against them. Now I’ve refined the surface detection to limit these surfaces, and also allow the player to jump off dynamic objects (prior to this, you couldn’t jump from a stack of rocks piled on the ground). This functionality may seem straightforward – it usually is – but it was complicated due to the continuously changing shape of the avatar.
I added a lot of polish, improving the load screen, the pause screen, the player controls.
Most importantly, I designed the demo level, white-boxed it using simple physics shapes, and textured it up completely. I also added all the goals, help trigger areas and resources.
What followed then was an endless cycle of testing, iterating and improving.
I also encountered a ridiculous issue with Windows and the recognition of the Xbox 360 controller. I’ve been using SDL for my gamepad handling, but there doesn’t seem to be standard button mapping. Hoping to limit variability, I’ve made the 360 controller the only officially supported one. Of course, that wasn’t enough. Depending on which service pack you have installed on XP, whether you’re using Vista, or whether you’ve installed the Xbox 360 drivers, the controller will be reported with various different labels. It was first confusing, then frustrating when each tester came back with similar complaints of the button mapping not matching up correctly.
I got this under control at the end, but I need to find a more effective way of addressing this.
I also added a ton of homemade sound effects, captured using my laptop, audacity and my Rock Band microphone. It worked surprisingly well. The music was captured the same way off the electronic piano in our living room. I’m happy with how it came to be quite honest. I expected a lot more “noise”, but instead, I didn’t even have to apply a filter. That’s a ringing endorsement for the Rock Band mic in my opinion.
This diary and the next are catch-up entries for the two weeks that I missed. I will go over aspects of development related to putting together a demo for PAX 10.
The PAX demo was marked with heavy crunching, including a blistering week-end of activity right at the deadline. I hate working like that. It’s one of the activities I object to the most in the industry, and one of the main reasons I left traditional game development. And here I am, making the exact same mistakes.
Of course, I try to rationalize things to myself: It was my first big demo. I wanted it to look as best as possible, to get every last feature in. I didn’t want to kick myself later on for not getting certain features in, which might have made the difference between being a finalist, and being rejected.
But I know myself. I crunch because I am lazy at times. I’ve discussed this personal trait before. I tend to leave things late and excuse it by saying I work better under pressure. In the end though, it’s simply lack of discipline and planning.
I’m not going to beat myself up over it though. I’m pointing it out here in an effort to avoid repeating the same mistakes and to learn from it. I am happy with the result, just not how I got there.
The one decent rationalization I can make is that I didn’t force anyone else to crunch along with me. Still, that’s not entirely true. My crunching affects others, not least of which are my friends and the missus, although they probably enjoyed having a break from me. A silver lining perhaps?
I will continue to address this issue. These are not the working conditions that I want to set forth for my company or myself (especially since I love my free time).
Work Done Three Weeks Ago
I finished implementing my help system, save for a few bugs and visual display issues. It’s a simple system that displays hints as you move through different triggers area, and will need further improvements, but it fit my needs for the demo.
The camera was also improved and it now tracks the player smoothly (no more jerkiness), and zooms out nicely as the player grows in size. Again, it fits the needs of the demo, but I have plans to replace it with a different system (which I’ll discuss in another diary).
I continued to improve some of the new systems I have put in place, adding better level editor support as I go along. The player control system continues to improve.
I spent a while debugging my collision detection system. I’m using box2d to track when the player enters specific trigger areas. For whatever reason, I am constantly losing contact points. I spent a good while trying to address this and I have a solution that can at best be described as a compromise, and at worse a “complete hack”.
I finally added keyboard support for the controls, as requiring an xbox gamepad was limiting my selection of testers. My worry was that it would be awkward to control on the keyboard, and of course, it very much is. The lack of analog inputs makes the character (and the shooting) difficult to accurately control. I’ll have to give it another think.
Actually, I’m just in the process of wrapping up my Indiecade submission, but I’ve been meaning to post this for a couple days (sorry for the lack of updates in the meantime).
The PAX deadline was this past Saturday at 11:59pm, Pacific time…which is 9am my time. So that was a fun week-end of crunch. Ended up not sleeping that evening/morning, and then decided to make the most of the day. It was a very satisfying experience to finally got a decent build together (and delivered on time).
So, I’m wrapping up this submission, and then I will return with some thorough updates in the next few days.
I’m skipping the regular update this week due to time pressure, but I’ll be back next week with two week’s worth. Don’t worry, I’m keeping notes. Here’s a preview:
Last week: worked on the demo.
This week: working on the demo.





