Monthly Archives: July 2012
I recently read an article on Fast Company, which asserted quite controversially that branding is an artifact of the past. To check this article out, read: Why Branding is an Artifact of the Past.
Quite rightly, the article kicks off by stating that “you can’t build a brand simply by setting out to build a brand” and that “in fact, thinking too much about brands can actually get in the way of the real business of your company.”
There are several quick points the article makes very early on about becoming too clouded in your brand. It outlines consumers who specifically have an agenda in mind which transcends (or even subverts) branding entirely, searching for a specific product which does X better than competing products. For such a consumer, branding is of little or no concern.
In entertainment, a brand is a promise, as has been said many a time before (usually by brand managers). It represents the entirety of your pledge to the consumers who purchase your product.
As is often the case, neither extreme really works, but both make valid points.
When creating the Flat Earth Games logo (and indeed coming up with the name), we set out to create something which did two jobs for us:
1) Made fun of silly people
2) Was a throwback of sorts to 90s games
3) Didn’t take itself so seriously that we’d be afraid to think of a third thing and add it in in spite of prefacing this section by saying it had two jobs to do
As we push on into milestone two, a significant amount of art needs to be created. Our world will be populated by many little large-headed inhabitants, which are all two dimensional, so we’ve been embarking on getting them to suitably fit into our bizarrely scrap-book style world.
Joshua, our animator, opted to manually create each and every sprite, the prospect of which makes the mind meander over to the corner of its skull and weep quietly into the pituitary gland in the hopes that its tears will act as a conductor to send an electrical impulse from a nearby synapse directly into it so it can die an early death, just to make the sprite-producing nightmare stop.
Or something like that.
Josh’s approach is based on the problem of procedural generation of sprites being too restrictive, insofar as it limits our ability to add too much variety to the characters, requiring a one-size-fits-all direction.
So congratulations are in order to everyone on the Flat Earth team, as we’ve officially reached our first Milestone! What this means is that we’re able to confidently look back over the original design and technical documents and see that we have definitely implemented… all of the features from the first milestone and half of those from the second, we weren’t expecting and a fair chunk of audio done which we weren’t expecting.
Ok, so congratulations are in order to everyone on the Flat Earth team, as we’ve officially reached our first and a halfth Milestone!
So evidently it’s very very easy to get trapped in a cycle of just continuing to work on the feature which is right in front of you in favour of the bigger picture.
That said, we now have an avatar which moves in all directions, is fully animated, can bump into objects and can even chop down trees, or about 140% of the originally required features.
So, after we had our technical and design documents laid out and the contracts with our friends at Epiphany signed, we had to make a few decisions: what engines, frameworks and languages were we going to use?
Initially, we’d pitched the game as an iOS-exclusive title, and so that meant we’d most likely be working with Objective-C, most likely – that being the native language of the platform – but it’s always good to think carefully about your options.
Rather than attempting to make a game as efficiently, quickly and cheaply as possible, we made goals which were slightly more long-term.
Our project is not small, and the engine required to do it is actually quite complex (…as we found out later – Leigh). An isometric engine with large, interesting worlds that you can explore and build in is nothing to sneeze at, especially compared to the kind of thing we could have ended up making – say, a level-based endless runner or platformer.
One of the decisions we made based on this was that the engine should be re-usable. In fact, we very quickly ended up figuring out a few other potential titles we could use the engine (and even re-use some of the assets) for after we’re done. This way, we could plan around our game not selling particularly well, and leverage our first title to make our future titles that much easier to do in the event that it doesn’t earn us enough money to fund our next title.
When originally designing our upcoming game, we planned to hand-build the world. This is a nice way to ensure the world is well-balanced, without having to spend *too long* testing (and indeed, building) a procedural generation system for our world.
The idea was pretty simple, mostly because it first came to us after several pints at the beer. I mean, pub.
The idea was that the world would be created as a huge image file – like, 16,000 pixels wide by a few hundred tall. Each colour would indicate a terrain type, and the alpha channel would indicate what type of ‘spawner’ would appear in each square.
For instance, a ‘forest’ spawner would trigger a forest most of the time (like, 90% of the time) with the type of forest (sparse, dense, pine, etc) being random based on settings we’d configure. A ‘rare mineral’ spawner would spawn some kind of rare mineral amongst some rocky outcrops.
Using this method, we could disburse these spawners about the world as we please, and every time a new game is created, part of this world would be dragged out of the file and used as the basis for this new game.
Myself, Rohan and the fearsome duo of Morgan and Damien from Epiphany Games all attended iFest in Sydney this weekend, perusing the multitude of games on show from some of Sydney’s finest, alluding to the game we’ve been working on (while still remaining too shy to announce its name to the world) and just generally enjoying watching the collision (collusion?) of wannabe indie startups and the likes of Trip Hawkins all being able to share the stage.
Talks were primarily aimed at the indies around the place who were looking to turn their hobby / dream / idea into a business. There was talk about publishers, what they can do, when you should approach them and what you should look out for. There were grandiose statements about the future of the business (thanks, Trip!). There was a lovely talk by Paul Stazjer from See Through Studios on self-realisation being a core component (which Rohan referred to as ‘guided meditation with Paul’) immediately prior to a talk cum rant by Martin Slater (ex-2K Australia chap who’s always around the traps in these parts) reducing any and all idealism in the room to mush. As he does.
I have to admit that working on our isometric, sprite-based game engine has been an interesting process for me. I’ve been programming for most of my life, but most of my serious programming on video games was done as a hobby 15-odd years ago, and much of my work back then was done using actual, real 2D graphics libraries.
First there was sprites and writing to the video card directly in C in Mode 13H or better. Then, in Windows, there came DirectDraw. Either way, I was still largely working without a modern 3D framework. I’d set the resolution to 640×480 or 800×600 and start writing pixels to what would hopefully be all the right places. Once I had it working, it’d be optimisation time. Just how can I speed up this thing to squeeze every single extra frame out of a given second?
So, doing this again now on modern devices where your sprites are actually just simple polygons sitting orthogonal to the screen at all times is quite a shock to the system, really. These video cards – even the ones on the iPhones we’re developing for – are insanely fast. They’re built to render thousands of polygons at a given time, so drawing a few pesky sprites on the screen is pretty trivial.
On a first test of roughly the size of world we’d need to render with roughly the right number of sprites (up to 3500), even the fairly low-spec’d iPad 1 didn’t slow down too much – and we’d normally never be seeing the map that far zoomed out (Which means we should make the world MOAR BIGGER!!! – Leigh).