Journal Entry 1
Date: 6.4.2024
Activity:
- Layout of a playable plane:
-> The foundation where the character runs;
-> The background of the game;
-> MovingPlatforms for barriers and assistance in passing through the game level;
-> Obstacles objects;
-> Doors and the objects that open them.
Notes:
On the first day of working on Project B, I began creating a layout for a playable flat surface, aiming to ensure smooth interaction for simple passing of the game. My inspiration stemmed from a One-page level design from Project A.
My initial step was focused on establishing the foundation - the ground upon which the main character could navigate. Then, I implemented Global Lighting (Global Light 2D object), although I had to dim it slightly to achieve a more natural illumination suitable for the underground atmosphere of the level. Additionally, I didn't overlook the importance of showcasing a light source on the surface, so I added Freeform Light 2D object to create the impression of sunlight.
After integrating lighting and constructing the basic level layout, I decided to test it. Considering that my project involved moving platforms, I incorporated them, taking into account the requirements for their movements within the level. Furthermore, I couldn't resist adding interactive objects such as Doors, PushableBoxes, PressurePad, DestructableColumn and Switches, which would enhance the gaming experience, making it more engaging and diverse.
Invested hours:
• Creating a playable plane and objects to aid in progression: 5h 30 min
Outcome: Not yet
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Date: 12.4.2024
Activity:
- Level Decorations:
-> Adding plants and spikes (Spikes are depicted as crystals);
-> Adding statues;
-> The addition of Spot lights as the illumination of plants and the shimmer of crystals.
- Adding first aid kits.
- Adding enemies to the game.
Notes:
During the completion of the project, I noticed an error in my finished terrain layout. Immediately, I admitted it and started correcting it. Next, I proceeded with adding enemies, health packs, and decorations. Decorations included plants, lianas, spikes, statues, and spot lightings. Mostly, I had done all of this before, so it didn't pose any major challenges.
In total, I added 6 enemies, and 2 first-aid kits. Most of the Spot lights 2D were added as decorations to show the glow of plants and the shimmer of spikes like crystals.
Invested hours:
• Level Decorations: 8h 50 min
Outcome: Not yet
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Date: 13.4.2024
Activity:
- The continuation of adding decorations.
- The text at the end shows the end of the game.
- Implementation of the double jump.
Notes:
On the third day, I continued to decorate my level with the aforementioned decorations. At the end of the level, I wanted to indicate that it was completed and wouldn't continue further. To achieve this, I decided to add text at the end. I did it as follows:
In the GameObject hierarchy, I created an object by right-clicking -> UI -> Text - TextMeshPro. This created a Text object within the Canvas object. Then, I adjusted the size and placement of the text in the desired location. In the TextMeshPro - Text (UI) component in the Inspector of Text object, I wrote in the Text Input "The End" which would be displayed at the end of the game. Next, in the Canvas component in the Inspector of Canvas object, I set the Render Mode to World Space. This was done so that the text would be visible when the game is launched. After launching the game, the text 'The End' could be seen.
On the One-page design, it was mentioned to implement a double jump, so I decided to do that.
For this, I found the PlayerCharacter.cs file and began making changes for the additional second jump. I defined two variables:
protected const int MaxExtraJumps = 1; //How many extra jumps I allow,
protected int ExtraJumps.
Then, on line 533, within the UpdateJump() function, I added lines of code to detect the second jump.
And in the end, the function looked like this:
public void UpdateJump()
{
// Remaining from the initial function UpdateJump()
if (!PlayerInput.Instance.Jump.Held && m_MoveVector.y > 0.0f)
{
m_MoveVector.y -= jumpAbortSpeedReduction * Time.deltaTime;
}
//This makes the double jump
if (CheckForJumpInput())
{
if (ExtraJumps < MaxExtraJumps)
{
SetVerticalMovement(jumpSpeed);
ExtraJumps++;
}
}
}
Following that, I moved to the CheckForGrounded() function (currently on line 439), where after the character lands, the ExtraJumps variable needs to be reset to zero.
if (grounded)
{
ExtraJumps = 0; // Reset number of jumps when we land
}
In the end, Ellen can perform a double jump.
Invested hours:
• Continuation of the decoration: 2h 40 min
• Text: 50 min
• Double jump: 1h 20 min
• Build of project: 5 min
Outcome: ProjectB_Game (uploaded to the itcho.io page as a .zip file)
Leave a comment
Log in with itch.io to leave a comment.