Bubble Pack becomes Freak Factory

I’ve been heads down building stuff for Bubble Pack for a while now, which is why I haven’t talked about it much. A lot of news has built up.

A New Name

The game now has its final name and art style. The name is Freak Factory. What were bubbles are now little critters called Freaks, and what was a simple box is now a factory in which you make these Freaks. And if you don’t keep them contained they will escape and the game ends. Trust me, it all makes sense and looks wonderful. Continue reading

Bubble Pack update – monetisation

It used to be the only question about monetising your game was how much to charge, and you could leave that decision until quite late in the development. But in this era of free-to-play we have to ask ourselves how we propose to charge for the game, and we have to ask early because the decision can have significant ramifications for the game.

How to charge for your game is sometimes very simple and other times very hard. With Bubble Pack I have always known that I want the initial download to be free. There are two reasons for this Continue reading

Bubble Pack update – gameplay

I have been playing around with the gameplay for Bubble Pack, adjusting it to get the right difficulty balance. There are lots of small adjustments that can be made to make the game a little easier or a little harder and I also tried a couple of bigger changes.

First I tried letting the player set the power at which the ball is thrown. Unfortunately, this made the game far too easy whilst also making the controls more complicated, so I ditched that idea. Continue reading

Bubble Pack – my first indie game

Wow, setting up a company is a lot of work. More than I remember from last time I did it (fourteen years ago!) but I’m getting there. All the admin has had a substantial impact on development of my first game, so progress is slow. I have also neglected to tell you about the game I’m making, which is remiss of me. That changes now.

My first game is called Bubble Pack. It is a physics game – how many bubbles can you pack into the screen. You launch each bubble to bounce around the screen, and when it stops it expands until it touches the side wall or another bubble. You have to pack as many bubbles into the screen space as you can. Continue reading

Why use an entity system framework for game development?

Following my previous post on entity systems for game development I received a number of good questions from developers. I answered many of them in the comments on that post, but one question stands out. It’s all very well explaining what an entity system framework is, and even building one, but why would you want to use one? In particular, why use the later component/system architecture I described and that I implement in Ash rather than the earlier object-oriented entity architecture as used, for example, in PushButton Engine.

So, in this post I will look more at what the final architecture is, what it gives us that other architectures don’t, and why I personally prefer this architecture. Continue reading

What is an entity system framework for game development?

Last week I released Ash, an entity system framework for Actionscript game development, and a number of people have asked me the question “What is an entity system framework?”. This is my rather long answer.

Entity systems are growing in popularity, with well-known examples like Unity, and lesser known frameworks like Actionscript frameworks Ember2, Xember and my own Ash. There’s a very good reason for this; they simplify game architecture, encourage clean separation of responsibilities in your code, and are fun to use.

In this post I will walk you through how an entity based architecture evolves from the old fashioned game loop. This may take a while. The examples will be in Actionscript because that happens to be what I’m using at the moment, but the architecture applies to all programming language. Continue reading

Ash – a new entity system framework for Actionscript games

I’ve been doing a lot of stuff with entity systems recently. At try{harder} I gave a presentation about entity systems, which was warmly received and led to many interesting conversations. I also created example projects with the Ember and Xember frameworks and had fruitful conversations with Tom and Alec about their projects, even contributing a few minor bits of code to them.

But now I’ve written an entity system framework of my own. It’s called Ash and you can find it on Github. Continue reading

Four ways to link a list (a performance test on linked list architectures)

In looking at entity systems for Flash games, and particularly the projects Ember and Xember, I was wondering what is the most efficient architecture for the linked lists used by these systems. So I ran some tests.

The code for these tests is all available on Github.

The lists in these frameworks are used to manage the component sets for the systems that run the game. These lists need to provide three functions – add an item, remove an item, and loop through all the items, and they need to do this as efficiently as possible.

So I created four different architectures for linked lists and ran a few performance tests. Continue reading