Amazon.com Widgets Fustian Future
Yac on March 24th, 2009

The annual GDC event is taking place this week, and while I would have loved to attend and mingle with indies, the travel and hotel costs were simply too prohibitive. I prefer to sit at home, work on my project and attend next year when I actually have a product to show.igflogo

Rather than wallow in self-pity, I’m going to wax nostalgic for a bit on my first experience at GDC. Back in 2007, after having failed for the second year running to convince my employers to send me (being junior sucked), I decided to book a week of holiday, and sponsor myself to a trip. In this way, I didn’t need to worry about what sessions to attend, or any company duties to see to.

I stayed in a little dinky hotel in the semi-ghetto, but other than that it was a lovely experience. The experiences that stood out:

  • Seeing Jonathan Blow demo an early build of Braid as well as the various prototypes he produced during the development process.
  • Jeff Minter’s IGS keynote, and all his wacky games, including a sneak peek of his latest title, Space Giraffe.
  • Attending Shigeru Miyamoto’s keynote. His games are the reason I make games.
  • Witnessing the unveiling of Little Big Planet, and then attending the little known Media Molecule session immediately after their keynote. They showed off their development process and all the cool prototypes they created. Oh yeah, and shaking Peter Molyneux’s hand, who was extremely supportive of his former employees’ work.
  • The Game Developer Choice Awards, and particularly the IGF awards. You can pretty much draw a direct link between what I am currently working on with watching Jonathan Mak receive his various awards for Everyday Shooter.
  • Pretty much the entire IGF summit. In my opinion, the first two days of the Independent Games Summit are worth the full cost of entry to GDC.
  • Meeting the various indie developers.
  • Getting drunk at the Microsoft party as a Sony developer after having been unable to secure tickets to the Sony party. Fun times.

Already, this year’s IGF summit has produced some interesting sessions. I point you to the 2dboy session where they intimately discuss sales figures for their indie title World of Goo. Apparently Petri Purho’s talk was a treat, and Cactus’ presentation was hilarious (check out Dyson’s Alex May’s photo stream). Hopefully someone will have the decency to upload the videos so the rest of us can enjoy them.

Work Done Last Week

I implemented two new features last week, both affecting the controls of the avatar. The second is a variation on the first, but their parallel behaviors open up some interesting doors for further exploration. The latter feature allows the player to navigate more easily in the vertical direction.

The lack of vertical mobility in the game has been bothering me for a while. It limited the scope of movement in a severe way, and I’m delighted to have found a solution to address this without compromising on the “realistic feel” that I’m going for.

Another important by-product of these features is a natural risk-reward system. These special moves the avatar can now do offer more freedom to the player but come at a certain cost. Resources have to be sacrificed to make the best use of these new abilities. This creates decisions and challenges for the player to solve.

More importantly, I am starting to see different puzzle scenarios emerge. This is personally encouraging as level design is an area I have very little confidence in. I am starting to come up with cool little organic challenges for the player after struggling to do so for a long time.

Work Planned This Week

I am going to continue to experiment with these new features, and implement a couple small scenarios to show them off. I will continue to tweak the behavior of the main avatar, and start toying with the risk-reward balance.

I will also continue to improve various architectural areas in preparation for putting together an effective play test demo. There a lot of areas that need polish (renderer, physics bugs, presentation).

Finally, depending on time, I will create a few more objects to play around with in the test level. I’m starting to get the hang of Photoshop.

Yac on March 16th, 2009

As mentioned last week, when I face design challenges, I routinely turn to games that inspire me. I believe it’s worthwhile to share some of these games here, to give you a window on what I strive to achieve, and to recommend some amazing titles to the readers who may be unaware of them.

Today, I’ll focus on Everyday Shooter, Flow and the aforementioned Flower.

Everyday Shooter (ES) is a 2D shoot’em up game available on the PC, PS3 and PSP.  ES is an independent game through and through, developed by the one-man team Jonathan Mak. Aside from the technical achievement of creating all the art, design, programming and audio himself, ES is a fantastic little game, which pays homage to the whole genre of shoot’em up, drawing inspirations from a number of classic games.

