Dolphin Preserve is my jam in this entry.
This Katelabs map features a school of magic, a quest with multiple components and a villain with a nonsensical arc. Enjoy :)
(1) Download and install katelabs version 2.02 from https://thewaether.itch.io/katelabs
If you use a newer version of Katelabs: bugs may have been fixed and features may have changed, this may break the RPG progression of this map. I highly recommend using the version of Katelabs that this map was tested on.
If you are on Linux (like me) then see https://www.glorioustrainwrecks.com/node/12135
(2) Copy dolphin_preserve.kl into your Katelabs folder.
(3) Start this map with edit mode DISABLED. If you fail to do this then everything will be laggier and you will be able to perform some game-breaking magic tricks.
(4) Make sure the sign in front of you where you start the map looks exactly like the sign in my screenshot. If the text is different even slightly (or cannot be read): please post a screenshot in the comments. I'm half worried that text might change between Linux & Windows.
You're now ready to play. Tips:
Q: What do I do with the "friends" when I find them? A: This probably isn't completely clear. You need to press Enter when near them to activate them, they will react and the map will progress.
Q: I'm stuck! A: Check the clues. If you're still stuck then post the names of the 'friends' you have found so far, I'll reply with some more hints. I may have been completely troll with a couple of the placements.
I made most of this map over a weekend whilst sick. Katelabs turned out to be a really enjoyable way to spend an otherwise cruddy time. Big thankyou for Kate for publishing Katelabs.
The "Move once" function feature does not implement rotation correctly, instead it sometimes morphs objects in crazy alien-like ways. For a demo try this:
Looks weird, eh?
I suspect the box is being transformed like this:
This keeps the function'd rotations working in local coordinates, but it means any object that has been scaled in a non 1:1:1 way does weird stuff when rotated.
The order of operations should probably instead look like this:
This means only a _single_ rotation matrix is applied and all rotation coordinates are kept in local coordinates (as I suspect Kate intends).
N.B. if you're multiplying your transform mats together then you may need to do them in the exact opposite order of I list above. Don't trust my 3d graphics advice I'm not a convex object.
Waypath following seems to randomly turn into chaos and I'm not sure why.
Try visiting the classroom in this level and observe the books on the shelves: they are supposed to follow nice neat straight paths once activated, not randomly bang around like mad. Not that I'm complaining, this definately adds to the atmosphere :D
I tried to put a lady-beetle on a waypath in this room to hint to give the player a hint about where to go, but didn't pan out too well either.
All of my bees seem to follow waypaths just fine. Not sure if it's a model specific issue or not.
Katelabs auto-loads the last .kl file you played when you start the game. If this file is missing (renamed, deleted, moved, etc) then the game crashes on start.
(This is just a curious note, not a complaint)
It looks like the game is locked to 30-ish FPS and the physics depends on frames elapsed rather than time elapsed. This means that when the FPS drops the gameplay gets slower.
Sound effects have to run on their own timer/counter (samplerate), so I was not able to properly synchronise the end of sound effects with scripted/function'd actions in-game. This kind of reminds me of adobe flash animations where long audio recordings would de-sync with the animation over time (especially on slower computers), the workaround was to use lots of smaller recordings triggered at different points instead.
Having the gameplay slow down when the FPS drops is a bit annoying, but I can understand why the game was written that way. It can be easier than dealing with float timesteps and (for example) corner-case bugs like 0-length frames (eg when running >900FPS on 1msec resolution time sources).
Katelabs crashed several times on me, but my level file never became corrupt. Kudos to Kate.
The worst that happened was I lost my last few edits (likely because autosave only occurs every X edits/objects).
Nonetheless I kept making copies of my level as backups. Nothing scares me more than the thought of losing a pile of work that's only stored in a single file.
This list might be of use to other people making maps.
A few things that seem to contribute to low FPS:
(1) Being in edit mode (thanks Kate for pointing this out)
(2) Having any UI window open, especially the textures window.
(3) Adding lots of objects with transparent polys to the map. Eg you can add as many boxes as you want to the map without causing much lag, but the moment you add lots of trees (and maybe even textboxes?) things start grinding.
Possibly a transparency (alpha-test) depth sort issue? Not sure how that's usually handled in DirectX pipelines, but I presume it's CPU side.
Complements to Kate for this engine seemingly (?) not suffering physics complexity lag. Ie I can scale lots of objects down to a tiny size and make a little tiny world, but then not suffer lag when walking over them as a big person.
If I have not bored you to death yet Kate :P here are some requests that might (?) be easy to implement.
(1) An easier way to switch between the main tools (move, rotate, scale, properties). I'm constantly swapping between them. Key shortcuts might be the easiest to implement solution for this?
(2) Make the axis-lock key bindings consistent between all tools! X should always be X, Z should always be Z and space should always be Y. Many times I've rotated or moved objects the wrong way right after scaling them, it gets very frustrating, I basically have to guess and try each axis every time I switch tool.
Perhaps it might be possible to remap clone-object (whilst using the move tool) from X to right-click? Ie tap right click whilst dragging an object to clone it.
(3) Add a way to return to the game after accidentally pressing Esc. I do this often, muscle memory kicks in when I want to close a dialog. After pressing Esc I'm stuck at the main menu with no way to return to the map other than starting from spawn/editspawn again.
(3) More sound effects and ambience.
(4) Add an "only trigger once" checkbox to both the Action Prompt and Player Collision functions. At the moment there is no way to (for example) make a door that opens only once. I worked around this by making objects instantly travel off in the ether after being interacted with, but this isn't always suitable. Sometimes the player would get dragged along with the object into space :O
Thanks for reading this far. Don't trust anything with a tail and no feet. Wait, aren't I a whale?
Title: Dolphin Preserve RPG v1.0
Context: Made for Kate's Informal Katelabs Jam 2021 https://www.glorioustrainwrecks.com/node/12033
Authorship: By Whales 2021, gloryofthetrainwreck at halestROm dotnet
License: All the in-game assets are probably Copyright Kate Barrett, but what remains of this map I put under a Creative Commons Attribution 3.0 license (CC BY 3.0).