Last month I attended the first of what is hoped to be a series of monthly indie game developer events in Dublin called Indie Games Space, organised by gamedevelopers.ie and held in Film Base in Temple Bar. It is a chance for independent developers to get together, show off their work, listen to a talk and work on a monthly design challenge (and get free t-shirts from the guys at havok! Thanks!).
Last month, Paul Conway showed and talked about the development process of his great Dragon Age addon Craggy Island.
For the challenge you could work in groups or solo (and being the unsocial hermit that I am, I went solo, naturally) to design and implement a game based on two themes. For this first challenge the themes were disease pandemic and failure. An extra 'unofficial' condition was then tagged on... "no zombies"! Blatant discrimination!
Seeing as how there are already pandemic games dealing with the global scale, I started thinking on a more local scale, but still involving infection vectors in populations (yeah, so not really pandemic at all).
I had originally been thinking of having a virus trying to spread throughout a group, but being combated by a genetic 'cure' that was also spreading through the population. I was going along the lines of having single gene recessive/dominant phenotype resistance to the virus, so that there could be simple varying degrees of protection. This ended up getting a bit too complicated, including the need for a reproducing population and that would have just gotten messy, in more ways than one. It was also becoming more of a simulation and less of a game.
So I ended up slightly reworking it so that it became VvV... Virus verses Virus. It is a two-player game where each player has to create a virus that infects and kills the fewest amount of people. The virus with the lowest score wins (the failure theme).
Ah... yeah, zombies.
I only used them as I was going to use the isometric engine I had been making last year (and promptly ignored) and the only avatar spritesheets I had to hand were Brookes Metaplace zombies, so I decided to use them. Otherwise it would have had to be squirrels!
Players change a simple set of sliders to alter the attributes of the viruses, which effect how they spread and survive.
Range: is simply how close another zombie has to be before it possibly be infected by a contagious zombie.
Incubation: determines how soon a zombie becomes contagious after being infected (the smaller the bar the sooner)
Infectiousness: is how aggressively a virus will try to infect
Lethality: is how easily the virus will kill (this also plays a role with incubation time)
Durability: is how well the virus can survive in the host zombie
Making one attribute less effective made others more effective.
Each zombie gets both a random generic health and immunity values to help fight off the viruses, so there are differences from one zombie to the next on how they will cope.
Another degree of randomness is the fact that zombies are constantly wandering around the map.
"all we wanna do is infect your brains"
Your initially infected zombie could walk into a corner and never spread its virus before it manages to get rid of it itself.
The game starts by randomly infecting one zombie for each virus. I probably should have allowed players to examine the initial state of the map and then select their preferred zombie to infect.
Each infection scores one point, each death three. Each game takes a couple of minutes, although sometimes it can drag on when those damn brain eaters refuse to just die; the game ends when their are either no zombies left 'alive' or there are no current infections. Otherwise you can just end it prematurely.
Infected and contagious zombies... poor little things
So there it is. It's not at all balanced and there are probably some show-stopping bugs in there somewhere, but it works for the most part for me. Any feedback would be welcome. Comment below!
I should probably get back to working on something that might make some money now. Speaking of which, I must post about how Trinhex and Blockdown have done since my last post.
My thanks to Lisandro from 7lay.net for being willing to sponsor the game, and for being so patient during the whole bidding process, which I allowed go for... a while :).
Starting into its fifth day of being published the game has racked up almost 20k plays so far on about 130 sites. On Newgrounds it managed to get a rating of 3.43/5 with about 1,400 plays before falling into the black hole of obscurity. On Kongregate it scored about 2.8 after 965 plays to date, with the last few hundred plays thanks to a post from Raph.
Game 'number 3', that I had been prototyping at the time of the last post and that is now known as Blockdown (FGL link), has been completed for a while and is waiting to see if it can pick up a potential sponsor. We seem to be in a bit of an early summer lull for the flash sponsorship market, so it may have to wait a while longer. Although my games appear to be in a constant lull in terms of attracting sponsor interest. :)
In the meantime, I've been slowly working away on an isometric engine for a possible Tower Defense-esque game...
It's been just over six weeks since I released my first attempt at monetising a complete flash game, Pompetaire, out into the wild. This game just had a pre-loader ad attached (no attempts at finding sponsorship were made) and was uploaded to Kongregate (no ads), Newgrounds and added to Mochi's distribution list.
To date the game has earned a grand total of.... wait for it..... $2.37! $0.85 of that comes from Kongregate from 666 plays (35% of a total revenue of $2.42) all of which were mostly from the first week, with the rest, $1.52, coming from MochiAds from just under five thousand ad impressions. Over a third of the mochi earnings came from a single site, onlinespiele24.org, which only picked up the game over three weeks after the game was first released.
Suffice to say the game never "gained traction", to borrow Metaplace's phrase, with reviews being decidedly average, hovering just above the 50% mark.
So all in all a failure!
But with every failure there are lessons to be learnt, some of which I had in mind when putting together my next game Trinhex.
Spot the reused assets!
This is a colour matching game based upon Raph Koster's original game Wheelwright
This time I decided to take the sponsorship/licensing route by using FlashGameLicense.com, which can provide the potential of a few thousand US dollars per game, assuming you can manage to entice a sponsor to put in a bid. So far the game has been available to potential sponsors for just over two weeks now with no solid offers, but it is still considered too early to say how it will do. It may take up to a month or two before the right sponsor comes along.
In the mean time I am working away on game number 3...
The game is now "finished" and has been sent out to fend for itself in the thunderdome that is the net. I hope it doesn't get too savagely beaten!
It is currently awaiting approval to be added to Mochis Partner Publisher list and is also up on Kongregate. The relative success of the game on Kongregate will depend mainly on the rating it gets from the community there, so feel free to sign up and give it a 5-star rating! And then get everyone you know to do the same. ;-)
I'm now over halfway through the second week of my self-imposed two week time limit for creating a flash game. I'm mainly in polishing mode now, making everything look pretty. Apart from the ads, which I have yet to put in, it is probably 90% there.
I've also decided on a name. Pompetaire! I guess I probably have to explain that...
Since the game is basically Spider Solitaire, I decided I'd call it something-taire; it was just a matter of figuring out what the something should be. As things in the game are mostly grouped into lots of five, I thought perhaps Pentaire or Quintaire. Although Pentaire doesn't exist, there is a Pentair, which is a water services equipment supplier, so that was a bit too close. Quintaire appears to be a surname (or sometimes a first name).
I ended up going a bit more obscure and decided to use the oscan word for five, which is pompe, so I end up with Pompetaire. As far as google is concerned this word simply doesn't exist. At all. This has the added benefit of allowing me to be able to track the spread of the game by searching for any mentions of the word used on the net (not that I have high hopes that it will spread far and wide).
I still have a few questions for myself on the gameplay - as to whether it is perhaps a bit too easy - so again I would greatly appreciate feedback from play experiences at various levels!
In this version the 'strict' and 'non-strict' rules are merged; where a 'strict' move, as indicated by the green placement guide, only costs one point per move, and a 'non-strict' move, as indicated by the red placement guide, costs 5 points per move. I am toying with the idea that I should only allow up to 5 non-strict moves per game, so it would be up to the player to decide when best to use those moves. All assuming the current version doesn't provide enough challenge.
On Monday I started my effort to complete a flash game in two weeks, making a simple Spider-Solitaire-as-a-colour-matching-game... game.
For this project, the intent is not necessarily to make the most engaging play experience ever, but simply to just get a finished, polished game posted on a game portal site. That being said, I'd still like for the game to be somewhat fun to play, so I'd like to get feedback from some play testing, if you would be so kind to give it a shot please?
Below is a working prototype (meaning it won't look like much, as it is all place-holder graphics, but the gameplay is mostly all there) that I've put together in the two and a half days since getting started.
[edit: prototype removed. see post above]
How to play:
To win a game you need to clear the board of all pieces.
To clear pieces you need to stack shapes of the same colour in increasing 'size' from top to bottom.
Shape 'sizes' in order, ranging from 1 to 5, are circle, oval, triangle, square and pentagon. So you want circles on the top of the stack, pentagons at the bottom.
(This will hopefully be more intuitive with final graphics)
You can place a shape on top of another shape of the next size up regardless of colour (e.g. triangle on a square, square on a pentagon).
If you disable the 'strict' setting, you can place a shape on top of any larger shape (e.g. circle on a square)
You can only move multiple shapes at the same time (moving one shape and everything above it) if all the shapes are of the same colour and in the correct order.
Not all of the pieces are on the board at the beginning. You need to choose when to 'deal' in these additional pieces, which will be added to the top of each column.
A column cannot go more than 12 pieces high. If a column is 12 high, it will block the next deal.
If you find yourself not able to make a move then you lost that game (no prompt as yet)
That's the basics of it. It's not too hard to understand once you go through it once.
There are three levels: easy with just one colour, medium with two, and hard with four (it starts on medium).
If you have some time to perhaps play through a few games of each, with and without the strict setting, I'd greatly appreciate it if you could give some feedback below. Was it challenging? Was it fun to play? Or only somewhat? Completely boring? I hate these games!
There are likely to be a few bugs floating about, so if you run into any if you could mention them below too would be a great help.
Thanks for your help!
[edit]
updated the graphics a bit to make it a bit easier on the colour blind.
With the closing of Metaplace a lot of its users are now asking themselves "where to now?". Some are looking for another social hangout, others, like myself are thinking more about game development environments. There has been a lot of talk about Unity 3D, which I've been meaning to have a look at for a while, but first I think I'm going to try out Flash... again (although to be pedantic it'll be Flex).
After my 'success' of creating That Falling Block Game on Metaplace (okay, okay, I'll finally admit it... It's TETRIS!), and buoyed by the success stories of others, I thought I could try my hand at creating a real flash game rather than trying to contort a virtual world platform into one. So last summer, after finally figuring out you could create flash apps for free with the command line flex compiler (therefore avoiding the need to spend hundreds on the Flash development program) I started to make a flash game!
Adventures in Actionscript The scripting language, ActionScript, had changed a bit since I had last played around with it, so I used this great tutorial for making games in flex to get myself up to speed (since AS is from the same family as JavaScript it wasn't too hard to get in to).
I had decided to try and make a Peggle like hit-the-targets-with-the-bouncing-ball game, just without gravity. That was probably my first mistake; wrangling with physics while trying to learn the ins and outs of a platform is probably not the best idea. My second, and most likely biggest, mistake was to write all that physics interaction myself, rather than use a 3rd party library. It seemed a somewhat reasonable decision; there was only going to be one moving object, with everything it could collide with being stationary (walls, circles and slingshotting around black holes). I had worked on this game on and off over three months of the summer and most of that time was spent trying to get one ball to bounce correctly off those various surfaces, or ensuring that it would bounce at all and not just pass through the object.
Ultimately it was never finished. The last version of the game was complied on the 27th of August, full of debug code...
(hit r to reset if the ball gets stuck somewhere)
The aim of the game was:
Hit each of the targets in sequence. There could be up to eight, where they were coloured red, orange, yellow, etc. Each time you hit the next in the sequence it played a musical note on a scale.
The player first places the ball within a small starting area and then aims where to shoot the ball (fine-aim with mouse-wheel or x/c). From then on the player has no control as the ball bounces around the level, hitting targets and traps.
You started out with 3 hit-points. Each time you hit the next in the sequence you got an extra hit-point. Each time you hit some spikes you lost a hit point.
When you got to 0 hp the level reset.
Getting too close to a black-hole and falling in would reset the level.
If you have more than 3 hp you could spend 3 hp to stop the ball in its tracks so that you could re-aim without resetting the level (single-click while ball is moving).
When aiming you could increase or decrease the length of the aiming guide line (up or down keys), which would have modified the amount of points you could get (the longer the line the fewer points you would would get during the level)
For each level there would be at least one way to aim the ball in such a way that you could hit each target without losing any hit-points (a perfect completion)
Those last two were what probably lead to me dropping the project (or at least turning a break into an indefinite break). Although there were still some annoying collision bugs to iron out, most had been taken care of and I was beginning to move on to actually creating levels. I hadn't made a level editor, instead defining the levels in text files as a list of objects and their positions and orientations. This is what originally lead to the extendible aim guide in order to try and find at least one perfect route per level. It was a rather clumsy way to go about building a level; I'd enter an object into the text file, recompile the flash movie, play the level to see how it interacts with the path of the ball, make adjustments in the text file etc. etc., all the while the aim guide was buggy in its own collision detection.
Luckily before I got too far in this mind numbing process I noticed something odd about how the ball would bounce off the circular targets. A small difference in the approach trajectory of the ball to a circular target made a larger difference in the departing trajectory. When trying to aim the ball so it would hit multiple circular targets in succession, a tiny initial fine-tuning in aim resulted in a massive difference in the path after a few bounces. Whether this is just a property of collisions between circles or as a result of my code, it would have taken the only form of skill and control away from the player, leaving them with just a shoot and hope strategy, as well as making an already painful level creation process near impossible.
I decided to put it all aside for a while, but then never revisited it to find the actual cause.
Back to square one With my impending post-Metaplace attempt at entering the flash game scene, I hope I'll have learnt the lessons of my previous effort and start out with something a bit less chaotic. A bit more mundane. Like a colour-matching game!
It was in the middle of my 3,487th game of spider solitaire (on medium I must admit) that I thought 'I could turn this into a simple match-5 game, with coloured shapes in place of suited cards!'
So come January 2nd that shall be my task, and I give myself... oh, lets say two weeks to get it done!
So we got the news yesterday that Metaplace.com will be closing down as a User Generated Content platform at the end of the year, a little over two years since alpha testing first began. My sentiments pretty much echo those of Crwth. Metaplace had the right ingredients, but perhaps just needed a pinch of something or other and a little bit longer to cook before serving.
I first got my hands on Metaplace, after following it from its announcement, only a few months after alpha testing started; and other than a handful of days where I hadn't been online, I've been there every day since. Even during the weeks when I didn't even touch the building tools I was always sitting in Plain Old Chat keeping up to date with the goings on of the community.
To me Metaplace was a way to help me understand the making of games, providing an engine for rapid prototyping and a great way to get rapid feedback from the community. I tried a number of projects with varying levels of success, the best of which ended up as featured content in Metaplace Central.
Initially I thought the appeal of Metaplace was that it was going to allow people to make their own little mini MMOs (mMO?), but for a large part the visible community ended up being a bunch of 12 year olds pretending to be 14 year olds looking for 'boyfriends' and 'girlfriends', whatever that means in a virtual context. The more dedicated builders began to retreat into various unseen corners while still creating some great content in the form of Adventure games or Platform games or other interesting experiments.
Over time I had been making little MMO systems, such as health bars and skill toolbars, for people to use to try and make games; although I could probably have made them a bit easier to use! I only just recently started to pull these together myself in an attempt to create a group based dungeon crawl. It had been a while since I had made anything in Metaplace and working on this, coding AI, making walls disappear when you walk into a room etc. was getting me excited about the whole thing all over again.
I was also just starting to help work on Crwth's HTML5 client, which I was finding really interesting.
But alas, it is not to be.
I'll be interested to see what now becomes of the Metaplace platform. I'm thinking we will be seeing professionally created games come out of it, rather than the "virtual worlds for everyone" approach.
All the time I spent on Metaplace was time well spent. I learned a lot, got to know some great people, which will all undoubtedly have an effect on whatever future projects I end up working on.
Raph recently gave an interview at the Austin Game Developer Conference, during which the topic of Star Wars Galaxies and its resource system came up. It didn't take much for me to start thinking about the way I wanted to handle resources in Tile Tactics, or the more idealised version in my 'dream mmo'.
By 2005 I had really started to get more and more interested in game design and development and was building up a bit of a library of books on the subject. I had even started making games, having gone through a few projects over the course of the year (that's not to say any of them were ever finished!). The first of which I had totally forgotten about until I found it again just now.
It was really a project to try and learn some Flash, but as a "Hello World" goes it was a bit over the top. It was a turn-based territorial game that connected to a MySQL database via PHP. The grid that represented the map was built using dynamic 3D elements, so that you could zoom in and out on it and also rotate it.