everydayshooter-screenshotWhat stands out for me personally is the use of audio. Each level has a unique gameplay mechanic, and a unique track (composed by the author himself). Adding to that, all the in-game sound effects (such as explosions) are dynamically generated guitar riffs which layer on top of the background track in a cacophonous yet harmonious manner. You have to play it to experience properly, but you can also check out the trailer. The other inspiring aspect of this game is that it was completely created by one man. It’s motivating to see someone produce such an achievement on their own.

Flow and Flower are both creations of thatgamecompany, a small indie studio working out of the Sony offices in Santa Monica. You can find a free, earlier version of Flow here, but the PS3 version is something to behold.

FlowIn Flow, you take the shape of an aquatic micro-organism and travel through different depths of the ocean while consuming other organisms, allowing you to evolve as you advance (thank you Wikipedia). The game is marked by beautiful visuals creating a serene environment. Even while you are chased by enemy creatures, the game still creates a relaxing atmosphere. Flow (and perhaps the earlier title Cloud also) was the first attempt by designer Jenova Chen to tap into Mihaly Csikszentmihalyi’s theory on Flow.

Flower was thatgamecompany’s follow up to Flow, and the similarities are immediately obvious. Again tapping in to the feeling of fluidity and freedom, the developers managed to create a beautiful, engrossing and completely relaxing experience where you control petals floating in a breeze.

Both games are beautifully designed, but it’s the attention to details in the visuals and the auditory experience that inspires me. All the effects are carefully balanced to maximize the experience of freedom, and emphasize the relaxing atmosphere. Like for Everyday Shooter, the sound effects produced by collecting the petals gently layer on top of the background piece, guiding you through a crescendo of notes until you reach your final petal to complete the level.

A game developer can learn a lot about creating an absorbing audio-visual experience from these three titles.

Work Done Last Week

Productivity was improved last week; it seems like things are back on track on that front. I’ve made some more progress on the gameplay adding some new features to the editor, and the corresponding in-game support.

I’ve improved the basic controls of the character. It behaves better and it feels more natural. I’ve also improved the camera support to smoothly track the player’s avatar. I think I’ve got that working well now, as I no longer notice the camera’s movement.

I didn’t make significant progress on the game’s structure. My focus remains on making the sandbox a fun area to play in and trying out new features.

Work Planned This Week

More experimenting, more testing, more iteration. I really do wish it was more clear-cut than that, both for the reader’s sake, and for my sanity. This is the most challenging period yet. I’m right on cups of something, but not there yet.

Yac on March 10th, 2009

I naturally spend a lot of time thinking about my game and how it could play. I’ve got an endless list of features to prune. Cool features, stupid features, unique features, gimmicky features and completely ripped off features. Some are not even implementable; others would completely change the direction of the game. Some are both awesome, and feasible, but might not fit in with the rest.

All these ideas keep floating around my head, and I am constantly trying to figure out what to keep, what to discard, and what to expand on. I’ve got a lot of options, to the point where it can become paralyzing.

I’ve learnt that it’s important to keep things simple. I could stuff one idea after another into the game, and I all would have in the end is a jumbled mess. I want something simple, elegant and balanced.

In my quest to improve my work, I regularly turn to some of the games that inspire me. They are mostly indie games. They are usually carefully crafted, finely balanced and beautiful games. They are also almost always very simple games at their core (at least in terms of gameplay). Take Flower for example: an absolutely gorgeous and relaxing game, where your task as a player is to just collect petals from various points in a level. Of course, there are other key elements that make the game an amazing experience: the beautiful graphics, the use of sound and vibrant colors to mark your progress, and the serene Zen-like environment created. Still, at its core, the gameplay is very simple.

I find that extremely inspiring and I will be delighted if I can create a similar experience.

Work Done Last Week

A slow week. A lot of time was spent on fixing bugs that have cropped up thanks to some playtests. And I started work on a new game play feature.

