June (May Pt. II) '20 Update

Published July 03, 2020
Advertisement

Time to get back on schedule with these updates even though it's only been a couple weeks since the last one.

Recap

I wanted to finish up the work that I had planned to complete in May but was unable to either due to my own distractions (Civ 6) or personal issues (back problems). Ultimately this meant loot tables and technical debt work.

Results

Ultimately everything went fine. Of course I would have liked to have finished May work in May and not feel “behind” so to speak. It's something I've got to work on mentally though because without any real deadlines there isn't any real “behind” or “ahead” for this project. There's just he state that it happens to be in at any given time.

Loot Tables

I got these working through my transaction system. It took a little doing and updating so that the input and output settings had access to a bit more data than a single game object, but ultimately it's probably for the better and will make the core system for transactions better for it. These tables got hooked up to missions (for mission victories) and starships (for destruction loot). For now, I just award the destruction loot immediately. A lot of games make the player go pick it up manually (as well as making it time limited) and I may do this in the future but I'm not sure yet that the reasons those game do that is relevant to mine. If you have any opinions one way or the other, feel free to let me know in the comments.

Technical Debt

The main issue I addressed with this round of technical debt was to update my weapon targeting. Up ‘til now, each weapon had a single object that would define how it allowed the player to choose it's target. I only supported 4 styles: target a single object, target a single tile, target an object and generate an AoE around it, target a tile and generated an AoE around it. That may not seem like a problem, and it may be for so few styles but it can become a problem as the number of styles increases.

So the change I made was two-fold. First, change from a single object to multiple. Second, narrow the focus of each object to only fill out a narrower portion of the targeting data. The targeting data consists of a primary target object, a primary target tile, additional target objects (from an AoE or something) and additional target tiles (from an AoE or something). The current targeting objects would fill out the full data. In the narrower version of targeting, each object would only be allowed to fill out one of the four parts of the data. So instead of the single object of “target a tile and generate an AoE," there would be two objects: one that handles the manual targeting of a single tile and one that can generate AoE data based on the primary target tile.

It seems to work pretty well and I also created a few additional styles like primary tile based on primary target, primary target based on primary tile and a few more to make sure that I could fill out the targeting data in the same way that the old methods did.

July '20 Goals

For July I plan on continuing gameplay and adding UI elements for the work I did in May/June.

  • Mission Timers and Duration - Make the missions (at least the non-narrative ones) able to expire after a certain amount of time passes. Also make going on missions able to pass a certain/random amount of time by going on them. The idea being to introduce some tension between the choices of missions and other tactical choices.
  • Introduce a strategy mechanism to balance out the persistent damage introduced last sprint. So I'll introduce a new project that can restore the status of starships that have been damaged in combat.
  • A new UI for the end of missions that can show various bits of result data, like the loot table rewards and the new status of any starships involved in combat (or at the very least the ships brought by the player).

Readings

I mentioned starting Large-Scale C++ Volume I: Process and Architecture and I've continued reading it. Overall it's a mix of things I agree with, not sure if I agree with and things that my current environment (UE4) make impractical. At least that's true for the first two sections of the book. I might post something more comprehensive when I'm done with it and have had a chance to mull it over a bit.

Previous Entry May '20 Update
Next Entry July '20 Update
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement
Advertisement