Update 0.43.0 - Battle Map Tutorial Updates & Battle Map Events


Another month, another update. After releasing the 0.42.0 update about 4 weeks ago the 0.43.0 update is now out and ready for testing.

What’s New?

So as always I’ll start off by going over some of the things you can expect to see in this update, the first of which is probably as you’ve come to expect by now. That being an updated unit model for the Astel Starfighter, the results of which can be seen in the comparison image above. In addition to a new look for the unit itself I’ve also created unique models for the tiny Astel engine and the tiny fixed Astel laser turret. Designs which will be scaled up as I continue to make use of the same basic designs for the rest of the Astel units as I get around to redoing the models for each and every one of them. 

Other than the new unit look this update also brings with it an expansion to the events and objectives systems, namely support for triggering and tracking both on battle maps in addition to the campaign map support which was already present. To take advantage of this expanded functionality the battle map tutorials have also been updated to be event based just like their campaign map counterparts. A change which should hopefully make the tutorials a little more robust and less likely to break if you don’t do exactly what they expect you to. Not to mention the plethora of new event and objective conditions I added while updating the tutorials, including checks for selecting units or buildings and support for spawning said units or buildings as part of an event outcome.

But talking of updated tutorials I also took the time during this update to create a new tutorial to teach you the basics of ground battles. Given the similarities between space and ground battles much of what is taught in the space battle tutorials can also be used in ground battles and as such there is only a single tutorial for battles set on the ground. One which mainly details some of the differences you can expect to see between the two battle types. In addition to making the new tutorial itself I also made a new map for said tutorial to take place on as I didn’t want to reuse one of the existing maps in case they get updated with new features not explained by the tutorial.

Last but not least this update also had the usual selection of smaller additions, changes and bug fixes. These include a new setting for whether or not dev events should be run while in dev mode, a fix for the squad unit icon being visible before the squad unit had fully warped into the map and a fix for the engine subsystem remaining visible or invisible before, during and after warping into the map depending on the type of unit and the size of the engine substem. As a last minute addition I also expanded support for dynamic subsystem mesh switching to cover turrets, allowing the type of mesh a turret uses to be switched out based on its size and the faction that owns it. 

Update 0.44.0

With what you can expect to see in this update out of the way your question now is probably what can you expect to see in the next one? Well as always the first thing on the agenda will be an updated look for one of the existing units, which for 0.44.0 will be the Astel corvette. Beyond just a new look for the unit itself I’ll also be creating the necessary new looks for the relevant subsystems, including the small engine, the small laser and the small ion laser subsystems. In addition to just this new unit I also want to see if I can’t quickly create a unique look for the trade ships which are spawned when you or another faction creates a trade route on the campaign map. While I don’t think I’ll have the time to create a unique look for each of the factions' own trade ships in this update I think I can at the very least create a new generic trade ship which would be more appealing to look at than the currently in use model.

Moving on from the new models 0.44.0 will also be the time where I actually get to work on writing some in-game events that aren’t just for use by the tutorials. In addition to writing events for the freeplay campaign, such as when you first start the campaign or when you capture a faction's homeworld I also want to get on with the story campaigns. In an attempt to keep the amount of content I have to create at a realistic level I’m thinking that each of the campaigns will be split into three chapters with the first chapter for the Human story campaign hopefully being completed in the next update. Alongside any support for new event conditions or outcomes I may need but have yet to implement.

In addition to the story campaigns which I hoped to get done for this update but didn't, I'm also going to try and make the shader changes I promised for this update but were also missing. To be more specific I’m hoping to reuse the shader work I did for units when they warp into the map to update the shader displayed when a building is being upgraded. Talking of building upgrades I think it’s probably time I also updated the planetary outposts in ground battles to allow them to have multiple tiers, with each tier unlocking a new type of unit. While I won’t be adding any new units to truly make use of the new tiers I’ll at least update the existing ones to be spread out across them, instead of letting all of them be available from start as is currently the case. Doing this will also help me reach feature parity between the space battles and ground battles with both of your main buildings being upgradable, while giving you access to new and better types of units.

Last but not least for 0.44.0 I also want to see if I can’t get back to writing some more detailed unit descriptions again. If I'm going to finally get to work writing out and implementing the story campaigns it probably makes sense to add to the currently somewhat small amount of world building already in the game. Something which I think unit descriptions could do wonders for as they could not only add history directly to the faction the units belong to but they could also be used to reference events prior to when the game takes place. Adding history and meaning behind why units, buildings and factions are the way that they are. I’ve got some ideas in mind for the kind of universe I want to build and I think the first hints of such a universe will probably be found through reading the descriptions of units.

Closing Thoughts

Well as you could probably tell from the list of changes I really didn’t get as much done as I wanted to this time around. This was partly a result of only having 4 weeks to get the update done and partly a result of getting stuck rewriting the battle map tutorials to use events, a much larger endeavour than I had originally anticipated.

Truth be told, I think by this point that the events system is probably almost complete in terms of all the different types of events I wanted it to be able to support and how I wanted its core functions to work. There may be a couple of other conditions and outcomes I find I want to add as I really get to work on building out the story campaigns but by and large I think I’ve got most things covered. As a result of both this and having actually started to make use of the system myself I’ve come to the conclusion that if I want to be able to add as many events to the game as I plan to then I’m probably going to need to make some more changes to the events system as a whole.

