updated devlog banner; fixed formatting issues in 2023/09 and 2023/10 devlog entries
This commit is contained in:
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
<BannerTitleAlt
|
<BannerTitleAlt
|
||||||
title="Project N5; Development Log"
|
title="Project N5; Development Log"
|
||||||
banner="/projects/projectn5/devlog/2024/0323/unity_overview.webp"
|
banner="/projects/projectn5/banner2.webp"
|
||||||
wide
|
wide
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|||||||
@@ -6,53 +6,69 @@ My progress in September 2023. Updates are shown in chronological order.
|
|||||||
|
|
||||||
## One Small Step
|
## One Small Step
|
||||||
A character has been added and the player can control them! It's influenced by gravity too, although it falls at an unnaturally rapid rate when thrown off the edge. This is because the downward velocity kept increasing even when grounded, and is fixed in a later version. Also, the character faces the wrong direction; moving forward results in the character facing the camera instead of forward. This is fixed once I replaced the character model with one where it's more obvious which side is forward.
|
A character has been added and the player can control them! It's influenced by gravity too, although it falls at an unnaturally rapid rate when thrown off the edge. This is because the downward velocity kept increasing even when grounded, and is fixed in a later version. Also, the character faces the wrong direction; moving forward results in the character facing the camera instead of forward. This is fixed once I replaced the character model with one where it's more obvious which side is forward.
|
||||||
|
|
||||||
<Video src="2023-09-16_00.mp4" />
|
<Video src="2023-09-16_00.mp4" />
|
||||||
|
|
||||||
## Gravity Functions As It Should
|
## Gravity Functions As It Should
|
||||||
Gravity is fixed, and the camera angle has been adjusted, though not fixed to the character yet. It's kind of funny watching this little character move around.
|
Gravity is fixed, and the camera angle has been adjusted, though not fixed to the character yet. It's kind of funny watching this little character move around.
|
||||||
|
|
||||||
<Video src="2023-09-16_01.mp4" />
|
<Video src="2023-09-16_01.mp4" />
|
||||||
|
|
||||||
## Look Where You're Jumping!
|
## Look Where You're Jumping!
|
||||||
The character can jump! Jump height is set unnaturally high as a test. The player can double jump, but only from a grounded state; falling off a cliff counts as the first jump, thus only allowing the player to jump once. Also, gravity is broken again. Also, a player-controllable camera! This was implemented with a custom third person camera plugin, which proved to be a bit jumpy.
|
The character can jump! Jump height is set unnaturally high as a test. The player can double jump, but only from a grounded state; falling off a cliff counts as the first jump, thus only allowing the player to jump once. Also, gravity is broken again. Also, a player-controllable camera! This was implemented with a custom third person camera plugin, which proved to be a bit jumpy.
|
||||||
|
|
||||||
<Video src="2023-09-16_02.mp4" />
|
<Video src="2023-09-16_02.mp4" />
|
||||||
|
|
||||||
## A Better Camera
|
## A Better Camera
|
||||||
The camera system has been replaced! This implementation simply uses `SpringArm3D` with a `Camera3D` as its child. This allows for the camera to not clip into walls (though it really likes clipping into the floor for some reason), and overall feels much more responsive. Not just that though – the player's movement input is now adjusted to where the camera points! When the player presses forward, they are now moving in the direction the camera is pointing. Previously, movement was independent from the camera's rotation, which of course wouldn't make sense for a game like this.
|
The camera system has been replaced! This implementation simply uses `SpringArm3D` with a `Camera3D` as its child. This allows for the camera to not clip into walls (though it really likes clipping into the floor for some reason), and overall feels much more responsive. Not just that though – the player's movement input is now adjusted to where the camera points! When the player presses forward, they are now moving in the direction the camera is pointing. Previously, movement was independent from the camera's rotation, which of course wouldn't make sense for a game like this.
|
||||||
|
|
||||||
<Video src="2023-09-16_03.mp4" />
|
<Video src="2023-09-16_03.mp4" />
|
||||||
|
|
||||||
## Helicopter Ratchet
|
## Helicopter Ratchet
|
||||||
character go spinny
|
character go spinny
|
||||||
The pause menu also makes a brief cameo! It's designed in a very simple way, and meant to replicate the pause menu from Ratchet & Clank 2002 while being legally distinct!
|
The pause menu also makes a brief cameo! It's designed in a very simple way, and meant to replicate the pause menu from Ratchet & Clank 2002 while being legally distinct!
|
||||||
|
|
||||||
<Video src="2023-09-23_00.mp4" />
|
<Video src="2023-09-23_00.mp4" />
|
||||||
<img src="2023-09-23_01.webp" alt="Close-up of the new pause menu">
|
<img src="2023-09-23_01.webp" alt="Close-up of the new pause menu">
|
||||||
|
|
||||||
## A Gun
|
## A Gun
|
||||||
The gun can shoot! Or can it? Well, the bullet doesn't exactly move…
|
The gun can shoot! Or can it? Well, the bullet doesn't exactly move…
|
||||||
|
|
||||||
<Video src="2023-09-24_00.mp4" />
|
<Video src="2023-09-24_00.mp4" />
|
||||||
|
|
||||||
Bullets have been converted into `RigidBody3D` which is great for collision but unfortunately initialises the bullets to be affected by gravity. Since the bullets are also parented to the player, it means that the fallen bullets move with the player. I don't think that's how guns are supposed to work.
|
Bullets have been converted into `RigidBody3D` which is great for collision but unfortunately initialises the bullets to be affected by gravity. Since the bullets are also parented to the player, it means that the fallen bullets move with the player. I don't think that's how guns are supposed to work.
|
||||||
|
|
||||||
<Video src="2023-09-24_01.mp4" />
|
<Video src="2023-09-24_01.mp4" />
|
||||||
|
|
||||||
The gun now shoots properly! Not only do the bullets fly, but they fly in the correct direction as well! This is possible thanks to simple vector math, as the only thing needed to calculate a velocity vector for the bullet is to put two nodes on the gun, one at the front (where the bullet will fly from) and one further back, and calculate a vector between the two nodes!
|
The gun now shoots properly! Not only do the bullets fly, but they fly in the correct direction as well! This is possible thanks to simple vector math, as the only thing needed to calculate a velocity vector for the bullet is to put two nodes on the gun, one at the front (where the bullet will fly from) and one further back, and calculate a vector between the two nodes!
|
||||||
|
|
||||||
<Video src="2023-09-24_02.mp4" />
|
<Video src="2023-09-24_02.mp4" />
|
||||||
|
|
||||||
<img src="2023-09-24_03.webp" alt="Diagram for the bullet trajectory calculation">
|
<img src="2023-09-24_03.webp" alt="Diagram for the bullet trajectory calculation">
|
||||||
|
|
||||||
## Dialogue
|
## Dialogue
|
||||||
The game now supports talking with NPCs. I only implemented this because I thought of something funny and I wanted to put it in the game.
|
The game now supports talking with NPCs. I only implemented this because I thought of something funny and I wanted to put it in the game.
|
||||||
|
|
||||||
<Video src="2023-09-25.mp4" />
|
<Video src="2023-09-25.mp4" />
|
||||||
|
|
||||||
## Conversation Camera
|
## Conversation Camera
|
||||||
There's now a special camera angle for conversations with NPCs! Unfortunately, as the camera is bound to the player, and the player's position is unmodified when entering a conversation, this can result in blocking the NPC, or even facing a different direction entirely – how rude!
|
There's now a special camera angle for conversations with NPCs! Unfortunately, as the camera is bound to the player, and the player's position is unmodified when entering a conversation, this can result in blocking the NPC, or even facing a different direction entirely – how rude!
|
||||||
|
|
||||||
<Video src="2023-09-28.mp4" />
|
<Video src="2023-09-28.mp4" />
|
||||||
|
|
||||||
## Don't Waste Your Ammo!
|
## Don't Waste Your Ammo!
|
||||||
Guns now have ammo counters! They can only fire for as long as they have ammunition left – as it should be. Unfortunately, unloading bullets unto Sans does nothing.
|
Guns now have ammo counters! They can only fire for as long as they have ammunition left – as it should be. Unfortunately, unloading bullets unto Sans does nothing.
|
||||||
|
|
||||||
<Video src="2023-09-29_00.mp4" />
|
<Video src="2023-09-29_00.mp4" />
|
||||||
|
|
||||||
## Smooth Player Movement
|
## Smooth Player Movement
|
||||||
Using `lerp()` as well as `lerp_rotation()`, the player's movements are now smoother than before! The character rotates smoothly whenever pointing in a given direction and when strafing. Furthermore, the character now has a slight acceleration and deceleration in their movement.
|
Using `lerp()` as well as `lerp_rotation()`, the player's movements are now smoother than before! The character rotates smoothly whenever pointing in a given direction and when strafing. Furthermore, the character now has a slight acceleration and deceleration in their movement.
|
||||||
|
|
||||||
<Video src="2023-09-29_01.mp4" />
|
<Video src="2023-09-29_01.mp4" />
|
||||||
|
|
||||||
## Language Options
|
## Language Options
|
||||||
The game now supports English and German as language options! Godot makes this very easy. All that's needed is to create a table with keys and the corresponding translations, export it as CSV, add them to the game (and don't forget to add the generated translation files in the project settings as well!), and then use `TranslationServer.setLocale(locale)` to set the language whenever needed – game defaults to English `en`. For UI elements, supplying the key in the text field suffices, and for strings in script, use `tr(key)`. Easy as that!
|
The game now supports English and German as language options! Godot makes this very easy. All that's needed is to create a table with keys and the corresponding translations, export it as CSV, add them to the game (and don't forget to add the generated translation files in the project settings as well!), and then use `TranslationServer.setLocale(locale)` to set the language whenever needed – game defaults to English `en`. For UI elements, supplying the key in the text field suffices, and for strings in script, use `tr(key)`. Easy as that!
|
||||||
|
|
||||||
<Video src="2023-09-30_00.mp4" />
|
<Video src="2023-09-30_00.mp4" />
|
||||||
|
|
||||||
## Imposing dominance <!-- get it? -->
|
## Imposing dominance <!-- get it? -->
|
||||||
@@ -60,28 +76,53 @@ The game now supports English and German as language options! Godot makes this v
|
|||||||
|
|
||||||
## Learning to Model and Rig a Character
|
## Learning to Model and Rig a Character
|
||||||
today's task: modelling and rigging a character from scratch
|
today's task: modelling and rigging a character from scratch
|
||||||
|
|
||||||
<img src="2023-09-30_01.webp" alt="A wiremesh of a mesh with a wiremesh of Ratchet from Ratchet: Gladiator in the background as reference">
|
<img src="2023-09-30_01.webp" alt="A wiremesh of a mesh with a wiremesh of Ratchet from Ratchet: Gladiator in the background as reference">
|
||||||
|
|
||||||
(Ratchet for scale)
|
(Ratchet for scale)
|
||||||
|
|
||||||
whaddya lookin at pinhead
|
whaddya lookin at pinhead
|
||||||
|
|
||||||
<img src="2023-09-30_02.webp" alt="The previous head but with a very long neck">
|
<img src="2023-09-30_02.webp" alt="The previous head but with a very long neck">
|
||||||
|
|
||||||
is it a bird? is it a plane? no, it's arms
|
is it a bird? is it a plane? no, it's arms
|
||||||
|
|
||||||
<img src="2023-09-30_03.webp" alt="The head attached to a set of shoulders and arms in t-pose">
|
<img src="2023-09-30_03.webp" alt="The head attached to a set of shoulders and arms in t-pose">
|
||||||
|
|
||||||
*Mii Maker theme intensifies*
|
*Mii Maker theme intensifies*
|
||||||
|
|
||||||
<img src="2023-09-30_04.webp" alt="The head and arms with a torso added, standing next to Ratchet from Ratchet: Gladiator">
|
<img src="2023-09-30_04.webp" alt="The head and arms with a torso added, standing next to Ratchet from Ratchet: Gladiator">
|
||||||
|
|
||||||
feet are difficult
|
feet are difficult
|
||||||
|
|
||||||
<img src="2023-09-30_05.webp" alt="A close-up of rectangular feet">
|
<img src="2023-09-30_05.webp" alt="A close-up of rectangular feet">
|
||||||
|
|
||||||
yoooo actually, not half bad
|
yoooo actually, not half bad
|
||||||
|
|
||||||
<img src="2023-09-30_06.webp" alt="A close-up of the rounded-out feet">
|
<img src="2023-09-30_06.webp" alt="A close-up of the rounded-out feet">
|
||||||
|
|
||||||
that one might hurt
|
that one might hurt
|
||||||
|
|
||||||
<img src="2023-09-30_07.webp" alt="The left arm of the character, with a face twisted to suggest that the arm has been broken">
|
<img src="2023-09-30_07.webp" alt="The left arm of the character, with a face twisted to suggest that the arm has been broken">
|
||||||
|
|
||||||
we have a character!!
|
we have a character!!
|
||||||
|
|
||||||
<img src="2023-09-30_08.webp" alt="A full-body shot of the newly-modelled character">
|
<img src="2023-09-30_08.webp" alt="A full-body shot of the newly-modelled character">
|
||||||
<i>we've been rigged!</i>
|
|
||||||
|
*we've been rigged!*
|
||||||
|
|
||||||
<Video src="2023-09-30_09.mp4" />
|
<Video src="2023-09-30_09.mp4" />
|
||||||
|
|
||||||
`we come in peace`
|
`we come in peace`
|
||||||
|
|
||||||
<img src="2023-09-30_10.webp" alt="The new character with its skeleton on the left, and its skeleton without the mesh on the right">
|
<img src="2023-09-30_10.webp" alt="The new character with its skeleton on the left, and its skeleton without the mesh on the right">
|
||||||
|
|
||||||
brief texture troubles
|
brief texture troubles
|
||||||
|
|
||||||
<img src="2023-09-30_11.webp" alt="The textured character on the right and the texture of the character on the left">
|
<img src="2023-09-30_11.webp" alt="The textured character on the right and the texture of the character on the left">
|
||||||
|
|
||||||
my character is now a playable character
|
my character is now a playable character
|
||||||
|
|
||||||
<img src="2023-09-30_12.webp" alt="The newly-textured character holding a purple blaster in-game">
|
<img src="2023-09-30_12.webp" alt="The newly-textured character holding a purple blaster in-game">
|
||||||
|
|
||||||
<img src="2023-09-30_13.webp" alt="The Buzz Lightyear meme where he says: 'hmm yes the character here is made out of character'">
|
<img src="2023-09-30_13.webp" alt="The Buzz Lightyear meme where he says: 'hmm yes the character here is made out of character'">
|
||||||
@@ -85,6 +85,6 @@ In order to test animation and rigging of arbitrary 3D models, I created these b
|
|||||||
|
|
||||||
<Video src="2023-10-25_01.mp4" />
|
<Video src="2023-10-25_01.mp4" />
|
||||||
|
|
||||||
I like my bread with bones, <i>thank you very much.</i>
|
I like my bread with bones, *thank you very much.*
|
||||||
|
|
||||||
<img src="2023-10-25_02.webp" alt="A rigged slice of toast in front of a toaster reading 'Deniz' Quality Toasters'">
|
<img src="2023-10-25_02.webp" alt="A rigged slice of toast in front of a toaster reading 'Deniz' Quality Toasters'">
|
||||||
BIN
static/projects/projectn5/banner2.webp
Normal file
BIN
static/projects/projectn5/banner2.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 51 KiB |
Reference in New Issue
Block a user