added devlog #23

This commit is contained in:
2025-12-07 18:27:59 +00:00
parent c56d1c277d
commit 1c096b4e92
31 changed files with 71 additions and 132 deletions

View File

@@ -1,9 +1,3 @@
---
title: 'Progress Update #1'
date: '2023-09'
tag: '202309'
bannerAlt: 'Ratchet from Ratchet: Gladiator and Sans from Undertale t-posing'
---
<script lang="ts">
import Video from "$lib/video.svelte";
</script>

View File

@@ -1,9 +1,3 @@
---
title: 'Progress Update #2'
date: '2023-10'
tag: '202310'
bannerAlt: Red protagonist lying on the floor, holding a purple blaster
---
<script lang="ts">
import Video from "$lib/video.svelte";
</script>

View File

@@ -1,9 +1,3 @@
---
title: 'Progress Update #3'
date: '2023-11'
tag: '202311'
bannerAlt: A side view of the N5 Blaster
---
<script lang="ts">
import Video from "$lib/video.svelte";
</script>

View File

@@ -1,9 +1,3 @@
---
title: 'Progress Update #4'
date: '2023-12'
tag: '202312'
bannerAlt: White protagonist holding the N5 Blaster
---
<script lang="ts">
import Video from "$lib/video.svelte";
</script>

View File

@@ -1,9 +1,3 @@
---
title: 'Progress Update #5'
date: '2024-02-10'
tag: '20240210'
bannerAlt: Panorama of the environment
---
<script lang="ts">
import Video from "$lib/video.svelte";
</script>

View File

@@ -1,9 +1,3 @@
---
title: 'Progress Update #6'
date: '2024-03-12'
tag: '20240312'
bannerAlt: Protagonist pointing the N5 Blaster into the sky
---
<script lang="ts">
import Video from "$lib/video.svelte";
</script>

View File

@@ -1,9 +1,3 @@
---
title: 'Progress Update #7'
date: '2024-03-23'
tag: '20240323'
bannerAlt: A red enemy being blown up by an incoming rocket
---
<script lang="ts">
import Video from "$lib/video.svelte";
</script>

View File

@@ -1,9 +1,3 @@
---
title: The Arena Update
date: '2024-03-24'
tag: '20240324'
bannerAlt: Protagonist being swamped by many monkey enemies
---
<script lang="ts">
import Video from "$lib/video.svelte";
</script>

View File

@@ -1,9 +1,3 @@
---
title: The Behind-the-Scenes Update
date: '2024-04-01'
tag: '20240401'
bannerAlt: N5 Blaster with its lights turned off
---
<script lang="ts">
import Video from "$lib/video.svelte";
</script>

View File

@@ -1,9 +1,3 @@
---
title: The WHERE HAVE I BEEN?? Update
date: '2024-07-13'
tag: '20240713'
bannerAlt: Protagonist staring longingly into the distance, pointing the N5 Blaster thereto
---
<script lang="ts">
import Video from "$lib/video.svelte";
</script>

View File

@@ -1,9 +1,3 @@
---
title: The Returnal Update
date: '2024-10-12'
tag: '20241012'
bannerAlt: Protagonist aiming at two monkeys
---
I'M BACK!!!!
For real this time!! I've been busy with university, then I started working on other projects including 3D prints, electronics, a different game, then got busy with university again, and now I FINALLY started work on Project N5 again. And, as I promised in [my last update](/projects/projectn5/devlog/20240713), it would not take me another 3 months to get back to development in fact, I undercut that deadline by a whole 24 hours!

View File

@@ -1,9 +1,3 @@
---
title: The Visual Update
date: '2024-11-03'
tag: '20241103'
bannerAlt: Two N5 Blaster side-to-side
---
<script lang="ts">
import Video from "$lib/video.svelte";
</script>

View File

@@ -1,9 +1,3 @@
---
title: The Making of a Protagonist, Part I
date: '2024-11-27'
tag: '20241127'
bannerAlt: Multiple iterations of untextured hand 3D models
---
I've been busy at work on this game! I've not done any programming work lately which I feel a bit guilty about *however!* I've been improving in the 3D modelling department. I started modelling a humanoid character, based on references and my personal ideas, to become my new protagonist for Project N5. Here's what I've been able to do so far, and how I managed to get to this point.
## Laura

