Inlägg

Visar inlägg från november, 2019

Overworld Background

Bild
The new over-world background is done! It was made to look like a desert filled with strange objects and rubble. Included in it there maybe some objects that at first looks similar to ones found in our world, but on closer inspection you'll notice that that is not the case. It looks like this: This image took quite a while to make and was inspired by multiple images found online. I'll link the sources of inspiration below: I'm pretty sure that is the terminator lying on the ground here in the image above. I loved the astetic of the black spindly tower against the desert background. This one above seems to be a fan made pixel art animation for the movie planets of the apes.

Death Animation

Bild
I made an additional animation for the playable character which is played when the character or a clone dies. The animation itself is reflecting a death in which the character is shot by a laser from any source (from a clone or from a turret). The animation itself looks like this: After adding the new animation to the player sprite sheet it now looks like this: In this sheet there is also a shooting animation (the two sprites in the upper right). These two are used when the player shoots a laser out of their hand, usually towards a clone to kill them. I didn't feel it was necessary to create a whole new post for this since it was just two frames of animation.

First animations

Bild
Today I have made the first animations for the game. It took me a long while to getting used to animation, and I got some help from Nathan in my group to find inspiration and "good to knows" when it comes to animation. One such inspiration was this video that Nathan linked to me: After viewing this, I got to work and made multiple iterations of animations. The first ones I made was the idle animation and the running animation. The idle animation I made quite easily, I just wanted the character to move, but very subtly. This was the end result of the idle animation: Here's how the first iteration of the running animation looked: This animation wasn't very energetic though. I asked in our chat what the rest of the group thought, and they agreed that this more looked like the character was walking rather than running. As such I made a new animation where I let the characters movement be more emphasized. This was the result: This time, I was ...

Updated background

Bild
Since the Hue was updated, the old background has now been updated as well. Here is the updated background:

Update in hue

Bild
We felt like the hue of the background and the tile set was too flat, and in the end hurt the enjoyment of the game. It was hence decided that more color would be added to the game to make it less dim. We decided that two different themes of coloring would be used. One hot, and one cold. The reason for this is because we also want to add a second background that is overground instead of just having an underground one. The overground will use a dessert theme, and will hence use the warmer tiles, while the underground will use the cold one. Here is the updated tile sheet: Here are the new colors that we decided to use:

Button

Bild
Today I also made a button. This button is split into different sections in the sprite sheet; the left part is for the unpressed button and vise versa for the right. The top part is for when the button is off as default, and bottom is for when the button is on by default (when the switchable object is turned on by default, and is turned off when the button is pressed):

Laser Turret

Bild
Today I worked on a laser turret and laser sprites. The turret is made into two parts so that the head part can move interdependently from the body. It looks like this:  One of the heads are to be used as the turret is turned on. While the other is off. For the laser, I simply used a sprite sheet where I split the laser in three parts, the first part is the repeated body part, the second one is the origin of the laser, while the last part is the end point of the laser:

More Work on tileset

Bild
Today I have been working further on the tile sheet. To simplify it, I removed the rocky parts from the tiles and instead put them as separate tiles in the tile sheet. Unfortunately there is a bug in unity that makes a small gap between tiles sometimes when using a smooth camera. The reason for this bug is floating point errors between the positioning of the tiles and the position of the camera.  To solve this issue, I made the resolution of the individual tiles in the sheet 34x34 instead of 32x32 which they were before. The extra pixels are placed around the already drawn 32x32, and are simply a copy of the pixels next to them. The final sprite sheet then looked like this: The problem and the solution for this problem is well described in this video:

Artwork

Bild
Today I've worked hard on artwork. Linked bellow are images of exactly what I've done: Here is the main character that I designed. This is the idle sprite. Here are some sprites of the main character. As of now, there are no animations, just singe frames. The frames are: idle, running, jumping, shooting, solidifying, and dying. Here's an image of the background while I'm working on it in Photoshop. It took quite some time to get all layers correctly. I saved all layers as individual images so parallaxing becomes possible for the background. Here are some tiles I made for platforms and some background elements. It's far from done, and it requires a hefty amount of work to look good. I have learned a lot by making this simple tile-sheet.

Time Mechanic

Today I implemented the time mechanic. The mechanics function is to create a clone of the player each time the player presses the reset time button. The clone then performs the same movement and actions that the player did before pressing the reset button. To make this happen, what I do is record the input from the player using a applies scripts that checks all registered input for each frame. if a registered input is pressed down during a frame, the time since the start of the loop is recorded. Once the button stops being pressed, a second time is recorded. These two recordings together with the information of the buttons are used to create a coroutine which is applied on the clone. The coroutine will set the input button press to true and then false in the clones input manager by reading the recorded timestamps. The reason why I chose to use coroutines is because this makes the use of an update function in clones completely unnecessary, which allows the game to use a lot more...