Devblog part #3 – Interaction with the scene – Obstacles… and some more platforms.

Here are some of the obstacles and a few more types of platforms I have set up for now:

1. Spikes – fixed place.

2. Rotating spikes – comes in many sizes, can be fixed in place or moving in a sine, on this one I added a nice little little feature, I have 8 image points defined, one for each spike and on collision i pick the closest one to the player and pin him to it, pretty straightforward but cool nonetheless.

3. Metal weights – hanging from a chain and rotating, on collision I throw the player to the other direction to simulate impact.

4. Flying Bee-Bats, can fly in any direction, but usually in preset sine movement.

5. Following enemies – they will follow you if you get close enough.

6. Teleporters.

7. Fans – player can use the UP/DOWN buttons for extra control while diving.

8. Gates and Levers.

9. Electric lines – functions like a jump/fall through platform with an electric current running up and down it.

10. Conveyor belt – standing on this platform will push the player left or right in a predefined speed.

Graphics, graphics, GRAPHICS! …and a cool link at the bottom.

Graphics and assets plays a great role in making a game, I don’t believe that AAA graphics can make a crappy game good, but a good game can certainly decrease in value and appeal due to poor graphics.

Unfortunately I have the drawing/designing skills of a 6 years old, not my strongest suit, but I am working on it.

Usually at this early stage of development graphics and asset should not really concern me, but giving my previous statement I decided to start looking for some free asset and new tools in advance.

Most of my previous projects were made using free asset but with a lot of manipulation and adjustment.
On my first android game Jasper Jump, I was working with a close friend, Shuky Kappon, who is a little more in touch with his graphical artistic side than me, so we came up with the design for Jasper and I used a cool program called Spriter to create the animations, we made most of the asset for this project ourselves but I also used some free assets to save time, since it wasn’t easy and it took a lot of time.

Jasper Jump on Google Play

On the following games i worked alone and used only free asset with modification where needed.

Jumpy Slimy Thingy and Frog Bank are very simple games with simple mechanics and terrible graphics 😉
But it was another stepping stone in my journey and I’m glad I made them.

Jump Slimy Thingy on Google Play
Frog Bank of Google Play

Than came MathNESS, although I used free assets this time too, I put more effort into it and it all fit together very nicely, the game itself is also more complex and the idea in my opinion is great, this game has by far got the most downloads and pay per view ads revenue than all my other games, I believe I will come back to it later on and make it even better, it has some great potential.

MathNESS on Google Play

On my latest game, Squidish, I decided to push myself a little further and I designed and animated the squid character myself, It’s not a complicated character, but for me it was a challenge nonetheless and I am very happy with the result, for the blowfish design i had help from another designer.

Squidish on Google Play

So coming back to Bad Pad, I do intend to make some of the assets and animations myself for this game, I already have a concept and theme in mind and even made some small assets already, but it will be impossible for me to do it all by myself so as I said at the beginning of this post, I am in search for assets.


In my search I found this cool link for indie game developers, it has links to a bunch of free assets libraries and an endless list tools, if you’re an indie developer or you’re thinking of becoming one you should really check it out!

Kudos to David Arcila for this amazing page!

Game Development Resources by David Arcila

Here is a little piece of graphics I already made for the game, an 8 spears wheel.
000b

Devblog part #2 – Interaction with the scene – Platforms

Here are some of the platforms type i have incorporated for now, but i will probably add some more later.

1. Normal solid platform – a standard platform, with no access from below.
2. Jump/Fall through platform – similar to the standard, only you can access it from below, or drop down through it.
3. Pipes – Another variation of the standard platform.
4. Dissolving – Once touched the platform will dissolve and will not reappear again.
5. Disappearing / Reappearing – Fades in and out, player can stand on platform when it’s over 80% opacity.
6. Falling – Platform will shake and fall once you step on it.
7. Bouncer – Jumping on this one will shoot you up higher than a normal jump, holding down the jump button will do an even higher bounce.
8. Sine Moving – left/right, up/down, diagonal.
9. Sine Rotating – 360° rotating platform, player will stick to this platform and will receive it’s angle.
10. Slippery – player will move and accelerate faster and decelerate slower on this platform.

Next devlog will be about Interaction with the scene – Obstacles, stay tuned.

Devblog part #1 – Player movement and controls

The first thing I decided to attack on my new project is probably the most important thing in a good platform game, controlling your character.
The control scheme I choose for my project is pretty basic but still needs to be very tight, so lets break it down,

#1 Walking

I used 4 parameters to define walking; speed, acceleration, deceleration and fraction.

Speed is the maximum speed the character can reach while walking.
Acceleration is the time it takes to reach from speed 0 into walking speed, this gives the character a more real response as he gains momentum while walking.
Deceleration is the time it takes the character to stop walk, this usually should be much faster than acceleration, to give the player a more precise control on where the characters lands when walking/running/jumping through a level.
The last one is friction, this is an extra value I can apply to platforms to make to character react differently, for example walking on a sand or mud surface I will decrease the character’s acceleration and speed and on a wet or icy surface I will increase the speed and deceleration to make it slippery.

#2 Running

Running is basically like walking with higher/lower values, you want higher acceleration and speed and a slightly lower deceleration.
Besides the basic running functions I used the running button to enhance certain aspects of other mechanics, for example when you’re wall climbing, you can jump/climb higher by holding down the run button, you can also use it to give a little extra boost to your jumps or enhance other game mechanics you got implemented.

#3 Jumping and falling

This time I used 5 parameters; strength, acceleration, sustain, gravity and maximum falling speed, lets break this down.
Jumping strength is the maximum value the character can jump to, this is important for you level design, knowing your character’s limit and working with a grid will make it easier for you to place your platforms in the right place without needing to test it all the time.
Sustain is the amount of time the player can hold down the jump button to reach an higher jumping level.
Acceleration is the time it takes the character to reach a full jump, tweak this parameter to achieve different reaction from the jump button, you want the player to be able to reach the top jump value pretty fast but still you want another 2-3 steps in between for variant jump heights.
gravity is just gravity :), it’s the force that pulls you down, this can be low for low gravity levels or negative if you want to push the player up instead of down.
Maximum falling speed, once your reached the maximum jump strength or you have released the jump button the character starts falling, this parameter controls how fast you’ll fall, the difference between this and gravity is that this is used only when the player is falling while gravity pushes the player even when he stands still on a platform, you can use different combination of this, for example, you can start the level with a positive gravity value and a negative falling value, so the character will start on the bottom floor, but when he jumps he will be pushed up and stick to the ceiling.

#4 Wall climbing

The mechanics I used for wall climbing are different from the normal jump mechanics, I don’t use acceleration or sustain, I have 2 pre setted jumping heights, small jump for default and high jump for when holding down the run button, the gravity and fall speed are still affecting the character.
In addition when the player jumps on a wall I push him a little back on the X axis, depending on the direction he is climbing, I also decrease the falling speed when he is close to the wall so he’ll slide down and not fall and last thing is when you press the other direction of the climbing (left/right) I gradually push you out and not in the walking/running speed, so when you jump from wall to wall you won’t lose grip in the process.

Next devlog will be about Interaction with the scene – Platforms, stay tuned.