View File

@@ -1,9 +1,3 @@
---
title: The Making of a Protagonist, Part II
date: '2024-12-22'
tag: '20241222'
bannerAlt: Laura a-posing and wearing green and brown clothes
---
I have lots progress to share!!
First things first: Laura is, unlike I promised before, not yet finished. However, I have made *so much* progress in the past few weeks that I just wanted to get out already. Here's the current iteration of Laura:

View File

@@ -1,9 +1,3 @@
---
title: The Making of a Protagonist, Part III
date: '2025-02-03'
tag: '20250203'
bannerAlt: Three t-posing untextured Lauras
---
While I've been busy working on another game with friends lately, I've managed to almost completely finish Laura. Here's what I've achieved!
## Visual Personality Adjustment

View File

@@ -1,9 +1,3 @@
---
title: Refactoring
date: '2025-03-16'
tag: '20250316'
bannerAlt: Laura t-posing in front of a smiling water tower
---
<script lang="ts">
import Video from "$lib/video.svelte";
</script>

View File

@@ -1,9 +1,3 @@
---
title: The Making of a Protagonist, Part IV
date: '2025-04-27'
tag: '20250427'
bannerAlt: Sketches of Laura's new clothes
---
## Current Progress
As promised, I've been working on Laura v2 which has now become v4. On the right is the current/soon-to-be previous model of Laura, on the left is my current progress on her new model!

View File

@@ -1,9 +1,3 @@
---
title: Reboot
date: '2025-05-23'
tag: '20250523'
bannerAlt: Untextured Laura in a new purple level looking at two cubes
---
20 months after starting *Project N5*, I decided to restart the project. In fact, a friend of mine assumed I'd do it all the way back in December 2023! Initially, I resisted, though I toyed with the idea for quite a while, before finally deciding that this is best for the project last Friday (**2025-05-16**).
## Why?

View File

@@ -1,9 +1,3 @@
---
title: Remeshing and Recolouring
date: '2025-07-13'
tag: '20250713'
bannerAlt: Close-up of Laura at face height
---
<script lang="ts">
import Video from "$lib/video.svelte";
</script>

View File

@@ -1,9 +1,3 @@
---
title: Freeing the Past
date: '2025-08-16'
tag: '20250816'
bannerAlt: Bottom-up view at Laura v1 in front of a blue sky
---
<script lang="ts">
import LinkList, { type LinkEntry } from "$lib/link-list.svelte";

View File

@@ -1,9 +1,3 @@
---
title: She's Here
date: '2025-10-11'
tag: '20251011'
bannerAlt: Laura idle posing
---
<script lang="ts">
import Video from "$lib/video.svelte";
</script>

View File

@@ -1,9 +1,3 @@
---
title: Growing Pains
date: '2025-10-22'
tag: '20251022'
bannerAlt: Close-up of Laura blinking
---
I realise there's still a lot of comparing between the old and the new in this update, but I promise there'll be new stuff soon... hopefully. Right now, I just want to go over the improvements I made, because creating Laura has been a huge learning process for me and I honestly think it's been quite successful, which I'm really happy about.
## Animation

View File

