Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Ice Cream Overlord: Space Conquest - dev log

A topic by lordcoppetti created Dec 23, 2015 Views: 1,752 Replies: 4
Viewing posts 1 to 5
Submitted (3 edits)

A bit late to the party, but not too late hopefully!
I've been brainstorming for some hours (even getting distracted at work) I ended up with a logical and realistic concept.

So let's begin with the story...

After a few thousand years the Earth faced extinction due to a global ice age that ended up freezing the entire planet, suddenly a new life form that had been dormant the whole time awakens and uses the remaining ships and technology to escape towards space and find warmer planets (but not too warm) to live in, the ice cream people...
Not much time goes by until aliens from other galaxies find about this so called "ice cream" and how tasty they are, so they decide to invade and have them under control. Luckily, they were not alone in space and were not an unusual life form.
Lords from a far away galaxy hear about the situation and the Overlord of the whole ice cream people decides to go on a mission to rescue and conquer back the homes of their friends.

What about the gameplay?

This will be a 2D platformer mix of a shooting action but more puzzle oriented. The Overlord of ice cream has his arsenal of cones to his disposal, however these cones are not as powerful as bullets and can't kill enemies, they will be used to push them away, making them fall on pits, and even defending against enemy bullets. The player will have to rescue a certain amount of ice cream people to win and proceed to the next level.

So many ideas I could be adding... but hey! it's a jam, can't be too ambicious and I already feel this is kinda crazy!
I will be working to bake all that is needed and if time is with me I'll see what it ends up being.

Follow updates on twitter if you're interested: https://twitter.com/LordCoppetti
I'll be updating with in-game stuff here.

Hope some of you guys did read lol, I'll be checking other's dev logs ;)
Good jamming to you all!



A very raw sketch of mine with the player, hopefuly I will get help with the art :P

Submitted (1 edit)

Day 1 - Into coding.

Spent the afternoon pulling together the basics to have the player moving and jumping around a level.
While toying with physics I decided to make the player slide instead of walk/run, since it's an ice cream :D

Creating levels:
Using Tiled map editor and libgdx-utils (by dermetfan) to parse box2d data into the game so I can easilly edit collisions or any type of body/fixture within tiled.

Game entities:
Extending Box2DSprite and using a simple interface to update and to communicate collisions.

Collisions:
Thank you box2d contact listener

Player stuff:
For jumping im using a footer fixture as a trigger to detect if the player is grounded, got away form ray casting this time..
Decided to add some states so it will be easier to handle animations and other stuff in the future.

Wasted some time creating a HUD class, had to learn about scene2d stuff, damn tables :P

All is going as planned, soon my mate will get into the artistic side and I'm also tempted to try Spriter.
Linking the repo: Github - Ice Cream Overlord

Happy jamming to you all! And merry Christmas! (or intense coding night while totally drunk)

Submitted

Day 2 - Wall climbing

A mechanic I decided to add is to simply do wall climbing sort of megaman x style but while also being affected by the gravity and falling velocity of your ice cream mass.

I'm going to briefly explain how I did it.

Sticking to walls:
Added 2 fixture sensors to the sides of the player, actually only 1 is "active" at the time depending if he's facing left or right (I simply destroy and create the fixture). When the thing is against a wall and the player is not on ground you can stick by pressing towards the wall. When the conditions are met a force is applied against the wall making the player stuck but is also affected by gravity and it's velocity, so if you're falling fast you won't be able to hang on it.

Wall jumping:
Another force that I apply to bounce off the wall and a little upward, so while on air you can maneuver. Had to refactor input logic to use an adapter, less spagghetti, less mindfuck...

Misc:
Added the sprite that marccio made (thank you!) with sliding and idle animation, probably not final yet.

Next I'll be sketching some enemies to use, lots of things to do in order to cook this thing up, but it's nice to be learning while doing it :)

Github - Ice Cream Overlord

Submitted

Days 3-6

After taking some days to chill on January and then getting bombarded at work, I got back into jamming this week.

Art style:
Considering that time was precious, we decided to go back to a simple style of 8x8 sprites and tiles, even with 0 experience on doing this, Marccio made all the sprites for the ice cream overlord, the chibi ice creams (the ones you have to rescue) and some slug enemy. And I made very crappy tiles :P

Load game entities from Tiled:
I already had the box2d collision data being parsed, but now all the game entities are defined on a layer and are loaded at runtime for the corresponding Level and created in the game: Player, enemies, chibi ice creams.


Adding some behavior to enemies (AI):
I took a while thinking about this, but I decided to make something easy to escalate for the enemy behavior, be it walking, firing at the player, etc.
It works by making the Enemy entity having an Array of AiBehavior implementations, which are supposed to do different things with the enemy, so it's easy to add or remove them.
For now only a WalkBehavior is implemented.

Rescuing the ice creams:
Important mechanic that defines if you finish a level, these blue guys are happily waiting there for you to just get them, make some happy face then leave disappear. This was done by marccio

Misc:
Improved the mechanic for the player to feel more intuitive for the player and agile, thanks to Marccio testing the game.
Box2D collision filtering was added by using categories and masks, kinda messy but got it working fine at least.
Added acid/lava pits that will instantly kill the player (respawn and restart the level).


Ice Cream Overlord - Github

Submitted

Days 7-8.5

Intense last weekend tweaking, programming the missing features, bugs, box2d collision going bananas, etc. I really would love to document more but bed is a priority now. However we finally were able to close the cycle and say: "this is the game"

HUD:
This lacking important thing was missing but was added thanks to Marccio

Enemies:

Tweaking box2d values, changing colliders to be CircleShapes to get away from stucking, and adding a "Stomping goomba" type of enemy :P

Title and Level selection screen:

The title screen is very basic, however the level selection was very important. Unlocking levels when you finish them, a par time and your best time when finishing it. Also Level data saved to json! So it can keep the unlocking progress and the time scores

Gameplay life cycle:

The player has 3 lives, if he gets touched by any enemy he loses 1, however if he falls on lava or acid it's game over (which means level restart). The level has to be finished by collecting all the chibi ice cream and getting back to the ship:

Firing cones:

Almost forgot! The overlord can fire some happy cones that will make the enemies fall back by disabling it's linear velocity and applying a force to center.


Left out due to time:
Out of what I planned doing, only 2 out of 10 or more type of enemies were implemented, and no enemies firing at you, etc.
No cocky effects, particles, expensive animations or backgrounds.
Luckily the player mechanics and the levels we're designed is enough to call the thing quite a fun experience, which I like very much :P

Music and sound will come in a few hours...

Some stuff I learned:

Interactive games like side-scrollers can get tough when using box2d if one is not very used to it and wants to tweak it a lot to have the desired experience. Issues like tunneling, enemies not colliding with bumpers to turn around, etc. Our CollisionHandler class turned into some spaghetti monster at this point.

In the end it was an excellent experience for an amateur like me in gamedev and libgdx, despite all the hard work it took (and taking) it's really awesome to see your game working. Now only remains to design a bunch of extra levels.

Good luck to all those who didn't finish their games yet!