Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

1 Neutral

About McDev

  • Rank

Personal Information

  • Interests
  1. Right, but I want to avoid that. IDs and values can be ignored or set to default values. When you plan ahead early in development and do propper bookkeping of the changes then chances are high that it will work out. I am not talking about 100% replication and not with every update, but at least most of the time.It works also best if you have a streamlined workflow and rather add things than delete things which causes more issues, especially when you have many dependencies. In my case mainly the AI is keeping references and dropping AI states isn't a big issue. Game data rather seems to be an issue, e.g. when storage space becomes smaller, some items might not be added. When I make a building larger then overlaping buildings will not be generated. But I want to keep this in mind. I stay optimistic, lets see if it will work out
  2. Thanks for your inputs. I am having an Early Access title and always wondered why so many devs do not support backward compatability at least on certain updates. At least for my game having all savegames reset for each update would be a no go. I think it will work out, once I have trouble I will come back to this. I may plan to split savegame data up in several JSON files and store everything in a zip file, this also allowes me to save a thumbnail in one file.
  3. This is the plan I had. The issue that popped up was how to get that data to compare in the first place. We are using Newtonsoft - Json.NET and Unity. Firstly it seemed that outdated savegames always failed to deserialize. But I also read menawhile that it shall work if you never remove or rename fields of the serialized classes but you can add fields savely. Maybe I have to try different serializers, I only want to use Binary serialization. So if this is working then I can do the checks by making converter methods for each such class that has changed. I want to make a convertion step, so outdated files are converted to the latest version, maybe storing a backup as well. Then it will be loaded. Also I plan to use savegame versions different from build versions, if I only make a bugfix then I can leave savegames alone.
  4. Hey there, I am having this huge Issue that I thought I can avoid, but I missed the part of deserialization. So I was never a big fan of this approach but what we do is to collect all savegame data in one big class called SavegameDataBase. To store it, it is serialized into JSON. First I'd like to know what you think of this approach in general as this is new grounds to me. But the main issue is backward compatability, it seems to be impossible. There are so many savedata classes nested into each other that when changing just one we'd have to make new versions of all their parents at least and handle convertion. Doing it manually sounds crazy. We already invested some time into this system but it is not too late to change it as some level of backward compatability is necessary. The game is reconstructing the state by using Factory classes and each manager/controller class recieves the savegame data to apply data. The only idea I have is if somehow we can make a process that makes copies of each savevgame data class and stores them in a new .cs file, not yet linked to the project. Then it would rename all of the original ones (just like in VS with renaming everywhere where it is being used) and increment the number in the suffix, like from SavegameDataBase23 to SavegameDataBase24. It also automatically has to make conversion methods from the 23 version to the 24 version. Then we can make changes from that. We would end up with a lot of classes and especially unecessary versions, but we could delete the old classes and conversion methods simply by deleting the cs file. That is at least what has to be done manually and it is impossible. Is that even doable? Programming is not my main disciplin I see now how what a charm database migration is for web developers. Does anyone have ideas?
  5. McDev

    RTS Unit Production

    In some C&C games i believe it was possible to set production to infinite for individual units. At least in C&C Generals you could only queue 9 units per building and while in combat it is not fun to reproduce infantry in 3 or more barracks. I also would appreciate some kind of automation. Maybe something like a target amount of units so when some die they will be reproduced. Or say you define slots like in your airfield and once one jet is destroyed it wil be rebuild, and even reassigned to the team (1-9). Strategy games should be about Strategy, not micromanagement in my view. Otherwise the one who clicks and moves faster is going to have an advantage like in an FPS, but maybe I expect too much from an RTS, there are still turn based strategy games.
  6. I recently discovered https://hacknplan.com/ and are using it right now. It has free and paid solutions. It was specifically made for game development and also has Game Design section, that I am not using. It is limited and still in development but much easier to use than Jira for example. I also own Jira and especially confluence is a great tool for documentation, requirements management and so on, But just for simple and interdisciplinary task management I prefer HacknPlan, Trello or Asana. Also in general you don't have to invite each member to such services. I would not invite peopole that just to a few tasks. You can track their work on your own and send them tasks by mail or whatever.
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!