You are not alone.
ACEDIA is a game about being queer.
A 3D first-person immersive game made in Godot, with a focus on atmospheric environments and soundscapes.
The project is fully open-sourced and in the creative commons.
All original assets and code are personally handcrafted for this project, including a custom dynamic near perspective-based planar reflection rendering system for Godot.
GAME IS OUT NOW!
Linus Honer
Whoops! Looks like they don't have a project yet. Maybe ask them to start one?
Shivang Ayush
Check their projects out: Own Your Orbitz, Personal Portfolio
Emma
Check their project out: Blueprint Framework
Mahit Marri
Check their projects out: Prey&Predator simulation (also a project to help me introduce my self to neural networks), Sand simulator
Dory
Check their projects out: Shader Fluid Simulator, Queer or Not, Caesar Engine, TransforMate
Nirvaan
Whoops! Looks like they don't have a project yet. Maybe ask them to start one?
Rowan
Check their projects out: cool title, SlackScan
Colin
Check their projects out: Personal Website, PicoRPG
Toshit
Check their projects out: epoxy-tls, dreamland.js, powerd, m3-dreamland, scramjet, SoM Harbor, Summer Of Making
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
A loooot of visual tweaks for INTERMISSION. Like the finale chase, both sections are in the same scene, so rendering setttings / fog / camera / compositing / audio has to be carefully tweaks to make the two areas have their own distinctive atmosphere.
Experimented with lightmapping, but raytraced lightmap cant really replicate the stylized environment I wanted, esp. for the house of leaves section.
Btw, the floor is a long planar reflector! Used the addon version of my planar reflecto since the ACEDIA version currently in project is somewhat outdated.
Started work on some props for INTERMISSION egg talk.
Took me way too long and it's only half done XD
Finished the texturing for the desk, still has the chair's texturing left to do :p
Scene transitions done, egg(new game+) is mostly finished(?)
INTERMISSION is now 40% random chance of showing in first run, or in new game+
TODO: egg dialog
Level mesh, doors, lighting and soundscapes are now all added for INTERMISSION. Todo: scene transitions
Looks pretty good, but perhaps can be better
INTERMISSION is now in the ACEDIA project.
Level geometry has been ported. Collision, lighting, doors, reflections still has to be ported!
Man porting from Unity to Godot is kinda annoying
Going to put this scene in the game. Probably not all of it, going to section off the rest with some props or something.
Yes both the building and the house of leaves reference is going in
Too bad I didn't plan to include this from the start, gonna lose 8 hours of dev time ;-;
But anyways this will look great in engine after planar reflections are added
Added mouse and stick look sensitivity settings, which were much requested! ;)
one of the lots of qol features and tweaks thats going to be part of 1.2!
qol things will be considered the unreleased 1.1 version of acedia, and the new content will be technically 1.2. But since work for both parts are ongoing together, so I'm just going to skip 1.1 and release all the new stuff under the 1.2 update.
Another test with the weird som issue where time isnt committed with a devlog??
Here's a view of the megastructure I'm transferring to ACEDIA btw
yes theres something the corridors connected to, that will be in the game alsoooo
Devlog's mostly to reset whatever funky thing was happening with time tracking with the last devlog.
Mostly worked on promotion materials (not tracked ;o;) Commited some of my filming setup and refined some readmes and itchio pages. Finished some EARLY work of extracting stuff from my other unreleased project to prepare it for transferring it to ACEDIA. Tbh I started the preparations a loong time ago, but I was never sure abt whether i should link my projects together. But maybe it would be kinda cool, maybe it can work as some sort of teaser? Yes the previous is a house of leaves reference :3
...?
Work on Update 1.2 is underway.
Quality of Life improvements will be the focus, but there's something more going on...
(Experiments from multiple of my scattered projects will be included in this update)
Spent some time making a trailer for the game. Tbh I shouldve published with this trailer finished so that it can boost traffic, but its too late now :shrug:
ACEDIA is published!
All supporting pages are finished, and the github repo is now live!
Spent a lot of time wrestling with Git LFS, but hackatime doesn't track that ¯_(ツ)_/¯
Check it out!
https://kip.gay/acedia
Finished main menu, finale music, and finished build.
Currently working on adding reference to ACEDIA on my personal page and everywhere else
Everything is now prepared except the trailer, and moving the project to github.
This will probably be the last devlog before release!
Finished music production! Unfortunately not tracked since its done on iOS :(
Full soundtrack is published noww
YouTube: https://youtube.com/playlist?list=PLerme6EePpdE4NGK1pCkN5AA0sxJJn0jp&si=B2sjhdxzUvClAwYf
Soundcloud: https://soundcloud.com/kip_music/sets/acedia-original-soundtrack
Also here's one of the songs, [Runner].
Working on music production!
Originally wanted to learn ableton for this project, but if I did that this project is probably gonna get delayed for another month again ;-;
So I'm using garageband instead haha
Since nothing's finished yet, here's the album art I made when I was borrrrrred
Finished the main menu and ending animations,
There's still the intro animation and music left to do.
Probably can release tomorrow or the day after.
Mostly finished the main menu, there's still the intro animation and audio work left to do, but still pretty happy with how fast I got the main UI work done.
Controller navigation is also working.
Didn't have time to explore music production, so I'm working on the extras today.
Finished the pause menu and graphics settings. Now the project's polished enough to be called a proper game!
If I have time, I'll work on the main menu today too.
The finale animation is done!
The finale scene is scrapped, it's going together with this scene instead.
Very happy with the camera work in this shot.
There's a lot of juggling between different animation handlers, had to wrangle controls away from the player and put them back multiple times haha
Current testing doesn't show any situations where the animation chain will get decoupled and result in the bag sibling getting stuck in place (i hope not)
All the peeps are moved by hand cause I'm a idiot and did all the animation manually in Godot instead of Blender ;-;
The chase is complete!
Still some sound work needs to be done, but I'll put that off until I made the music for this project.
All that's left is to take control away from the player and show them the finale cutscene (I may make this interactive, not sure yet)
Here's the full(ish) chase!
(Invisible upload requirements requires me to compress the video a lot ;-; I'll probably make a trailer when everything's done)
Architecture for the finale chase is now complete.
All the peeps and level geometry has been placed, all now to do is to finish the animations.
On schedule for a june release (at lease on schedule for now haha ;-;)
There's around 1000 peeps, which has quite a huge performance hit but occlusion culling + a modern pc should be able to handle it ;-;
Basic lighting done in Godot!
Dialed in an environment that I'm really happy with!
Just need to add some detail lights.
Imported the mesh into godot. GI really makes a lot of difference.
Still lots of work to do make it into a complete section!
Finished building the finale chase cityscape mesh!
The camera's going to zoom out from the player into a top-down view of the whole city.
This is probably the MOST expensive scene in the project, with 400 buildings and hundreds of people (not sure yet if people should be placed via Blender or Godot.)
Hopefully occlusion culling will handle most of this, however it will be hell to enable culling for all these meshes.
With the office chase done, the entire chase sequence is now complete.
The player can actually outrun the bag sibling sometimes, so a few peeps has to be artificially moved around to block the player when they get too close. It's annoying, but I can't figure out a better solution than slowing the player down, which itself would be annoying and weird.
Finished the train chase sequence. It's basically the same as the hallway chase so here's how the mirror works instead.
For planar reflections I added a camera that reflects the player camera's pose. The rendered image is mapped onto the reflector's surface using screenspace UVs.
I'm using perspective projection instead of frustum projection, mainly because perspective has optimal pixel density (1:1 to the screen opposed to the inverse square law), and there's no issues with anti-aliasing.
However perspective has one big issue which is near plane culling. If an object is behind the mirror in just the right way, it could obstruct the reflector camera. Since Godot doesn't support custom near plane matrix yet, I made a system where the reflector tries to find the optimal near plane based on its pose.
The system (dynamic near plane) tries to find the closest near plane to the reflection surface where none of the near plane exceeds the surface. However planes outside the reflector or camera frustum boundary is allowed to exceed the plane.
Conviniently, this also creates a quite optimal camera culling system for the reflectors, so it can be immediately paused when out of view. Unfortunately occlusion culling is nontrivial as that's done on the GPU, so I used manually placed activation areas to mimic occlusion culling for now.
The performance isn't perfect, and there's situations where it's impossible to get a perfect near plane, but combined with render layers it's okay for this project.
Finished the chase intro animation. The bag sibling's walk animation is procedurally driven by their velocity, this makes authoring animations way much easier. Some additional tweaks was done to the player controller so that changing the fov and tracking wouldn't freak out the input handler.
Also tweaked the controller support so that there are now haptics for each footstep. Frustratingly, Godot doesn't support dualsense haptics yet, so a dualshock has to be emulated using something like DualsenseY first.
Finished the supporting code for the bag sibling intro animation (also the finale chase intro)
Had to add special FOV and camera tracking controls and transitions for this particular shot. The code's pretty fragile but it gets the job done for this project.
Here's bag sibling!
Very janky rigging and animations since it's from a scan. Hopefully it will look nicer after I add vertex distortions in the shader after it's imported.
Working on the finale chase scene. You can have three planar reflectors in view simultaneously in this part so the performance hit is pretty substantial (oh yeah gotta make the planar reflection deep dive soon(TM))
Godot's occlusion system is pretty seamless, though. Keeps the drawcalls down at least.
First devlog! gonna post more backlogged stuff later.
Office scene, one of the earliest (and most unoptimized) scenes finished. Really pleased with the ambience audio I did for the hallway.
Reflections are from a custom planar reflection script, I need to document how it worked soon cause its soo janky