Sorry, you lot. Told myself the next thing I had to do was put aside the game stuff for a moment and fix the Discord bot, and now it's been a couple of months I've been procrastinating that.

seen from United States
seen from Uzbekistan
seen from Canada

seen from Germany
seen from Maldives

seen from United States
seen from Japan
seen from Germany
seen from United Kingdom
seen from United States

seen from Malaysia

seen from United States

seen from Australia
seen from Russia
seen from Germany

seen from United States
seen from Hong Kong SAR China
seen from Argentina
seen from Türkiye

seen from United States
Sorry, you lot. Told myself the next thing I had to do was put aside the game stuff for a moment and fix the Discord bot, and now it's been a couple of months I've been procrastinating that.
Progress Update: Discovered the Bile
See this update on the forum
If I stop sharing updates for a few months, it might be that I'm feeding strange substances to animals until I know how to turn them into raging monsters.
Righto. The big task you've seen me working on for the last few updates is converting old game assets to formats I can use. And you saw that the exported boss animals in the last update were missing their colours. A "shader" is a program that takes in a bunch of information about the shape of a 3D model and what colour that model should be, and draws it onto a 2D computer screen.
Shaders have to be very fast, so they're often the part of a game where you'll get specific versions written for your specific machine. I've got the code for the shaders of the old game: there's more than 200 variants of each shader, depending on the capabilities of the computer that wants to run it. And unfortunately, with the way they're built, none of them run in Three.js, where I'm rebuilding the game.
Why do I need to look at these shaders when the player demo doesn't need them? Because the exporting program is smart enough to identify simple materials, and swap out the Unity version of the simple shader for the Three.js version of the simple shader. But it doesn't know custom shaders, like the Bile effect over an animal (pictured above on an animal that it wouldn't be seen on in the actual game). So I need to recreate the custom shaders that the old game uses in Three.js.
Unfortunately I didn't realise Three.js has not just one but two easier ways to build shaders than the one I used for this. I suspect it'll be much faster to set up the remaining custom shaders in the simpler shader systems.
It's Live: Player Model Demo
-> https://keeperofgreenhaven.net/demo/player/ <-
Loading may take a couple of seconds, in which you'll only see a blank green square. I'll investigate putting in a loading bar.
Tips for controls (touch):
One finger drag to rotate the camera
Two finger drag to pan the camera
Pinch to zoom
Tips for controls (keyboard+mouse):
Left click drag to rotate the camera
Right click drag to pan the camera
Scroll up/down on the character or its background to zoom in/out
Progress Update: Demo Default Player
See this update on the forum
Among other improvements to the player demo, the default character now looks different. I found "John Doefault" here in the code, and in the spirit of keeping with the old game, John Doefault survives in this demo.
Funnily enough, as well as being a play on "John Doe" and "default", you can argue the name "John Doefault" does fit the Spirit Animals game character naming format. You're only prevented from naming your Keeper John Doefault by the fact that none of the three components "John", "Doe", or "fault" are available in the multiple-choice naming menu. Sorry.
In other work:
Been working on code to let me easily read and use the "game database": a set of files that contain all of the information about the buffs, item drop chances, display names, and corresponding file names of every single item in the game. Unfortunately, it doesn't seem to include the "ArmourLength" of every piece of armour, which is what I need to know to know which parts of the arms/legs to hide for this current demo. I'm debating whether to guess the "ArmourLength" of every armour piece based on its appearance, or keep digging to find the "true" lengths.
Progress Update: Other things that move
See this update on the forum
To create the player demo, I had to figure out a process to export 3D models with their animations. My next step is to export all the other animated entities, starting with the animals.
The spirit animals were very easy to export. The enemies: not so much. The glowing Bile effect that covers enemies comes from a shader that's broken in my current old game extraction files, and so cannot be exported nicely. I'm investigating solutions to fix or replace that shader.
Anyway, take a look at what happens when I export all of the bosses (even though they're missing their textures for now). The people working on the old game lined all their default positions up in a row, to see them all beside each other. Well, nearly all.
(The human silhouette at the far back is Low Resolution Drina. She's normal size and resolution for a character in this game, she's only low resolution compared to cutscene Drina.)
Progress Update: Player Character Demo in development
See this update on the forum
Alright, let's get back into a routine of giving you guys status updates. If all goes well, by the time you see this, I'll have a small buffer of update posts.
What you see above is a screenshot of the interactive player demo I'm working on. It'll let you design your Keeper and give them any colour variant of any available armour. I have managed to export every player animation, so it isn't even a static mannequin - you can make it move!
This player demo will go up on the website for you to play around with, once it's ready. What parts aren't ready yet? Well, in the screenshot you can see the player's skin hands clipping through the gloves. Different pieces of armour need different parts of the hands/arms/legs to be hidden when that armour's being worn, but I haven't implemented the logic for hiding those yet. The text labels could also do with some improvement: "eyes dye" sounds like a concerning substance!
I was so happy to see the character creator page up and running, I had to try and recreate my main character from way back when! I belive her name was something along the lines of Harmony Windsong.
I dodnt look through all of the options but the one thing I noticed was that the van boots appear in the wrong place. Other than that it's great to have a bit of nostalgia to play with this morning, thank you for doing this :)
Glad I was able to make this happen for you! Love to see people's characters.
Thanks for checking everything was working, too, and letting me know. Those boots should now appear in the right spot.
This is a really awesome project!! I remember being obsessed with this game when I was younger, and really upset when it died. Kudos to you for the sheer amount of effort it must have taken just to get this far, damn.
I'd love to help with this project in any way I can, though I'm not sure what that could be. I do somewhere have saved a large amount of screenshots (possibly screen recordings? I don't think I knew how to do those back then) of the game, so if there are any specific details that your recovered assets aren't showing (info on the 2v2 game mode, etc) I can dig those out and see if they or my memory can clear anything up!
(It's been a few months since your last posts, so feel free to ignore this if things have ground to a halt! Honestly it's just nice to see that other people remember this game at all, it felt a little like it dropped off the face of the earth at the time haha ^^)
Yep, apologies for the multi-month gap. Over this last month, I've been exporting all the 3D models and animations from Unity into a file format that other programs are actually able to open. It's a bit of a manual process, because there's lots of variations in terms of how they're being stored in Unity, and because the decompilation process didn't 100% work so there's a few corruptions and broken linkages that I have to spot and fix up one by one.
The player character (and all its armour sets and hairstyle customisations) is nearly done. I have just 8 armour pieces left still refusing to export, so if all goes well, it'll be done by the end of the week. But I've probably forgotten something, so it'll probably be done sometime next week. (Convenient timing, you sending this message now, when I'm close to actually finishing something!)
Screenshots are always useful! Especially of anything that requires an account to use (that's both multiplayer modes, and stuff like the character select screen), because the guest mode that's still playable if you have an old enough device can't use those.