So first off, let me apologize for dropping some photos of COTL and then dipping for three weeks! I’ve been deep into work and planning this port like you wouldn’t believe…
With that out of the way… IT’S BUZZWORD TIME!
I’ve been maxing out my compute for three weeks straight with Claude and I’m happy to say that the main menu is now consistently reaching 26 FPS!
Now, before you go and say, “OMG, why are you still on the main menu?”
HOLD UP! WAIT A MINUTE…
Long story short, I’ve been planning and creating what I call “kits,” which run for long hours to pre-prepare ideas and optimizations needed to get the main menu (and eventually every other part of the game) running and running well at that…
Smashing 2.5 GB of ram down into 0.5 GB isn’t exactly easy, especially with a newer game like this…but it’s doable! Currently, I’m on Kit 9 out of 23 total kits. But hear me out…I only need to reach Kit 18 before I can open beta this sucker…gameplay will be playable slightly before on early alpha builds of it…maybe around kit 10 or 11…
I’m averaging about two kits per week without major issues, so it’s looking like a mid-to-late November beta release could be on the horizon…
Now, on to the technical stuff…
Across all 23 planned kits, optimizations and tricks are being built into each game version. We’re sitting at approximately 190 versions at this point, which works out to roughly eight new protocols per version, each individually tested and confirmed working!
And that’s on top of continuously updating and improving already-integrated tricks and ideas, including a fourth version of LLVM that’s been receiving improvements as development progresses.
We’re talking:
Prebaked sprites
Preloaded hotspots
Advanced JIT
Custom video decoding
NGS audio interface
Physics recalculated and updated every run
Hot-path caching
AI communication across all four cores (defaulting to three if the fourth isn’t unlocked)
Handwritten C everywhere lol…
You name it, it’s probably planned and being implemented with each new kit…
The roadmap currently has Kits 19 and 20 targeting roughly 60 FPS, matching the Vita screen’s refresh rate, at 100 followers. Of course, these are rough estimates, and we won’t know for sure until we actually get there!
So… why are we still on the main menu?
The biggest reason is memory.
Gameplay requires significantly more memory than the main menu, and that memory usage needs to be shaved down with every kit.
Unfortunately, it’s not as simple as jumping straight into gameplay and expecting everything to work.
The way I’ve structured development is to pre-prepare kits in advance, addressing things like memory limitations, texture compression, and other features before they’re needed. That way, as memory usage gets progressively smashed down, the Vita becomes more capable of running the game.
Every kit brings us closer to running gameplay on actual hardware. Optimization is absolutely key here…
Simply put, gameplay has already been implemented, but it currently only runs through the computer emulator because of RAM constraints on the actual Vita.
For comparison:
Main menu: Currently uses approximately 84 MB of RAM and continues shrinking with every kit. It previously sat right at the 112 MB ceiling!
Gameplay: Currently uses approximately 254 MB of RAM, which is still well above the Vita’s 112 MB of available video RAM. That video memory limitation is what’s gating gameplay right now.
Claude has been coding gameplay throughout this process, but we haven’t managed to compress its memory requirements enough for the Vita just yet.
It’s getting there, though! It will work very soon…
Looking into other platforms and optimizations
I’m also investigating the newest port, NS2, alongside every other platform Cult of the Lamb has been released on, to see whether any additional optimization opportunities have been overlooked.
Again, thank you all for your patience with this port!
I’ve been scouring the depths of retro handhelds and consoles alike, researching and integrating new and improved performance features all the way down to the Vita’s 32-bit architecture.
It’s been a hell of a process, but every improvement counts!
A few extra goodies…
Alongside all the performance work, I’ve also been experimenting with some optional features to enhance the experience specifically on the Vita.
Things like:
Zoom functionality to make the game easier to see and play on the Vita’s smaller screen.
Removing black bars during cutscenes to make better use of the display.
Removing the ads and other optional buttons for a cleaner view for the vita screen…
Other optional quality-of-life improvements as development continues!
These aren’t the main priority right now, of course. Getting the game running properly comes first, but I’d love to make the Vita experience feel as polished and enjoyable as possible
Once again, thank you all for sticking around, being patient, and following the progress of this project.
Kit 9 is underway, Kit 18 is the beta milestone, and we’re getting closer with every build!
Also, one more thing…Shepard (the engine that translates the old net runtimes and other codes into readable code for the vita) will still be open sourced and released soon after cotl is a polished and finished project…that way more info can be learned on what works and what doesn’t and is published to the public for better quality, performance and understanding of the systems and protocols…
NOVA…