Overall, it was not a productive week, and I am not happy with my performance but I will not continue to dwell on it. There is too much to get done and I must remain focused.

Work Planned This Week

I am continuing work on the new feature, and hopefully another one by the end of the work. And of course continued focus on the gameplay. And more work on the demo level.

Yac on March 6th, 2009

A few days late, but here’s the Milestone 3 review.


The goal of this milestone was to produce a first playable demo, consisting of these major tasks:

  • Working Editor.
  • A finished level, with a start, and a goal.
  • Basic gameplay implemented.
  • A basic HUD (life, etc).
  • Completed test level art.

I estimate I’ve reached about 80% of my goal.  Certain elements of the gameplay are not implemented yet, but I am close to completing them.

Task Performance

The editor again showed significant improvement and has been thoroughly tested. A complete level (from the art and physics side) can and has been created. However, it is still missing a few gameplay-specific components.

My gameplay focus was on the control of the player’s avatar and providing visual feedback of the player’s current status. I made good progress in this area, but still fell short of my goal.

A lot of time was also spent on brainstorming and iterating the design.

Areas that Suffered (and Why?)

Gameplay:

  • I did not implement all the gameplay features I planned for. It’s the little things that turn a demo into a game, like providing feedback when you’ve reached the goal of the level. I am trying to get the control mechanisms right first.

Design:

  • I still don’t have the final design of the game nailed down, in spite of spending a lot of time thinking, writing out ideas, experimenting. The upside is that I have more ideas than ever. The downside is I am still torn between different directions.
  • I need more time, and progress in other areas before the design will be nailed.

Productivity:

  • My productivity spikes at varying times, and is not very consistent. I regularly end up working into the evenings or on the week-end because I feel I haven’t been very productive during the day. This is a recurring theme that I am constantly trying to address. I would love nothing more than to get a solid 6-7 hours of work done every day.

Areas that were Successful (and Why?)

Editor:

  • The work invested in this area is continuing to pay off. Implementation of new features is easier. Significant progress in the look of the game is due to the work on the tile editor.

Controls:

  • I’ve reached a significant milestone on the core movement of the avatar. This might not sound particularly important, but it was challenging and went through many iterations before it felt right. And that feel is going to play a large part in any success of the game.

Design:

  • All the fretting over the design has produced many more new ideas to try out. It’s been productive at least in this aspect.

Breakdown of Areas of Focus from the last 6 weeks

  • Week 1: Level editor, gameplay.
  • Week 2: Level editor, administrative.
  • Week 3: game play, editor.
  • Week 4: game play, design, editor.
  • Week 5: game play, administrative.
  • Week 6: game play, editor, art.
Yac on March 4th, 2009

This past week marked a pretty big milestone. Or at least, it should have. There wasn’t a specific moment where the game went from a prototype to a playable demo, but we’ll just say it did. If you want to get technical, it’s been playable ever since I first included input support; it’s just been very, very crappy.

To be perfectly honest, I don’t believe that I’ve hit an actual first playable demo as I would describe it (that being a playable demo level, with a start and an end). I’m missing a couple small, albeit key points. The level isn’t complete, and I have not included any way to identify the end of the level. But it is playable. So, I’ve hit my goal, sort of. A ringing endorsement, right?

But, what is most important: it’s showing very clear signs of promise.

I’ve been going back and forth between two design mindsets: Top down (i.e. designing the overall game and working out the feature set from that) or bottom-up (iterating over the control mechanics and individual features until the global design emerges). I feel the need to focus on the top down approach because of pressure from the self-imposed deadline to have a publisher demo ready in a month’s time.

However, my gut tells me to focus on the core control scheme and iterating over the feature set because it makes more common sense. This method requires patience and trust in the process. It requires the confidence that if I continue iterating, something good will emerge.

This is not to say that I don’t have any ideas. The game already has an overall theme, which was largely defined by the direction of the tech and allows for a great amount of variety and experimentation. All the brainstorming has produced tons of ideas, enough for 10 games worth; I only want to make one really good game though (and 2 cash-in-the-money sequels, of course), so it’s a matter of picking the right ideas, experimenting,  and discovering what works best.

