As we did for the previous fourth Ludum Dare (or at least we tried), we joined Ludum Dare 21 (page is down right now). The theme in this case is Escape.

Based on my lack of imagination I am creating a game similar to Canabalt where you play as a Vampire escaping from some vampire hunters named Vampire Runner. I have almost nothing right now but I am making the effort. If you want to follow my progress, click here.

Ruben is also joining, if you want to follow his progress, click here. His game is a platformer game trying to add some interesting behavior with physics and gravity initially the idea is that you can turn the room 90 degrees, but could be interesting to add levels without gravity, with gravity inversion like VVVVVV and stuff like that.

Hope we finish something in time.

Hi everyone, we found a little tiny bug that made our game run different in different phones, so in some phones the ship would move way faster than in others, and that make the game a little too challenging (impossible to control, always dying, lots of fun).

The other big changes in this updates are some stuff trying to get the game to run better on phones that aren’t the latest and greatest. For now the background will start disabled but you can enable it by going to the settings page (it looks really nice 🙂 but it is expensive to show in some phones, in the future we will try to test the phone or start with the background enabled and detect if it is an issue and suggest to the user that he can disable it to get better performance).

As always, a change log:

• Fixed a bug making the game run different on different devices, some times almost not playable
• Added settings to enable/disable background to improve game performance (disabled by default)
• Added new controller named TargetController which allows you to specify the point the ship should go
• Added a second background which moves with the camera giving a basic idea of parallax
• Changed ship animation to have more frames to be smoother
• Changed internal stuff to improve performance.
• Changed the graphics (background, walls, color of portals)

Also, we have a new gameplay video:

Remember, you can play it right now, just follow the next links:

Hope you enjoy it.

Readers, I know there are some, there is a new update of the game, should be available on Android Market already.
We added different controllers and we are testing how they feel and what method of control people like best.

As always, a change log:

• Added more levels and fixed previous ones.
• Added different controllers to test.
• Added level preview on level selection screen.
• Added settings screen which lets you choose different controllers and test them.
• Added message to show which level is being previewed
• Added animation to visited planet to differentiate easily between start and destination planets.
• Changed ship to receive damage instead killing it instantly, so you now could survive in some cases.
Fixed a bug with lasers.

Remember, you can play it right now, just follow the next links:

Hope you enjoy it.

Most people tell us that the game controls are not fine yet, at least for the Android version. Based on that, we are working on multiple control implementations to test and to let the user choose which controls fits best for him.

### How we manage the controls internally

To control the Ship, we created a structure named ShipController with two methods:

shouldReleaseShip() : boolean
getMovementDirection() : float


The first one returns true if the Ship should be released from the planet, false otherwise. The second one returns a real number between [-1, 1] to determine the rotation direction of the Ship and the rotation speed.

That is just a structure with the values modified by the real controllers, explained next, and processed by the Ship behaviors.

### Classic controller

The classic control is the current one, you have to press one half of the screen to rotate the Ship to the right and the other half to rotate the Ship to the left.

This controller performs an acceleration from 0 to 1 internally to the returned movement direction. This allows the player to rotate in slower but after pressing the controls for a while start rotating faster.

Problems with this controls are that it is too sensitive on Android, it may be enough to find better values for acceleration but we couldn’t find the best solution yet.

### Axis based controller

Determines the movement rotation based on a variable Axis and the current pressed position. The Axis could be horizontal or vertical its position is defined with the first pressed position.

We are just testing and we have to play a bit with the controller values to know exactly if this controller will work or not.

Some options of the controller could be to make the Axis fixed, not dependent of the first pressed position.

### Analog stick based controller

This controller behaves like an analog stick, you decide the desired Ship’s direction and the controller will do its magic to make the Ship points to that direction.

For now, the stick center is dynamic and defined with the first pressed position and the stick direction is defined with the current pressed position and the stick center.

A problem with this controller is we are afraid it could change all the original game play of the game, but could be for the best if it let players control the Ship in an easy way.

We are just testing it also, for now it doesn’t feel easy to use, but again, we need to test more controller values to know that better.

Same as the previous controller, one option could be to have the stick center fixed in some part of the screen.

### Tilt based controller

Finally, the Tilt based controller is just that (not implemented yet), control the Ship using device’s sensors, never worked with that before.

No image in this case, should be easy enough to imagine.

An interesting point of this controller is that it let us recover part of the screen and that could be very important for small resolution devices where your fingers could cover a great part of the screen.

### Final notes

One interesting point in testing different controls is to understand that different players need different controls, some times they need the game to adapt to them and not vice versa. We are thinking in having a controls menu or something to select the Controller you want to use and maybe some internal values.

Also, some of the controls could work for Desktop version too, have to test them a bit there to see if they fit, could be great to play using only the mouse.

As always, hope you enjoy these kind of posts.

I was testing some code about hierarchical structures for the game entities and I tried adding a laser gun to the ship to see how it looks like and here are the results:

Testing random stuff on the game to test code gives me some new gameplay ideas, for example, shooting lasers to some targets to destroy them while avoiding killing some good targets.