@@ -0,0 +1,65 @@
<script lang="ts">
import Video from "$lib/video.svelte";
</script>
Much of what I've been doing recently is think about the game and try to come up with story plans, but I still have some progress to show off!
## Decoded
I've been thinking about what kind of devices Laura would use over the course of the game. Besides weapons the scope of the roster I've significantly reduced in recent times there should be functional gadgets as well. One of them which I have started implementing is the Decoder (WIP name):
![Laura holding the temporary Decoder asset](decoder-in-hand.webp)
Obviously she's just holding a temporary asset for the gadget.
The Decoder is meant as a gadget allowing to 'hack' into terminals to access doors, information, etc. think of Ratchet & Clank gadgets like the Trespasser, the Hacker, etc. Actually, I used to think there is a device called "Decoder" in Ratchet & Clank, but there is no such thing I was thinking of the Decryptor and the Infiltrator. Or the Code Bot.
I have so far considered designing a minigame similar to that of Ratchet 3's Tyhrraguise, where you have to follow timed button prompts. This interface currently looks as follows the Ratchet face is currently a placeholder for the finish node:
![Interface of the Decoder with timed button prompts and a Ratchet face denoting the end of the sequence](decoder-interface.webp)
No functionality is currently implemented. To be honest, I'm not entirely sure if I'll keep this or whether I should spend time on something as small as this at all right now.
## Looking At Things
In an effort to make Laura a more lively and interactive character, she can now look at things ([again](/projects/projectn5/devlog/20250316/)), courtesy of `LookAtModifier3D`! And this time, I've implemented a priority queue system where the responsible component will keep references to all `LookTarget`s (`Node`s that can be placed freely in the world), which have a priority assigned to them `LOW`, `MEDIUM`, and `HIGH`. The component will attempt to target the earliest added node of the highest priority.
<Video src="look-at.webm"/>
## Becoming an Author
Possibly the biggest challenge I'm currently facing is: where to take this game story-wise?
I have some ideas. Even for some levels. I want the game to start with a calibration/escape/sabotage sequence to introduce mechanics and the plot of the game. I want it to lead into Laura finding out what happened to her and the world. I then want it to transition into a slow lead-up to the boss battle, a major plot point being when she returns to the place she had been in the intro cutscene and before the catastrophic event that initiated the game's story happened. I potentially want her to meet an ally that helps her in her mission too.
What's also important to me is that Laura is a kind of anti-hero. She sees her own actions as justified without considering the (changed) world around her enough. I want the ending to be not entirely happy something satisfying but also have a degree of regret instilled in Laura.
I'm ambitious in my story. I am aware that this is a huge challenge and I will not go overboard for example, I've decided to keep dialogue fairly minimal, create fewer than 10 levels in total (potentially even re-use some levels), and to use minimally animated cutscenes. I'm just one person and I know that I have to make concessions, but I nevertheless think that I can make something cool.
It's a HUGE challenge, but really, everything so far has been a huge challenge. I learned to code game mechanics! I learned to 3D model! I am learning to animate! Who says I can't write a full game??
I can do this. Even if it takes me a long time.
I'm organising myself using [Obsidian](https://obsidian.md), and it's been working quite well. I have a canvas for all kinds of ideas, a spreadsheet for the level structure, another canvas for level image inspirations, and some smaller things such as my long-established TODO kanban board and a mission tree.
## Other Things I've Been Working On
### Missions Screen
Speaking of mission tree I created a missions screen! It's got similar components to that of Ratchet & Clank 3. The idea is that missions would guide you through the game, with some missions being unlocked by others (sequentially leading you through the game) and others being unlocked when certain conditions are met.
![Overview of the missions screen displaying a test mission](missions-screen.webp)
### Overview Camera
Another return from the old Project N5 builds is the overview camera a per-level `PhantomCamera3D` that displays an establishing shot when loaded into the level. This time, it's solved a bit more elegantly: `Laura` will search for a `Node` in the group `overview_camera`, which will be set to a high priority by default. Once the player moves, the priority is lowered to 0 and the reference to the camera is erased.
![An establishing shot of tall towers in front of Laura](preview.webp)
### A Splash of Colour
I put in a bonus setting to choose Laura's accent colour from a few pre-selected settings. This changes her hoodie, hairtie, headband, and belt buckle light. It's one of those things that I did just for fun and that didn't take much time to implement at all, fortunately. It'll be an unlockable cheat in the bonus menu.
![Laura wearing hoodies of different colours, from left to right: green, blue, orange, yellow, purple](hue-cheat.webp)
In the future, I might use this to also change the colour of the HUD, similar to how [a cheat in Ratchet: Gladiator](https://ratchetandclank.fandom.com/wiki/Deadlocked_Extras_menu#Cheats) is implemented.

View File

@@ -6,6 +6,12 @@ export interface DevlogPost {
};
export const posts = new Map<string, DevlogPost>([
["20251207", {
title: "Playing Games",
date: "2025-12-07",
id: "20251207",
bannerAlt: "An establishing shot of tall towers in front of Laura",
}],
["20251022", {
title: "Growing Pains",
date: "2025-10-22",

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB