added all devlogs
This commit is contained in:
97
src/routes/projects/projectn5/devlog/202309/+page.svelte
Normal file
97
src/routes/projects/projectn5/devlog/202309/+page.svelte
Normal file
@@ -0,0 +1,97 @@
|
||||
<script>
|
||||
import BannerTitle from "$lib/banner-title.svelte";
|
||||
import TableOfContents from "$lib/table-of-contents.svelte";
|
||||
import Video from "$lib/video.svelte";
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<title>2023-09 | denizk0461</title>
|
||||
</svelte:head>
|
||||
|
||||
<BannerTitle title="Project N5 Progress Update: 2023-09" subtitle="" banner="/projects/projectn5/devlog/previews/202309.webp" />
|
||||
|
||||
<p>My progress in September 2023. Updates are shown in chronological order.</p>
|
||||
|
||||
<TableOfContents />
|
||||
|
||||
<h2>One Small Step</h2>
|
||||
<p>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.</p>
|
||||
<Video src="/projects/projectn5/devlog/202309/2023-09-16_00.mp4" />
|
||||
|
||||
<h2>Gravity Functions As It Should</h2>
|
||||
<p>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.</p>
|
||||
<Video src="/projects/projectn5/devlog/202309/2023-09-16_01.mp4" />
|
||||
|
||||
<h2>Look Where You're Jumping!</h2>
|
||||
<p>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.</p>
|
||||
<Video src="/projects/projectn5/devlog/202309/2023-09-16_02.mp4" />
|
||||
|
||||
<h2>A Better Camera</h2>
|
||||
<p>The camera system has been replaced! This implementation simply uses <code>SpringArm3D</code> with a <code>Camera3D</code> 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.</p>
|
||||
<Video src="/projects/projectn5/devlog/202309/2023-09-16_03.mp4" />
|
||||
|
||||
<h2>Helicopter Ratchet</h2>
|
||||
<p>character go spinny</p>
|
||||
<p>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!</p>
|
||||
<Video src="/projects/projectn5/devlog/202309/2023-09-23_00.mp4" />
|
||||
<img src="/projects/projectn5/devlog/202309/2023-09-23_01.webp">
|
||||
|
||||
<h2>A Gun</h2>
|
||||
<p>The gun can shoot! Or can it? Well, the bullet doesn't exactly move…</p>
|
||||
<Video src="/projects/projectn5/devlog/202309/2023-09-24_00.mp4" />
|
||||
<p>Bullets have been converted into <code>RigidBody3D</code> 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.</p>
|
||||
<Video src="/projects/projectn5/devlog/202309/2023-09-24_01.mp4" />
|
||||
<p>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!</p>
|
||||
<Video src="/projects/projectn5/devlog/202309/2023-09-24_02.mp4" />
|
||||
<img src="/projects/projectn5/devlog/202309/2023-09-24_03.webp">
|
||||
|
||||
<h2>Dialogue</h2>
|
||||
<p>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.</p>
|
||||
<Video src="/projects/projectn5/devlog/202309/2023-09-25.mp4" />
|
||||
|
||||
<h2>Conversation Camera</h2>
|
||||
<p>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!</p>
|
||||
<Video src="/projects/projectn5/devlog/202309/2023-09-28.mp4" />
|
||||
|
||||
<h2>Don't Waste Your Ammo!</h2>
|
||||
<p>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.</p>
|
||||
<Video src="/projects/projectn5/devlog/202309/2023-09-29_00.mp4" />
|
||||
|
||||
<h2>Smooth Player Movement</h2>
|
||||
<p>Using <code>lerp()</code> as well as <code>lerp_rotation()</code>, 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.</p>
|
||||
<Video src="/projects/projectn5/devlog/202309/2023-09-29_01.mp4" />
|
||||
|
||||
<h2>Language Options</h2>
|
||||
<p>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 <code>TranslationServer.setLocale(locale)</code> to set the language whenever needed – game defaults to English <code>en</code>. For UI elements, supplying the key in the text field suffices, and for strings in script, use <code>tr(key)</code>. Easy as that!</p>
|
||||
<Video src="/projects/projectn5/devlog/202309/2023-09-30_00.mp4" />
|
||||
|
||||
<h2>Imposing dominance</h2> <!-- get it? -->
|
||||
<img src="/projects/projectn5/devlog/202309/2023-09-29.webp">
|
||||
|
||||
<h2>Learning to Model and Rig a Character</h2>
|
||||
<p>today's task: modelling and rigging a character from scratch</p>
|
||||
<img src="/projects/projectn5/devlog/202309/2023-09-30_01.webp">
|
||||
<p>(Ratchet for scale)</p>
|
||||
<p>whaddya lookin at pinhead</p>
|
||||
<img src="/projects/projectn5/devlog/202309/2023-09-30_02.webp">
|
||||
<p>is it a bird? is it a plane? no, it's arms</p>
|
||||
<img src="/projects/projectn5/devlog/202309/2023-09-30_03.webp">
|
||||
<p>*Mii Maker theme intensifies*</p>
|
||||
<img src="/projects/projectn5/devlog/202309/2023-09-30_04.webp">
|
||||
<p>feet are difficult</p>
|
||||
<img src="/projects/projectn5/devlog/202309/2023-09-30_05.webp">
|
||||
<p>yoooo actually, not half bad</p>
|
||||
<img src="/projects/projectn5/devlog/202309/2023-09-30_06.webp">
|
||||
<p>that one might hurt</p>
|
||||
<img src="/projects/projectn5/devlog/202309/2023-09-30_07.webp">
|
||||
<p>we have a character!!</p>
|
||||
<img src="/projects/projectn5/devlog/202309/2023-09-30_08.webp">
|
||||
<p><i>we've been rigged!</i></p>
|
||||
<Video src="/projects/projectn5/devlog/202309/2023-09-30_09.mp4" />
|
||||
<p><code>we come in peace</code></p>
|
||||
<img src="/projects/projectn5/devlog/202309/2023-09-30_10.webp">
|
||||
<p>brief texture troubles</p>
|
||||
<img src="/projects/projectn5/devlog/202309/2023-09-30_11.webp">
|
||||
<p>my character is now a playable character</p>
|
||||
<img src="/projects/projectn5/devlog/202309/2023-09-30_12.webp">
|
||||
<img src="/projects/projectn5/devlog/202309/2023-09-30_13.webp">
|
||||
Reference in New Issue
Block a user