Hello everyone and welcome to June's development update. I had quite a bit of progress for this dev cycle. Before I get into that though I wanted to let everyone know I will be starting a behind the scenes styled vlog series that will allow you to see more of what is going into making this game. The reason for this is that I do not think some gamers appreciate the amount of work that goes into making some of the kinds of games, so it is for education purposes as well as to show the progress being made and also to give some insight into my development style and ideas about SC.
Oh, and the change log notes will not be available right away. I did something different this time around and that was to keep track of the changes within t he actual files I was working on and I forgot to translate this into the .doc change log I have. I should have the wiki page updated by the middle of next week though.
The majority of the work happened in three places: the station class, the message processing class, and the data system class.
I decided it was time to get to work on the menus for station class. The first thing I did was to create the menus over in the msgProc class. Once these were done I had to figure out a different way to make the weapons/ship menus. In the previous version of the game I used massive multilayered switches to pull this off. This was just too complicated and created too many issues and needed too much code.Instead I decided on opting for using the data system its self to do this. I would do what I do for the other objects like ships when they are being created and scan the matrices for the appropriate stuff and then use the returned values to make the menu/buying/selling process. How the menu will work now is that nine items will be displayed at a time along with two other options: one to go back to the previous main menu and another to advance to the next set of items.When you pick an item a msgProc function is called that will query the data system and obtain the data for that item and create an information page which will also list how much the item costs. This page will only list resources that are required by the item and it will only display the buy option if you can afford it. If you cannot it will display a message instead with the reason you cannot buy it. Once bought all of that information is sent to another function which then sets up the item with additional user input.I accomplished this by using for and do while loops to keep you in the menus until you exit them or until a valid choice is entered. I will not get too much into the specifics. For that check the change log.
Here I had an interesting time. While working on other things I realized that I could cut down on the code used to do stuff by including it within this class. For example if a data element must be converted before it can be used (nearly everything for ships and weapons and mods fall into this category) why not do the converting from within the function itself?
That in mind I recoded most of the 45 functions dedicated to providing matrix information to other classes and changed their return types to integer instead of string then I removed the conversion code from those other functions. I also streamlined those functions by computing the "-1" from the passed item id in the actual return statement, allowing to me remove 45 lines of then unneeded code.
I added a new matrix element to the weapons matrix.
This class got the most work this development cycle. Much of the work done in the other two functions was a direct result of work done here. There is not really that much to discuss about it, I added in the menus for the station function and fixed a couple of issues. A lot more information will be available for this section in the change log once I have it updated.
That encompasses everything I worked on for SC in this d.c. I am hoping to get the entire station menu system completed this month in addition to possibly finishing the battle system ( a long shot but possible).
Thanks for following the project!