Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

[DevLog] The Doors Unlocked -- Platformer RPG

A topic by locojosh created Oct 11, 2020 Views: 395 Replies: 16
Viewing posts 1 to 17
Submitted (1 edit)


Hello there!

Recently I have started to remake a game I did like 5 years ago. Then, I made it on a really easy to use game engine- Construct. Now I am making this game on Unity- harder to use but very powerful game engine.

This game is based on the book "The Doors and Roads Unlocked" by Jonathan Steele.

Six days ago I started working more seriously on the game and Devtober seems like a great idea to push myself and the game even further. 

So, even though I am 10 days late, I have really been working on the game every day for 7 days already. 

ABOUT ME

  • Learning to make games
  • Participated on 1 jam before on itch.io - 8 bits to Infinity Jam

TOOLS

  • Unity
  • Inkscape and Krita for art

INTRO TO THE GAME

The Doors Unlocked game is about Deanna's adventure to return to reality. After being mysteriously zapped from her world and separated from her boy-friend, she starts the adventure to find the right door to the true and best world that is beyond her imagination.

2D Platformer 

RPG 

LET'S START!

I will be logging daily my advances on the game.

Feel free to comment, or give your feedback on what you think!

Submitted

GOAL DURING DEVOCTOBER

Finish 3 levels: 

  • Level 0: The Separation- Deanna separated from her boyfriend and saved by a Roman ship. Meets doctor Luke and completes quests for him as Luke considers writing a book about Jesus's life. 
  • Level 1: First door
  • Level 2: Second door

DAY -20

DIALOGUE SYSTEM

Made a simple dialogue system.

For now I have buttons to initiate and continue a conversation.. later on I plan to have a more natural way to start a conversation. 

I also still have to add layout art.

My code is based on the tutorial by Brackeys:

Submitted

Day -19

CONVERSATION START ANIMATION

Button to start conversation shows up when the player comes close to a NPC

When button is clicked, dialog pops up from the bottom of the screen, showing the conversation

It is a cool functionality that I added to the game.. even though it is not truly vital to the game.

TOMORROW

Implement the quest system I have done already, so that Luke can give Deanna, the player, 10 missions, one by one.

Submitted (1 edit)

DAY -18

QUEST SYSTEM



Each quest has a conversation for when it starts,  is on progress and ends

Quest starts automatically after player has conversation with the Quest-Starter NPC

After player completes a quest and goes to talk to the Quest-Starter NPC again, the next quest automatically starts

I had quite fun writing the code of the 6 different scripts that control different parts of the quest system so that they communicate with each other correctly.

It has taken me quite more time than what I thought it would.. but I finally got this part done

I did this last night and am uploading my log a little late

TOMORROW

Adjust input to allow mobile devices to play the game

Export for Android to check it works

Submitted

DAY -17

EXPORTING TO ANDROID


Changed my project platform to Android and exported it after modifying the script to allow touch input.

The touch input detects if there is a swipe to the right, left, up or down touching the screen. It then transfers this to the player's movement (move right or left, jump). 

I based myself on a tutorial on Unity Learn: https://learn.unity.com/tutorial/touch-input-for-mobile-scripting#

I wasn't able to make the Unity Remote 5 app work on my mobile phone. This would have allowed me to preview if the game worked without the need of exporting it. However, I wasn't able to make it work, and so had to export the game and then try it out. 

The touch input doesn't work correctly, but it detects input. The problem I have now is that the player moves to the right, no matter in what direction the screen is swiped.

TOMORROW

Detect both mobile and keyboard input

Rearrange underwater platforms of the game

Platform art

Submitted

DAY -16

MOBILE JOYSTICK INPUT

Joystick: Horizontal movement and jump

Tap + Joystick up or down: Change current platform (a control specific to my game)

After programming for a while my own script for mobile input and not having real success (and after some frustration), I watched a Brackeys tutorial on mobile input and decided to go for a joystick. I did not want to use a joystick because I think just swiping the screen is more natural for a mobile device. But after installing a joystick pack from Unity Store I found a 'Floating Joystick', which means that the joystick shows up in the screen wherever the player touches and then disappears after being used. So, I implemented the joystick on my code, adjusted it to my needs and finally got mobile input for my game!

I did not advance with level design and art as I had planned, but I am very happy with my new joystick.

Brackeys tutorial:

Unity Store Joystick pack: 

https://assetstore.unity.com/packages/tools/input-management/joystick-pack-107631

TOMORROW

Platform sprites

Reorder underwater platforms

Implement 2 quests given by NPC Luke

Submitted

DAY -15

DEANNA ART

Modified a little my previous character of Deanna - the player

Included two different parts: Outline and main body

Each of the different parts will change color depending on the colors of the surroundings

LEVEL DESIGN

Sketched what the first part of the level will look like

Visualized better what the art style of the game is going to look like

---

I first starting working on the player input for the player.. I decided to add a button for jumping, rather than just use the joystick pointing upward

But after doing some coding, I decided to do some art

FIRST ART I DO DURING DEVTOBER!

I starting planning out the level and really liked how it came out

But then, I realized that I need to know exactly how high the player can jump in order to design the level accordingly and I really also wanted to know how the player would look in the level, so I shifted to do the player art.. and I got a pretty good result at the end!

TOMORROW

Player jump input

