My most anticipated platformer game for 2015

Let me start with saying that “Ori and the Blind Forest” is by far the platformer game I have most enjoyed in 2015 and even a little further back, but I will write more about it some other time, for now I want to focus on a new platformer game that should release later on this year and it looks like it can be a real competitor for Ori in my book, the game’s title is “Unravel”.

In Unravel you play Yarny, Yarny is a thread of yarn that extends as you move, use your yarn, well hmm, yourself, to advance in the levels and solve puzzles.

From the trailer below you can see that this game has an amazing atmosphere and beautiful graphics and animations, looks like a real treat.

There is no official release date yet, but it is set for late 2015, more info on the official Unravel website

Devblog part #12 – Another two types of platforms and we’re done with step 2

I added another two types of platforms to the game and that closes step 2 of the development, which means all platform types are set in code and are functioning properly.

The first one I added works pretty much like the conveyor belt, only this one is pushing up.

The second one is a balanced platform that is affected by the player’s weight.

Next step will be adding all obstacle types to the game, which is mostly done already.

Devblog part #11 – A new type of climbable surface

I added a new type of climbable surface to the game,  you can climb up/down, hold run for faster climb and jump to climb even faster or to exit the surface, I used the chains graphics but this should be vines growing around the walls, it can also be ladders or ropes with the same logic.

Devblog part #10 – Gameplay variations and a new level type

Most games usually revolves around the same type of gameplay throughout the game, I believe a game can tend to get a little boring with the same gameplay after playing it for a while.

Although most of the levels in my game will be based on the main controls/mechanics/gameplay scheme, I plan on incorporating a few other types of gameplays throughout the game.

It can be a very small change, like for example a level that keeps pushing forward forcing you to move fast or something more complex like an infinite scrolling jetpack level mentioned in my previous post.

In the newest addition to the game the player is placed on a moving cart that keeps pushing right, the gameplay here is simplified but not necessarily easier, you cannot stop the cart or move faster, you can either jump or hold UP when approaching an intersection to choose the higher path (done on the first intersection in the video), you can alternatively jump and land on that road, if you don’t hold UP you will continue on the lower path.

Devblog part #9 – A new alpha version with some new cool stuff

Bad Pad – Alpha version 0.2 has been released today!

There are now 39 levels to play, the new levels incorporate most of the platforms and game mechanics mentioned in my previous posts.

Remember you can now swim in some area, swim up with the JUMP button, swim down with the DOWN arrow, obviously you can swim left and right and you can also swim faster with the RUN button held down.

You will also need to use the bash drop on one level, this is done by holding the DOWN key while jumping or falling then pressing the JUMP button.

And now for the new stuff, level 39 is a new boss level, on this level I used a completely different system of controls and level design, on all the previous levels I had built the layout in advance and the player is moving around it, like in this screenshot

screen4

Level 39 is built more like a mobile run game with an infinite layout, first lets take a look on how the layout really looks like.

endlessLevel

So, we basically have 1 layout in the size of the whole screen and it is duplicated 3 times, the character is always in the center of the screen on the X axis and instead I am moving everything else to the left or right, this gives the feeling that the character is moving around the level.

Now lets say you move right, then what I am really doing is moving all the background to the left, so you’re walking from layout 1 into layout 3, once you reach layout 3 I take layout 2 in place it to the right of layout 3 creating an endless loop, I do the same when you walk to the other direction and this is how it looks like.

Try it yourself on level 39!

Devblog part #8 – A new type of platform – Magnetic

Another type of platform has been added to the game, magnetic platforms, these platforms will draw the player to them from below and shoot the player up when he leaves it from the sides, I have 2 variables on these platforms, one for from what distance should it start pulling the player in and the second is how far the player get thrown when leaving the platform, so I can make some cool variations and combinations, of course the area from which you can get sucked in should be mark visually with magnetic waves, so you won’t have to guess it.

Stay tune for Bad Pad Alpha build v0.2 releasing this week, with 12 extra levels (and maybe more) and some of the other game mechanics that were not incorporated in the first 25 levels, also some of the previous levels were changed.

Devblog part #7 – Building and designing the levels.

As I mentioned before in devblog part 4, I am building the game and designing the levels around a 32×32 tilemap,
this makes it much easier to build the levels and place the platforms, on some levels I went down to a 16×16 grid and there are some occasions where I place the objects outside the grid, usually when they are not rendered in power of 2, like the door for example or the key if I want to place it on the floor.

screen1

screen2

screen3

In this level you can see an example for the pushing fan, the yellow box represents the affected area, I have 2 variables on each of these boxes, pushX and pushY so I can push the player in all possible directions, this obviously happens only when the player overlaps the box area.

screen4

 

Devblog part #6 – Swimming – New game mechanic added.

Here is another new addition to the game mechanics, swimming, swim up with the jump button and swim down with the down arrow and of course move left/right also works.

The swimming emulation was done by manipulating the player’s gravity factor when overlapping the water tile.
The water is just a solid blue color tile with 40% opacity and a cool webgl water effect on it.

Devblog part #5 – Bash Drop – New game mechanic and platform type added.

Here is a new addition to the game mechanics, Bash Drop, while jumping/falling holding down the DOWN arrow and pressing the JUMP button will drop you down faster to the ground, this can be used to avoid mid air obstacles and to break through a new type of breakable platform, there should be a breaking animation, but that comes later.

Devblog part #4 – Working with tiles and memory management.

I think the biggest lesson I learned about making a game, is memory management, especially if you are designing for mobile, keep your asset small, in powers of 2, use tiles!, work with low number of animation frames.

Most mobile devices uses a very weak graphical processor, which has many limitation, so first of all try not going over 1024×1024 on mobile, always take power of 2 in consideration, for example a 129×129 image will use the memory of a 256×256 image, I found that rendering a lower image than scaling it up a little back doesn’t look that bad on most cases, so if I need a sprite to be 160px big, I will probably render the image in 128×128 and scale it up.

Background objects for example can be rendered in a very low resolution and then stretched back, it will make them really blurry which will give you the extra effect of distance and will save you tons of memory.

Back to Bad Pad, this time around I had a little more experience with level design and working with tiles, so first of I decided to work around a 32×32 tileset, that means most of my graphics will be designed and rendered at this resolution, that goes for backgrounds, platforms, obstacles and characters, of course there will be exceptions here and there.

Working with tiles also makes it easier to build levels, especially if your working with platforms, you know the exact distance the player can jump or move on the X axis while jumping, so you can design your levels around those parameters even on a math paper and save a lot of time testing every thing.

For the platforms and the background wall I used tiled images and 9 patched images.

Tiling an images, is a very efficient a way of building a level and saving memory, instead of loading a bunch of separated sprites and instances you just load one and spread it out in a given area.

tileEx2

tileEx1

tileEx3

tileEx4

9 patch is very similar to tile, but with the option of frame border, so if I’ll take a 32×32 image and set it to a 9 patch tile with 4px border (left, right, top and bottom), i will get 28×28 spread tile on the inside and a 4×4 tile as a border, both can be set to tile or stretch, I usually use tile for the inside and stretch for the border.

9patchEx1

9patchEx2

Stay tuned for first playable alpha version releasing early next week!