To be honest I don’t really want to have to spend time on making a dedicated program to write events more easily. Well more specifically I didn’t want to make such a system until the story campaigns were finished as working on such a system would take time away from working on the game directly. But the amount of time it took me to write the events for the battle tutorials has shown me that the time lost from building an event creation tool will be more than made up for by the time saved when it comes to writing the actual events for the story campaigns. So though I didn’t mention it in my plans for the next update I’ll also start looking at how I want to make such a system, should it be built into the game as a kind of developer tool, or should I create a separate program just for event creation? Should it be made publicly available so you can create and add your own events? And if so, then when should it be made available? I don’t know the answers to these questions yet but these are what I’ll be thinking about as I get to work on the next update.

Speaking of updates, if I do indeed want to be able to get the next update out on time and with a decently sized changelog I should probably end this dev log here and get to work on it. So once again I’ll bid you all farewell for another month or so as I get on with the aforementioned work until I return hopefully with a fully packed update in around a months time, 0.44.0 in this case.

As always if you have any questions or queries then don’t hesitate to ask and similarly if you have any feedback for existing systems. Or indeed if you have any ideas, features or changes you would like to see implemented then also don’t hesitate to let me know.

As with all of my updates a full list of the changes made can be found in game, with the changes and additions pertaining to this update listed below:

    • Added support for checking if the camera is being tilted as a new objective
    • Added support for checking if a unit has been selected as a new objective
    • Added support for checking if multiple units have been selected as a new objective
    • Added support for checking if a unit has been moved as a new objective
    • Added support for checking if a unit has been drag moved as a new objective
    • Added support for checking if a unit has reached its destination as a new objective
    • Added support for checking if a unit has exited a battle hazard as a new objective
    • Added support for checking if a unit has been destroyed as a new event outcome
    • Added support for checking if a reinforcement unit has been placed onto the map as a new objective
    • Added support for checking if a building has been selected as a new objective
    • Added support for checking if a building has been captured as a new objective
    • Added support for checking if a building has been destroyed as a new objective
    • Added support for spawning a battle hazard onto the map as a new event outcome
    • Added support for spawning a building onto the map as a new event outcome
    • Added support for spawning a unit onto the map as a new event outcome
    • Added support for destroying a battle hazard on the map as a new event outcome
    • Added support for destroying a unit on the map as a new event outcome
    • Added support for destroying a subsystem belonging to a unit as a new event outcome
    • Added support for switching the mesh of a turret based on the turret size and which faction the turret belongs to
    • Added a new setting to the settings menu for setting wether or not dev event should be run
    • Added a new map for use by the ground battle tutorial
    • Added a new ground battle tutorial to teach the basics of ground battles
    • Added a new mesh to represent the tiny Astel engine subsystem
    • Added a new mesh to represent the tiny Astel fixed laser turret subsystem
    • Updated the model used by the Astel Starfighter
    • Updated the image used by the Astel Starfighter to match the look of the new unit model
    • Updated the tutorial selection screen to have a section for ground battle tutorials
    • Updated the tutorial type to be defined by a enum instead of a string
    • Updated the research data file to have individual research lists for each of the different campaign maps
    • Updated the research GUI to remove any research buttons that do not have matching research data
    • Updated the research GUI to hide the research tree and the research list if no research is available
    • Updated the campaign map tutorials to have its own set of research data to allow research to be completed faster
    • Updated the events data file to support storing events for battle maps
    • Updated the event manager to support triggering events on battle maps
    • Updated the objective manager to support managing objectives on battle maps
    • Updated the objective manager to trigger an event check once an objective has been completed on the battle map
    • Updated the battle map GUI to support displaying objectives using the new objectives format
    • Updated the battle map camera and unit movement tutorial to use the events system for progressing the tutorial
    • Updated the battle map unit recruitment and building management tutorial to use the events system for progressing the tutorial
    • Updated the battle map combat and unit abilities tutorial to use the events system for progressing the tutorial
    • Updated the battle map map features tutorial to use the events system for progressing the tutorial
    • Updated the buildings data file to include a path to the scene containing the building itself
    • Updated the turret meshes currently in the game to have the correct format for allowing them to be dynamically switched
    • Removed the tooltips from the tutorial buttons as the tutorials are no longer disabled
    • Removed the old code from the battle map tutorial scripts as all the battle map tutorials are now event driven
    • Fixed a bug where the event manager would return an error if you tried to advance through an event too quickly
    • Fixed a bug where the squad unit icon was visible before the squad unit had finished warping into the map
    • Fixed a bug where the engine subsystem visual effect was visible on squad units before they had finished warping into the map
    • Fixed a bug where the engine subsystem visual effect remained hidden after a unit had finished warping into the map
    • Fixed a bug where the unit abilities would display as active when they had been disabled by moving the unit into a nebula
    • Fixed a bug where the subsystem icons for units would be visible before a unit had fully warped into the map if the mouse was placed over one of the units subsystems
    • Fixed a bug where the subsystem icons for squad based units were visible when the unit was selected despite the subsystem not being targetable
    • Fixed a bug where the objectives for tutorials would be marked as complete if you tried to play through a tutorial again without restarting the game
    • Fixed a bug where the stop unit button wouldn't also cancel the current attack order for squad based units as long as they were far enough away from the target
    • Fixed a bug where the game would crash when it was closed from within a battle

    Files

    Stellar Odyssey Galaxy At War 0.43.0 - Debug.zip 157 MB
    63 days ago

    Get Stellar Odyssey: Galaxy at War

    Leave a comment

    Log in with itch.io to leave a comment.