Finish underwater level scene design

Add colliders to underwater level scene

Submitted

DAY -14

JUMP BUTTON

Added a jump button

Added colliders to the first version of the first scene of the first level

--

It didn't feel right to jump using the joystick, so I added a button to jump (game is for mobile). 

Also adjusted the jump force so that the player jumps roughly double her height.. I will use this info later on when designing the levels.

Did not get to finish the underwater scene art.

TOMORROW

Art : Scenes and platforms of first level

Submitted

DAY -13

ART: FIRST SCENE, FIRST LEVEL

Art of the platforms of the first scene for the first level

-

Would have liked to do more today, but I am happy to have done at least something.

TOMORROW

Luke Missions

Possibly art

Submitted

DAY -12

UNDERWATER LEVEL DESIGN SKETCH

Level 0 takes place under the sea. The player starts at the bottom and his goal is to reach the boat on the top.

Divided the level in essentially 2 parts: a cave the player enters and bubble platforms before arriving to the surface.

Got some ideas for level design from this article: http://devmag.org.za/2011/07/04/how-to-design-levels-for-a-platformer/

SCENE ART: CAVE ENTRANCE

Platforms near the beginning of the level

Mouth of the cave is near the right

BACKGROUND TEXTURE

Square texture for the background. Width dimension is the same as that of the scene art.

Plan to create variations in the future

-

I thought about doing art for each platform and use the same platform sprites over and over again, but because of the art style in which all the platforms are joined together (one can see the black outline going through them all) I decided to create several scene sprites. I then added colliders to the scene sprite from Unity. It might not be the fastest way to create levels.. and not the easiest to change if in need of adjustment, but I decided to go for this method because of the art style.

It feels kind of weird to move the player around without animations.. maybe I will work on this tomorrow.

TOMORROW

Animations: Player Idle and Run

Possibly more scene art

Submitted

DAY -10

MEASURING PLATFORM DISTANCES

Calculating with platforms how high and far the player can jump.

-

Have not worked on the player animations yet.

I missed a day, but I shall persevere..

TOMORROW

Simple fish enemy

World text informing the player how to double jump

Collectable items that add points to the game

Jump bar that activates the double jump 

Submitted

DAY -7

SIMPLE MOVING FISH

Fish that moves between two points

--

Haven't worked much the two past days, but today I got done the simple movement of a fish.

Later on, I plan to make it hurt the player if it collides with her.

TOMORROW

The cave platforms

Submitted

DAY -6

PLAYER DIE ON COLLISION WITH FISH

If the fish collides with the player, the player restarts in another location

ADAPTED THE FISH MOVEMENT

Yesterday, I made the fish change direction by using OnTrigger events. (I am working in Unity)

Today, I eliminated the OnTrigger event and manually made the fish change direction by using a distance limit. I did this because I do not want the player to collide with the fish. This way I can use this same script and implement it on other NPCs that do not kill the player inmediately, but rather just reduce the player's  life.

TOMORROW

Player Colors: Player's color reflects how much life the player has. Player flashes in another color if harmed.

Submitted

DAY -5

PLAYER LIFE = PLAYER COLOR

Player's background color is linked to it's life: When it receives damage (in image above by being hit by the fish), it's color grows darker.

CHECKPOINTS

When player dies (life is less or equal to 0), player restarts in last checkpoint.

The next checkpoint gets activated when the player passes through it.

TOMORROW

Add more platforms

Submitted

DAY -4

AIR TANK- PICKABLE OBJECT

(Image: Player collects 2 air tanks after losing health because of fish)

If player's health is less than 100%, when player collides with the air tank, health increases in 40%

--

Make simple art for the air tank

I also added a few more platforms, however I haven't finished the level yet

TOMORROW

Look up about sounds

Player walk animation

Submitted

DAY -2 (Actually -0.5)

PLAYER ANIMATION

Not finished run animation

--

First time I use Unity's 2d bone-based animation!

I based myself on Brackey's tutorial:

It was really useful; however, I wasn't being able to see it in the actually scene after making the bones and assigned weights to each bone. After looking online I found out I had to add 'Sprite Skin' component. I did  and then it worked. I made a very simple, silly looking run animation. I plan to fix it soon. 

I am happy this tool exists on Unity.. it is much better than making a bunch of sprites and then turn them into an animation!

TOMORROW

Write my postmortem

Upload my progress so far

Submitted

DAY 0 - POSTMORTEM

THE GOOD

  • Graphics: I am very pleased with how the game is starting to look
  • Learned new cool things: 2d bone based animation on unity, quest system, how to upload a mobile game to google play store
  • Concentration: I have been working on the project during my free time. I would start late at night, but once I got started I would loose track of time and usually work for 2-3 hours.

THE BAD

  • Goals progress: I didn't make it even close to my goal. My goal was to finish 3 levels; I didn't even finish one (I am very close). 
  • Focus on priorities: Sometimes I would think of a cool new feature to the game and overlook basic needs of the game. For example, I should have added all the platforms of the first level but instead made the player change colors depending on how much health the player has.

LESSONS FOR NEXT TIME

  • Making a game takes more time than what you think (I already knew this, but somehow I "know" it better now)
  • Do not overlook the importance of planning. One can really like what one does, but if one does not plan well, one can keep and keep working on a game and never finish it