Untitled CRT Game
Canceled
Unity 3D
a practice thing i made to practice things.
enjoy this
outdated devlog.
this layout is shit, but fuck it (for now)
screenshots from this game i will never finish #indiegames pic.twitter.com/QnBgLzuERk
— evets huu (@master_huhu) January 29, 2024
close
re-pivoting. stay tuned!
Archived logs #2: ChatGPT & Time Manipulation
Console: Powered by ChaptGPT
Made a console powered by ChatGPT.
Was able to achieve this by using Eddy's ChatGPT plugin that makes API calls to ChatGPT when provided with a token. Pretty straightforward and kinda brutforce. For more info on Eddy's plugin check out his game Yandere AI Girlfriend.
How it works
Short answer is: its basically black magic.
I made a custom
scriptable that takes in a bunch of pre-written information to
prompt it. These information includes:
Concepts are separated into Databases which are just list of strings with the name of the concept and the prompt itself. The idea is based on the progress of the player, they will unlock more concepts so the console can tell them more stuff.
console settings (initial prompt)
prompts database (unlockable lore)
Purpose?
Honestly, I personally believe the best way to utilize language model is video game is for it to
serve as an addition on top of the core experience instead of putting it front and center as the core experience itself. (sorry eddy)
BUT! I really want someone to prove me wrong though, because playing a AI powered game is sick.
At least at the stage of this game's development, the language
models are simply too difficult to control from a designer's
standpoint. It's impossible to predict how it will behave once its
in players' hands. That can become very annoying very quickly.
This
is also why I opt for the Console to be a sort of assistant that
fills in more lore of the game whenever it can, but not to
directly affect gameplay.
Time Manipulation Goodness
Got bored, tried to experiment with some cool Jojo type shit. Since the theme is centered around watching old VHS on a CRT, pausing makes sense, but what if you can REWIND and FAST FROWARD too?
Rewind
Basically taking:
each second and storing them in a list. The list is expandable
based on how many seconds are allowed to be rewinded.
Storing these info per second not per frame is due to
performance concerns.
There is a cooldown to pervent spamming and also to avoid bugs if player time skips to before the game starts etc.
Fast Forward Skip
How the fuck am I gonna make fast forward fun? Fuck it we do time-skip instead.
Enemy now has a collider ball attached to its front, but offsetted. When that collider gets detected by player raycast, it triggers a time skip.
Basically:
if (enemy is about to enter player
view) {
skips time and teleports into player view
}
Coupled with changing the clock, it creates a nice illusion of the King Crimson effect.
The player's momentum is perserved and basically dashes forward btw.
Archived logs #1: Early Development
UI & Retro Feelzz
I forgot to mention the UI is a completely custom system where it
works perfectly with only keyboard controls.
In fact
the entire game is designed to be playable for keyboard only
for that maximum retro feel.
Wander & interception?
- changed wander destinations from world to area around player
intercept state concepting:
thinking whether or not I should be using the current enemy
overlap sphere as a detection range;
OR! sound source, sound level detection range? check wall
between?
state transition: from track - once enemy at 2nd
to last mapped tracking waypoint, check if player is within
range
- if player in intercept range, set destination to player forward
+ velocity (predicted path)
Tracking state updates
worked on track state
now once player exits the active detection from enemy, system
starts noting down player position based on a set interval
worked on patrol state
enemy roams randomly and take rests in between
during rests enemy should look around to search for player
Statemachine
started making a simple statemachine
following this tutorial
where enemy just sits still
where enemy is actively chasing player
an advance state where enemy attempts to find the player based on various info
a state before idle where enemy patrols randomly
an advance state where enemy takes short cut to stop player
statemachine completed!
implemented navmesh simple chase & idle state transition
enemy vision implemented