A small follow-up on last week’s post about the iPhone game Edge, Mobigame and Tim Langdell (the trademark troll). The media coverage continues to gather steam as Eurogamer did an excellent piece examining both side of the issue. Also, I’d like to point you to the legal support fund for Mobigame’s court battle (and a lot more coverage on the whole saga).
Work Done Last Week
Work slowed down during the week, but I got a few solid coding sessions in on the week-end. I mostly focused my energy on the checkpoint system. It is not complete yet, but I’m nearly there.
I spent some time fixing up a few bugs and minor annoyances in the editor, and I continued to make further improvements to the camera. We are trying to find a sensible tracking system which would let us avoid having to set up manual camera shots in the editor (and me having to add support for this). The key issue is to make sure the player always knows where he has to go. We don’t want ever want to player to have to take blind jumps or leaps of faith. I can’t stand when other games do that. It seems lazy to me. I want the player’s to be able to solve the problems using information available to them on-screen, not take a 50/50 shot that may force them to restart the level.
Work Planned This Week
I will pretty much continue on the same tasks as last week: on the checkpoint system, the gameplay change, and prototyping some new levels.
I finally started twitting a few weeks back (follow me here). I plan to keep it focused heavily on game dev and the games industry, and light on the personal side, but we’ll see how that goes. I have been a long-time observer of the twitter phenomenon going through the standard phases (oblivious, confused, intrigued, fascinated and hooked). I think on a global level, Twitter is an amazing idea with far reaching impact. In fact, I could get very philosophical analyzing its social impact , but I’ll save that for another day.
On a more practical level, it is a great tool for marketing, raising product awareness, and interacting directly with your customers, fans or people with shared interests. And I’m still only scratching the surface. It’s another channel for developers (indie or not) to easily and effectively interact with their fan base. It’s another form of permissive marketing. I plan to make good use of it.
Work Done Last Week
I added another gameplay action. We changed how some of the basic actions affect your “health”. Basically, each major action will cost the player a certain amount of resources. This leads to a much more structured approach to the gameplay, and we can now build carefully balanced puzzles.
I fixed that terribly annoying bug (after hours of searching). At least I know that the majority of my simulation code is solid. I also did some more minor gameplay tweaks, but nothing major. We’re experimenting with user-controlled camera zoom.
After a couple weeks of investigation, I’ve decided to hold off on the Joomla stuff for the new site, and just use Wordpress (like the current site). I’m familiar with Wordpress, and I was going to integrate it with Joomla anyways. The integration looks like a pain in the ass. Plus, how complex is my site really going to be. I don’t know why I tend to complicate my life sometimes. If Wordpress is good enough for a company like Doublesix, it will be fine for us. It’s served me well up to now.
Work Planned This Week
We are adding a checkpoint system to the game/editor. We need this for a couple reasons. The game itself is going to require some trial and error on the part of the user. Whichever way we break down the levels, they will still be a set of puzzles. Rather than force the player to restart the level each time he fails, we want a mechanism that allows the player to quickly undo his last set of actions and re-attempt the challenge. We don’t want the trial-and-error to be frustrating. Now, we’re not going to have a complex time-rewinding system like Braid or Prince of Persia, but we will put in place a system to quickly jump back through different saved states with (hopefully) no loading.
We will also benefit from this system when setting up levels. It is inconvenient to have to traverse the entire level each time we want to test a small change in a section.
Following from the above gameplay change, we’ve now settled on a few basic actions for the game, and we only have one of those still left to implement: picking up and carrying objects. If the checkpoint work doesn’t run too long, we will get started on this last core action this week. Once that’s in place, we can begin to really start building the first levels of the game.
I’m not sure how many of the readers are aware for this, but for the last month there has been a big brouhaha over a small French indie company (Mobigame) getting sued by a trademark troll (Tim Langdell) over the use of “Edge” in their award-winning iPhone game. Instead of trying to recap all the sordid details, I will simply point you to this excellent roundup of the issues.
Langdell has received his fair share of vitriol, and his online reputation had been destroyed (google his name and see the results). However, Mobigame is still facing litigitaion from Langdell. As such, members of The Chaos Engine – a private online forum for professional game developers – have banded together to show their support for Mobigame and denounce Langdell’s actions.
On an even darker note, Tim Langdell is also on the board of the IGDA. His unethical actions do not reflect the views of the developers he is supposed to represent and defend. In fact, they are in contradiction to the goals of the IGDA. We are therefore also encouraging IGDA members to sign a petition calling for Langdell’s removal from the board.
Update: The donation fund is now open.
I want to briefly discuss core scenarios this week. These thoughts are inspired by a chat I had a few weeks ago on level design with a friend. I’m a relative beginner when it comes to level design. I can break down a level and analyze what works and what doesn’t (and why). I understand how good levels work, but I have trouble building my own.
The idea of core scenarios is to create unique and isolated elements of fun gameplay. An example of this would be using your super jump to get over a wall you would not be able to clear using your normal jump ability. Or picking up an object and throwing it a target.
So, one of the processes for creating a good levels is to try out many different scenario types. You then filter out the bad ones, and iterate on the good ones and create a few more. Eventually, you will end up with a key set of unique fun scenarios. Once you have that, it’s easy to mix and match different scenarios to create a wide variety of levels. Most games are built on that concept. Mario, for example combines running, jumping, hitting blocks, avoiding enemies and stomping enemies as core ideas, and they build incredibly rich and fun levels around these concepts.
So that’s what we’re currently focusing on. Trying out different scenario ideas and keeping the ones that work.
On another note, I found out that we didn’t get into PAX 10. I didn’t receive an email from them, but I managed to work it out when the list was announced and our game wasn’t in there. I’m expecting to find out about IndieCade soon.
Work Done Last Week
Some more gameplay improvements, particular in the shooting and jumping abilities.
Undo/Redo functionality for creation and deleting of objects: On the first “undo support” pass a few weeks back, I only added support for transforms and scale, as I knew the creation/deletion was a bit trickier. It took a bit of time, but I came out with a better codebase then when I started, fixing a bunch of bugs in the process, and cleaning up a lot of code. The major hold up was how to integrate it with the component system. That’s done now, and I’m happy with the result. Adding support for new components will continue to be very easy.
Improvements to the editor, and how we save the state of different objects: We have some very dynamic elements, and it is a pain to make changes to the level without upsetting the setup of these dynamic elements. So I have split apart how the different aspects of the scene are saved. It is now easy to store and remember the state of active objects, and to edit passive scenery without destroying the rest of your work.
More work on the new site, mainly familiarizing myself with Joomla. Nothing shockingly new to report.
Work Planned This Week
More gameplay experiments, more scenarios, and more testing. Pretty much iterating on these three points all week.
Oh and I’ve been trying to track down a really annoying memory leak in the physics simulation. I’m already 3 days (well, evenings) into trying to track this bug down. It looks like an epic bug already. And it’s in the most complex part of my code, the core of the simulation. Fun times ahead.
I’m back from my trip to the US. I feel refreshed, and my hunger for American food has been temporarily satiated. It was good to be home with friends and family.
Before returning to the business at hand, I want to briefly mention my brother’s company Vitalitech (he needs links from highly trafficked sites like mine to increase his pagerank). My younger brother is only 20 years old but he has worked diligently over the last year setting it up, finding customers and consistently delivering quality service. I’m incredibly proud of both what he’s achieved and the dedication and responsibility he has shown. He is on the cusp of something big.
Meanwhile, I started work this week on a short-term 4-week contract. This will somewhat limit my progress with the game during this time, but I do need to keep paying bills to continue in my Indie venture. Evenings and week-ends will be used to keep pushing things forward. My mind is fresh and rested, there’s lots still left to do, and I’m excited about the work ahead.
Work Done The Previous Week
I added a new physics feature (with corresponding editor support). This has opened up new types of gameplay opportunities. I like the changes so far, even if it takes the game into a slightly different direction in terms of puzzles. It’s less platform-y and more logical. It’s an interesting mix. This may end up just being a minor feature (or variation on the core gameplay), but I am pretty sure it will be part of the final game.
I tried out a few more test scenarios to experiment with the latest changes. I’m trying to come up with a core set of gameplay scenarios that capture the essence of the overall game. So I keep trying new ones and filtering out the ones that don’t work.
I fixed a few crashes (introduced with the latest changes). And I changed the behavior of my timer system. I’ve gone through several solutions to obtain a system that would always run at 60 Hz. One of the drawbacks of my system is that as soon as the game ran under 60 Hz (due to performance issues), it would begin to lag. A side effect is that if the timer is delayed for a few seconds (like when I load in levels), it can take a long time for the timer to catch up and the lag to disappear. OK, yes, I should fix my loading system so that it runs asynchronously, but in the meantime, I’ve added timer code that deals with the lag more elegantly.
Work Planned This Week
There are few areas to cover this week. I’m continuing to experiment with gameplay based on some feedback and analysis of some of the test scenarios.
I will continue to work on some improvements to the editor (I must integrate some of the changes I made while I was away). These improvements are primarily focused on improving the efficiency of the work flow when creating levels. The tile system is flexible, but not the easiest to use when working with a tablet (as my artist does). I am trying to create a quick selection screen (like this one in the Braid editor). I also want to make it easy to associate tiles with a set of physic shapes, as it can become tedious to have to repeatedly apply by hand the same collision geometry for the same tiles.
I’m still working on the new site. I am looking at using Joomla (having been introduced to it last week) instead of just plain wordpress. Regardless, I really don’t want to spend too much time on the first version.
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.