Work Done Last Week

I had an up and down and up week. A great start to the week with a breakthrough on the basic avatar movement. It feels nearly right. In fact, I’m convinced that it’s within 10% of what the final movement behavior will be like. It will just need tweaking and iteration.

Then, I fell prey to a major slowdown later in the week. Some of my ignored issues with the editor came crashing down on me, inducing coding paralysis. Having three different versions of the editor cobbled together has been gnawing at the back of my mind, but when I came to add some new gameplay features to the editor, the jumbled mess left me unsettled. Only the latest editor code uses the component based object system. Meanwhile, all my physics tools were using the older version, which either didn’t save out correctly, or left memory leaks all over the place. After lots of thought, I figured out how to convert some of the older stuff without breaking everything.

I then spent the week-end working on that aspect of the editor to make up for the unproductive days, and the whole thing is now looking much nicer underneath the hood.

The week-end was also filled with a lot of brainstorming on the game, on features, on abilities, on game modes, on challenges, stories and puzzles. Pretty productive, to say the least.

Work Planned This Week

I want to finish up the Milestone 3 review for tomorrow. I’ll be addressing a few bugs and usability issues that have cropped up during some play tests.

I’ll do a bit of work on the editor, wrapping up some of the improvements, and will introduce gameplay objects (such as goal areas). I will also improve the current demo level, fleshing it out a bit more.

Finally, there will be work spent on a new feature. Following on from earlier, I am going to aim to produce and play test a new feature every week for the next four weeks.

Yac on February 23rd, 2009

I started my enterprise a bit over six months ago. This being my 26th weekly dev diary, I’m considering today the official half-way point of my first year as an indie. Six months in, what have I learned?

Looking back, I expected to be further along at this point. I wanted to have a demo ready by January, and be working on developer hardware by March. Sure, there were several unexpected complications. The editor took a lot longer than I planned. And I had various setbacks with the design. All in all, I do not feel I am too far behind. At least I had the sense to give myself some leeway in my estimates. My experience has been that tasks always take longer than planned for. The old adage goes: estimate the expected duration of your tasks, and then double them.

If I could do them again, I would do a few things slightly differently. Obviously, I’d implement the editor properly the first time, knowing what I’ve learned since then. Actually, this exercise is pointless. If I knew then what I know now, I would have implemented everything in a third of the time and with zero stress. So that’s not really the point. I can say that looking back I have mostly stuck with my goal of addressing the highest risk areas first. If I can continue the same way, I’ll get where I need to be.

I don’t regret the software development decisions I have made. No, if I am completely honest, my single, biggest regret so far is not starting the enterprise with a partner. Part of why I did so is a sense of ownership and pride. This was my idea, and I wanted to work on it myself and own it completely. But that’s not really the full story: I didn’t start this project with anyone else, because I couldn’t find anyone to come on board. Being in Germany with limited contacts of course did not really help. Ideally, in a creative process, you want to work face to face with your partner, and my options were very limited here. But even for all my connections back in the UK, it is incredibly difficult to convince someone to take a huge risk on what was at the time just an idea.

So that’s my biggest regret. I think I could have benefited immensely from having someone more artistic and creatively minded working with me on this game. I believe that with the right partner, the quality of the output can exceed the sum of the individual contributions. Well, I do hope to address this issue at some point in the future. I’m going to need to expand at some point. In the meantime, I’ve tried to make up for it by talking to various talented people, and getting feedback from multiple sources. It’s not the same, but it’s been invaluable.

I am happy with what I’ve accomplished so far, but more challenging times lay ahead. I need to step it up if I want to get this game done.

Work Done Last Week

My focus again was on the control mechanics. I made some good progress on this front, I got the basic movement controls working. I am happy with how things are progressing (and I just had a very good day today, but more on that next week).

