Devlog 24.41
It has been about 3 weeks since my last post.
Code Maintenance: I started maintenance on the user interface components (screens, layers, inputs, asset management, render pipeline) around October 4th, and I have nearly completed the refactor as of writing. I cut a couple dozen extraneous objects, merged a few together, and overall improved readability & maintainability.
IIRC this is probably the 3rd or 4th refactor of the UI since I started November 2022. *shrug* We learn as we go.
Performance Improvements: I modified Star System data loading to use an asynchronous process, dramatically improving an already-absurdly-fast process. I suppose I could make further improvements if I streamed the data, but I think this will do me for the next year, at least.
I identified some rendering processes that could be batched, which led to an order-of-magnitude improvement in performance: instead of rendering an entire sector (650~ star systems) at 90 FPS, it sits around 900 FPS, which is just... stupid. It's a lot. It's like, "theoretical" FPS. I would kind of like to know what is causing the drop from 2700 (maximum) to 900, but I think 900 FPS is pretty good.
Memory usage is also down from like, 12 MB to about 8 MB. I think this is an improvement. I forget if previous benchmarks were 9 or 12 MB. Anyway, I updated some things and fixed some stuff. Cut some chaff. That sort of thing.
Gamepad updates: I finished refactoring gamepad integration... I can now easily map inputs on a per-scene basis and even designate like, individual inputs for small or one-off UI components. It's probably overkill, but I apparently don't settle for less. I don't know, you tell me.
Interface updates: I mentioned interface updates last time, and they're all complete. There is a new quality-of-life feature that enables the player to alternate between a zoomed-out perspective of the entire Sector versus focusing on individual Subsectors & cycling through them.
I've isolated most of the input features into modular functions so I can move them around, make on-the-spot adjustments, and reuse them to my heart's content. Creating new ones is pretty easy, too. I'm just so happy with how clean & easy it is to read and work with now,
Next Steps: We're almost to the two-year mark and I've started implementing a handful of the core mechanics like travel, timekeeping, and trading. Once the bones of these are done, we'll have a gameplay loop and I can provide the "Alpha" release. The game will move into Beta and I'll begin refining the mechanics I've added now that I've dealt with like... most of the work of getting the UI and backend complete.
Another feature of Beta will of course be adding in the Factions, the Cultures, and a whole bunch of other stuff that I've been designing over the last two years while I was developing the engine.
Let me tell you, it's really hard to work on an engine when what you want to be doing is designing scenarios and characters and world-building and stuff. I mean, it's so hard I had to stop writing the "design" segments and focus on technical stuff because I was getting depressed about "progress."
Another "next step" that I've been putting off has been persistence... you know, "saving and loading." I have implemented this a bunch of times before and I have had an opportunity to refine my approach over multiple iterations. But, you know. I gotta do it again.
That will mean a lot more once I've handled some of the other stuff above, like travel, timekeeping, and trading. Ultimately, the stuff that gets "saved" will depend a great deal on what the player can do, and what is worth persisting.
Rogue Souls
Open-world Roguelike space trading game.
Status | In development |
Author | Tanys Foster |
Genre | Role Playing |
Tags | Open World, Space, Trading |
Languages | English |
More posts
- Devlog 24.495 days ago
- Devlog 24.4612 days ago
- Devlog 24.4426 days ago
- Devlog 24.4240 days ago
- Devlog 24.3882 days ago
- Devlog 24.35Sep 05, 2024
- Devlog 24.32Aug 07, 2024
- Devlog 24.30Jul 25, 2024
- Devlog 24.26Jun 28, 2024
Leave a comment
Log in with itch.io to leave a comment.