Hey people!
Recently I got a little stuck in WMX development. The reason for that is becouse I did not know what to do next. Its not that I don't know what needs to be done but the fact that there is too much to be done. So I decided it was time to make a plan. Originally I wanted to work on the game until I had a combat demo and then release that for testing and feedback. But now I'm thinking about doind a release before that. the reasons for that will be explaned later in this post but for now I will tell you guy what is done so far:
- Character Screen - this is the screen that I've posted a few screenshots of. Its the place where you can see all the data related to a particular character. This will also be the place where you equip your char and maybe where you setup the schedule for the work to be done by the character when you pass the turn. Xela had sugested that the equipment screen should be separate but there where gameplay reasons for it to be in the same screen. First there is the convinience factor. Being able to micro-manage a character from a single screen should speed up that task. Then there is the feedback aspect. When you select an equipment I want to be able to display in green all the stats that will go up by using that equipment and in a similar fashion display in red all the stats that will go down. That should allow for the player to quickly decide what is the best equipment for that particular character. But I've to agree that the equipment component is a little misplaced in the char screen. For that reason I've done an update to the char screen by adding a tab component to it. By switching the current tab you get to equipment component but by default its hidden from view. This tabed view might also be used for other purposes. For instace I'm considering adding the Traits to its own tab, but that is yet to be decided. Bellow you can see two screenshots with diferent tabs selected. Of course I will still move things around until I find a good place for them (for instance Obedience, Moral and Spirit) but things are looking more well placed as time goes by and that should be expected.
- Basic Character File - this is the file where modders will specify the character data. I can already load this file into C++ and later display it on the Character Screen. I can also apply Traits to the char as well. Adicionally there is already code to randomly genererate a char based on whats is defined in its Char File.
- Basic Trait File - this file is used to define what Trait will be available the the Chars as well a what of them does.
To get to the basic combat demo the are still a few component that need to be in place. Those are:
- Basic Item File - the file that defines the items available as well as what each item does.
- Save Game - For the combat demo the save game will be very limited. Save games will be implemented using a database. First when you created a new game all the Items Files and Trait Files will be read and inserted into the database. This is very important as it means that once a game is started changing the Traits or Items file will not have any effect on the game. In order to update the Traits or Items a new game will have to be started. There are a few reasons why this is required. First parsing the content files (Traits, Items, Chars and later Quests, Events and possibily more) will only be done once for each game. That means that loading games should be much faster. Second there needs to be validations. For instance a player might download a Char pack that uses a Trait that he doesn't have in his file. This can occur becouse the package creator might have used a diferent Trait list then the player. To avoid such problem I've decided to include two properties to each content file to help sort out inconsistances. First is author. The author should be the id of the content creator here on the pinkpetal forum. It can be any string really, but the forum id is recomended to make things like feedback and bug reports easy. The second property is version. As the content gets updated that could bring incompatibilities with other content. The version number should be increased with each update. With those 2 properties any incosistense should be easy to correct by the player. So for instance if a girl pack you just intalled required a Trait that is not available, you would get an error message that looks something like: "Character Rachel requires Trait Charismatic version 1.6 from graodeareia." The player could then come to the forum and download version 1.6 of the graoderaia's Trait list, restart the game and things would work just fine. This also means that it would be possible to have diferent Traits with the same name. That could happen if a player downloaded and installed a bunch of Trait lists from diferent authors. In that case the game would still work fine, since the trait references in each girl file would specify what version of the Trait is required for that particular Char. In the future there might be a program that packs content into a single file used by the content creators as well as a program that unpacks the content and installs it on the players side. This program could also have an "inject" feature that would insert the necessary data into the save game database so that content could be added on the fly without having to restart the game. In the combat demo save game will be required to store the characters data (thats generated randomly) so that each time you select a character it will be the same as it was in the last time you selected it instead of geting a diferent version each time (do the the randomness factor). It will also store what equipment is used for each char. That way, when a tester find a bug he could upload the save data so that I can use his data to replicate the bug and fix it as soon as possible. Without the save game data it could be really hard to find certain bugs
- Combat screen - the screen that combat takes place along with all the code that makes combat work.
- Functional equipment component - currently the equipment component doesn't really allow the player to select diferent equipment its just a mockup displaying the graphics. So there will need to be real code to make that work so that the player can test diferent equipment in combat.
- Few user inteface stuff - There will have to be a few interface component/screens to save characters, generate characters, create new games, select characters for combat, start the combat and so on.
So with this plans layed out I know what needs to be done and so I've decided to soon ask for some help with testing. For that I will release a demo what is already don plus Items file, Save game and function Equipment component. With that demo you guys can help me find bugs in the system while I work on the combat demo. You guys can also give me feedback on the graphics and all features available in the demo. I think sorting out that stuff before the combat demo can lead to a greater quality combat demo as well as avoid having to fix too much stuff at once since the combat demo will include all fixes and enhancements made in the previous demo. Since I already released a demo in the past (even if the code was completely rewritten) and that demo was version 01, the next demo will be v02.