On Thursday, I finally met with an English-speaking business lawyer provided by the local Chamber of Commerce. This was an invaluable meeting which provided a wealth of information and clarification. I have been pouring over all the information I can find online, but the language barrier has been stifling and lead me to a lot of conflicting advice. This meeting put me at ease. It also helped that it was completely free. I didn’t want to drop 200-300 Euros on a consultation unless I really needed to. I plan on using a proper lawyer when it comes time to deal with contracts, but there is no sense on burdening myself without unnecessary costs at this stage. Young entrepreneurs, I urge you to consult your local Chamber of Commerce!

I will continue to push the administration side forward, but I won’t let it distract from my main priorities. I want my company to take a legal form, but I want it set up properly (and as cheaply as possible). This means meeting all the legal requirements, German bookkeeping, etc. I will keep working on this in my spare time, now that I have a clear path forward. I’ll put up more information on this when significant progress is made.

Work Planned This Week

The focus is on the gameplay and putting a demo together this week. I have stripped down my remaining tasks to keep the focus clearly on the demo. Render improvement tasks have been pushed back to the polish stage, and I am only focusing on areas that support improvements in the gameplay.

This will primarily be in the control scheme, and in the editor. On the control side, I will continue to experiment with different control mechanics. I feel like I am circling around a nice system, and I will keep iterating on this. For the editor, I will add support for more gameplay-specific components such as tagging objects and areas that have “special” functionality. Of course, I will also focus on putting together a good demo level.

Yac on February 20th, 2009

I’ve mentioned the design book The Art of Game Design several times before. As an absolute novice designer, I bought the book to shore up my skills. Whenever I’m focusing on the gameplay, I’ll usually spend a few hours reading a new chapter, trying to absorb the information, and then apply the new concepts learned towards my design. This iterative process has already helped me several times to break out of mental blocks and generate new ideas.

An example lense.

Last week, I was going through a new chapter, and I kept getting sidetracked by the lenses. Within the book are interspersed 100 of these so-called “lenses” – brief sections which reinforce the current subject being discussed. By asking you open-ended questions, the lenses help you focus your mental energy on a particular aspect of your design. These exercises will usually lead you to new ideas and insights.

Anyways, I was actually finding these lenses quite distracting as they were causing me to pause my reading and go off on mental tangents. Not a bad thing in itself, but I wanted to finish the chapter first, then return to the lenses. It’s at this point that it struck me that I could really use the lenses as a standalone object. And luckily, Jesse Schell provides exactly that in the form of a Deck of Lenses.

I want to read the book once thoroughly, but then only return to it as a reference when I need a deeper analysis on a particular subject. Having the lenses in my hands would allow me to quickly focus on a particular aspect of the game. When I originally bought the book, I decided to forgo the cards as they seemed like an unnecessary extra expense. I know understand why they are provided.

Unfortunately, it’s a pain in the ass to order the lenses from Germany. You can only get them shipped from Amazon.com, which takes a couple weeks, and is expensive. Luckily, after contacting Mr. Schell’s company directly (they’re the ones who actually make and sell the cards), they generously offered to ship them free of charge immediately. The cards arrived yesterday, and they look fantastic, but more importantly, they will definitely serve their purposes.

So thanks again to Mr. Schell and his helpful staff. If this game ever finds success, it will be in no small part due to his book.

My new deck of lenses!

My new deck of lenses!

Yac on February 16th, 2009

Procrastination is my enemy, and perhaps my biggest personal flaw. I am lazy to a fault.

I know that procrastination afflicts a lot of people, but it doesn’t make me feel any better. The successful people that I know are not lazy. The most important thing I’ve learned the past few years is that if you want to be successful, you have to put in the work. It’s that simple. The most brilliant idea is not going to make you rich and famous unless you actually implement it. This is why I have this quote (among others) posted right above my monitors:

“Everyone wants to be great but very few people are willing to put in the work necessary to be great”

