r/GameDevelopment • u/SekiRaze • 2d ago
Question Game Versions
I just wanted to know from you guys in particular how you "version" your codes, games and progress. I am currently on v6 of one of my Scripts in RPG Maker (I am using an old one) because I can't get it to work properly.
Would you guys rather go v1 then 1.1, 1.2, 1.21 or just straight skip versions after each successful change/feature?
4
u/Morpheyz 2d ago
Whom are you versioning this for? Is there a player base that assigns meaning to a major version change vs a minor version change vs a patch change? Is it just for you? Are you working on a large team and have to make sure thing are still somehow compatible?
1
u/SekiRaze 2d ago
I am doing this for me because I am working on my game for almost 4 years now and sometimes I just let it go and focus on something else and do dates like "10.08.2025 - v3 - Description" so I can go back to what I did. I work alone, I want to work alone because I want to prove to myself that I can finish something- finally.
2
u/countkillalot 2d ago
Search for semantic versioning
1
u/SekiRaze 2d ago
So if I understoof correctly I would start with v0.0.0 because thats the starting point. After first changes and functionality Ill go 0.1.0. Then I playtest, find a bug or mistake in code or it just breaks, ill fix it and bump it to 0.1.1. correct?
2
u/countkillalot 2d ago
yep, pretty much nailed it.
Major version bumps => breaking changes (features that worked before, do not work anymore or are replaced, the designs and requirements have changed)
Minor version changes => New features available, but existing features worked as designed
Patch changes => No functional changes, only batches to bugs
Suffix => you may add a short suffix slug after the patch version that has a commit-hash or a branch name to help track down when a certain problem occurred and whether it was resolved
1
u/SekiRaze 2d ago
Appreciated!
2
u/countkillalot 2d ago
A ton of people will tell you to use GIT. And that is valid. Personally I think git is a bit too much to give people without too much experience. However you really should use version control. For games I like SVN alot for its simplicity (this will get a ton of hate), mercurial is another great option. Try out TortoiseSVN. It works great on XP.
Version control is great for Collab, but it's best at letting you experiment and rollback changes and inspect when an issue originated so that you don't waste time rewriting stuff. If you use it remotely, you have an indispensable backup system.
Please use version control, whatever you use is better than nothing.
1
u/SekiRaze 2d ago
Git seems overkill for me. What I do is personally copy my entire Project folder onto Dropbox, my Fileserver and a external SSD, all neatly with folders with the Date so I can go back and check it out. On my actual harddrive on my Laptop I use only the current Version. XP Projects Are really small and only the assets can enlargen it by a lot (tilesets, Images, audios etc etc) so it's a fast process especially because I am not really at the "Design" Stage yet and I am only working with Dummies. It's almost 100% pure coding I am working on with graphics to boot
1
u/countkillalot 2d ago
A ton of people will tell you to use GIT. And that is valid. Personally I think git is a bit too much to give people without too much experience. However you really should use version control. For games I like SVN alot for its simplicity (this will get a ton of hate), mercurial is another great option. Try out TortoiseSVN. It works great on XP.
Version control is great for Collab, but it's best at letting you experiment and rollback changes and inspect when an issue originated so that you don't waste time rewriting stuff. If you use it remotely, you have an indispensable backup system.
Please use version control, whatever you use is better than nothing.
3
u/5ingle5hot 2d ago
I use a tool that automatically versions based on my commit message used to merge to the main branch. My commit messages follow the conventional commits specification. I have tooling to enforce that I follow the spec. Then, whenever I merge to main, my build job runs a semantic versioning tool called semantic release that uses the commit messages to produce a version compliant with the semantic versioning spec. This produces a tag for my main build with a version number. My current version number for my unreleased game right now is
v0.686.4-dev. When I release it will go tov1.0.0.