Fighting procrastination is something I have been trying to do for many years. Even when I was working for someone else, I knew that I would need to overcome it when I went indie. And I’ve been trying. The appeal of working for myself and on my project is invigorating, but it is not always enough to motivate me to get up early and work. Sometimes you’re in that wonderful zone, and you can’t wait to get back to work. Other times you’re slogging through some terribly boring shit, and you need ways to overcome the sloth.

These are methods I developed for myself, which help me form better work patterns. I don’t know how effective they would be for anyone else, but they work for my psyche, so I’m sharing them:

  • Do it now. More than anything, just start on whatever task you need to do. Once you start, it’s easier to keep going. This here is probably the first self-motivation article I ever read, many years back, and I still find it useful today.
  • No clear direction, or conflicting ideas. When I get overwhelmed by the different issues demanding my attention, I write my thoughts out, my worries, and how to address each of them individually. By this stage, the picture is usually much clearer. I then logically evaluate the highest priorities and address those first. For the rest of the issues I ask myself whether they are truly important. If not, I just forget about them. Those that are, I decide exactly when I will address them. Once all that is done, it’s easy to get cracking on the highest priority task.
  • Break down your tasks. It’s a small corollary to the last point. Big tasks always seem more daunting. If you can break them down to discrete, achievable steps, you will have a clearer picture and feel less inclined to procrastinate.
  • Don’t be complacent. It is important to review why things go wrong, why you were lazy, why you were successful, and what you can do to improve on your flaws, and continue doing your good work. For me, this weekly dev diary is part of that process. I know that at least once a week, I will sit and reflect on my progress, and take an honest look at myself and the project. It keeps me grounded, it keeps focused, and it prevents me from blowing weeks of my life without accomplishing anything.
  • Eliminate distractions. Use them as rewards instead. The internet is my biggest time sink. I regularly make mental contracts with myself. “I won’t check my browser till this feature is implemented”. It helps a lot.
  • Be disciplined. Getting up at a regular time (something I struggle with). Establishing clear work hours allows you to separate work from play/rest. All these things help you stay focused. Being disciplined in any area is a learned skill. The more you do it, the better you become at it.
  • Be positive. It’s easy to get down on yourself for being lazy. I mentally beat myself up a lot over it, but it is something I strive to avoid doing. Instead of focusing on the negative (which sometimes only furthers your procrastinating), focus on the positives of getting things done: how you will feel when you accomplish a task, complete the next major feature, release the game, read your first review. Mentally picturing positive outcomes helps you on a multitude of levels.

Writing this post has had a cathartic effect on me and has helped me refocus my energy. I think I’m going to have a really good week.

Work Done Last Week

Productivity improved this past week. It’s still not 100% where I want it to be, but I am a lot more focused and making progress.

I’ve focused on the game play and control schemes. A lot of old test code has been removed and made way for a cleaner system of controllers, allowing me to easily add new “abilities” to the player’s avatar. I’ve been trying out different ideas, so the path forward is not always clear, but it’s starting to evolve into something tangible.

I’ve also spent more time immersing myself again in the design book – something I had neglected while I was focused on the editor. It doesn’t always have the answers, but it helps me ask the right questions of myself, of the game. It definitely helps spur new ideas.

I fixed a few small editor issues, but as planned, most of my time was spent on the gameplay.

Work Planned This Week

The focus remains on the gameplay this week. I have two weeks left to complete the first demo, so the pressure is on. I’ll be evaluating the remaining tasks to ensure that I hit my deadline as effectively as possible.

I will also be fleshing out a couple test levels to try out some new ideas, and use those as the basis for my demo. I’ve attempted to let the various control mechanic ideas grow organically, and guide the shape of the game. At this point, it’s all about experimentation really, to see what works and what doesn’t. Right now, the game is starting to resemble a platformer and I’m not sure yet if it will remain that way (or whether I want it to). We’ll see…

Yac on February 9th, 2009

It’s gonna be a short one this week, sorry folks. I considered writing on the topic of procrastination but <insert obvious procrastination joke here>. Actually, I’ve got too many things on my mind right now and my time would best be served working on the game. I’ll be back next week with a better dev diary (about procrastination!).

Work Done Last Week

A bad week in terms of productivity. It’s hard to exactly pinpoint what went wrong, but more than anything, I lacked focus.

I am trying to pour all my energy into the game play, but there are other areas that have gaping deficiencies and weigh on my mind. I should simply focus on the area of highest risk, but I am allowing myself to get distracted by my other concerns.

So instead of just getting things done, I procrastinate. The time pressure I have put on myself isn’t helping either. I’m spending more hours working, and not getting much done. I am going to have to shut out the problems and just focus on what is most urgent. Or clone myself. Although then I’ll have to deal with my delegation issues. Sigh.

Work Planned This Week

I’ll be focusing again on the gameplay. This should be a solid week of implementing and experimenting with some new control systems. It should be exciting once I get fully immersed in it again.

We’ll see how well I do avoiding the same distractions as last week.

Yac on February 3rd, 2009

The work on the editor has gone through multiple phases. When I first started, I focused solely on the physics. I developed a simple editor where I could populate the sandbox with boxes, spheres, capsules, both static and dynamic. It allowed me to quickly test out different types of scenarios using primitive shapes.

Then, before Christmas, I switched my focus to supporting properly textured objects, and I added a basic object editor. I could load textures, and then assign collision shapes to the object, and then add the objects to the level.

These past couple weeks, I’ve been working on a tile editor. It’s not like an old-school tile editor, where the tile positions are fixed along grids and all the tiles are the same dimensions. I’ve modeled my editor on the Braid editor and the Aquaria editor, pretty much the gold standard for 2D editors as far as I’m concerned. Their editors are completely flexible on the size of the tiles (textures), their placement and orientation, and they leverage OpenGL to allow such flexibility.

My editor isn’t anywhere near as complete as those two, but I’ve got all the core features supported. I can place, delete, clone, resize, scale and rotate tiles in every which way. I’ve got support for layers, depth, transparency, etc.

I would be remiss if I didn’t also point out this excellent editor tutorial by Javier López that I came across last week. The tutorial is extensive and is based on the author’s own 2D library. In it, he aims to replicate the Aquaria editor and does a great job of documenting his work. It helped confirm some of my ideas and spur new ones (such as supporting cameras on a per-layer level). Check out his great video too:

Of course, I am still not finished. I need to re-enable the physics editor support (which was disabled when I started the new version of the editor). At some point, I will also need a particle editor for various visual effects. On the physics side, I have yet to leverage the full power of Box2D, and I plan on adding support for constraints, chains and key framed objects (think automated platforms and elevators).

I am very happy at where my work stands right now, and I am excited to add new features and continue expanding on my framework. Working on the editor has improved my codebase, and proven my use of the component system. It’s given me new ideas for improvements — I plan on adding multiple camera support very soon. There were several challenges along the way, which forced me to backtrack on some decisions several times, but I’ve learned many new things, and it’s allowed me to produce a cleaner solution in the end.

After a somewhat frustrating start to the New Year, it feels good to be firing on all pistons and making solid progress again.

Work Done Last Week

I had a very good week in terms of production. Progress on the editor was swift, and I’m happy about where I currently stand regarding Milestone 3.

The design work didn’t get too much attention. I mostly reviewed what I had and did some brainstorming.

I also spent some of my time navigating the treacherous waters of German bureaucracy. Actually, this has been going on for a few weeks as I’ve been trying to sort the proper (and cheapest) way to form a company in Germany, and being a non-native speaker has presented some challenges. It’s been frustrating, but I’m slowly getting there thanks to the help of a good friend, Sascha. I’ll probably put together a post on this subject when I am through this process.

Work Planned This Week

My primary focus is now moving back to the design and gameplay where it will remain for the rest of the month and milestone. I will continue to progress the tools bit by bit, but this will command no more than 25% of my time.

Administrative issues will also be present, but whatever is spent there will be made up with longer hours. I will make sure I continue to move forward at a good pace, no matter what distractions surface.