Author Topic: Devlog update (2017-04-11) New way of storing game files, maps and mods  (Read 1674 times)

0 Members and 1 Guest are viewing this topic.

Offline helloer

  • Retired Soldat Developer
  • Major(1)
  • ******
  • Posts: 39
Hello everyone,

Soldat in the upcoming version will go through many changes, one of them is to change the way of loading game files. In previous versions all the files were placed on disk as is and it was causing many problems including:

1) Implementing proper auto-update system
2) Easy way to manipulate game files for own benefit (e.g. removing textures)
3) Uploading maps/mods was pure hell (overlapped filenames of sceneries or textures, using 3rdparty tool only to pack maps etc)
4) Implementing shared installation support or portable version
.. and many more

We have decided to change this by implementing support for PhysicsFS - an opensource library that allows us to load contents of file archives (e.g. ZIP).

What has changed?

Most of game files (default sceneries, maps, textures, translations, graphics etc) have been placed in one file called soldat.smod. On startup soldat loads everything from that archive.

We have also changed the way maps/mods are loaded as they will have to be converted to archive files like we did with soldat.smod.

mapname.smap file will contain non-default sceneries, textures and .pms file. Same goes with game mods (modname.smod).



There will be also an option in the server that enforces players to play only with original game archive or servermod.

We are going to provide easy-to-use converters for maps and mods for painless transition to a new system.

F.A.Q
1. Will this change increase size of soldat setup? I don't want to waste my precious 100MB on my ssd.
In most cases the size will be smaller thanks to compression.

2. Does that mean i will need to pack my mod/map every time i change something?
There will be an option to mount soldat directory as game archive so you will be able to load maps/mods like old days.

3. Is it possible to load non-default sceneries or textures from another map? My mod uses a lot of the same sceneries.
You can put those sceneries/textures in mod archive and soldat will load those files without any problem.

4. What is the loading order of sceneries/textures?
1. Mod archive 2. Map archive 3. Game archive (soldat.smod).

5. Servermod? What is that?
It's a new feature in upcoming version, server will be able to serve non default mods on connect like it does with maps. This feature will be covered in another devlog.
« Last Edit: April 10, 2017, 06:29:52 pm by helloer »

Offline Moroes

  • Soldier
  • **
  • Posts: 149
Re: Devlog update (2017-04-11) New way of storing game files, maps, mods
« Reply #1 on: April 10, 2017, 06:28:55 pm »
Devlogs make me moist. Been waiting for a long time for this. Can't wait for upcoming devlog covering the servermods.
Thanks much and keep up the good work ;).
« Last Edit: April 11, 2017, 08:16:06 am by Moroes »

Offline Bonecrusher

  • Global Moderator
  • Veteran
  • *****
  • Posts: 1379
  • High above
    • Zabijaka.pl
non default mods could be a fun addition once in a while on a public server :D

Im chill like that

Offline machina

  • Soldat Beta Team
  • Veteran
  • ******
  • Posts: 1022
  • The world isn't nice. Why should I be...?
Nice to hear about that things are still in progress - not abandoned :)

Offline DutchFlame

  • Camper
  • ***
  • Posts: 353
wow hype hype, good stuff. GOGO

Offline Mokkun

  • Major(1)
  • Posts: 41
  • Zz
Keep up the good work guys, thanks for not letting Soldat die after all these years.

Offline Akinaro

  • Flagrunner
  • ****
  • Posts: 671
So technically you will implement proper auto-update system in soldat?

If yes, would it not be better to separate main file(soldat.smod) to eg, 3 parts for maps( sceneries, textures and maps), Game it self(engine, translations etc) and Interface(GIU, sounds etc) so you will not need to deal with whole folder structure when pushing auto-update that for example would contain only small fixed sceneries or new translations.
Or there will be no problem to send new package "soldat.smod" that would just replace what it need to replace inside that archive without downloading whole new file with whole game inside?


Also by looking at this graph and informations, Im assuming that changes in engine and map them self are still not easy to do so they are not priority and will not be part of future updates? For example custom sounds that are part of map it self? Or dynamic objects? Parallax?  Or at least proper animation systems(not old, crappy and big gifs...).
I know those are just a wishes, but such features would really be handy, especially for getting attention from new players, that require some "fancy" look from game.



Last thing. Right now as you mentioned, its easy to just remove/blank out sceneries/textures on default maps for own benefit but the same method is used by graphic mods that change default textures and sceneries.
But as far as Server will not enforces players to use original files, players can replace those files as a mod, and still play default maps with their own graphic mod without a problem?


PS, that .smod is just zip file with custom extension?

Offline helloer

  • Retired Soldat Developer
  • Major(1)
  • ******
  • Posts: 39
So technically you will implement proper auto-update system in soldat?

Yes (but it's not done yet).


If yes, would it not be better to separate main file(soldat.smod) to eg, 3 parts for maps( sceneries, textures and maps), Game it self(engine, translations etc) and Interface(GIU, sounds etc) so you will not need to deal with whole folder structure when pushing auto-update that for example would contain only small fixed sceneries or new translations.
Or there will be no problem to send new package "soldat.smod" that would just replace what it need to replace inside that archive without downloading whole new file with whole game inside?


Delta patching solves that problem (only differences in archive needs to be downloaded).


Also by looking at this graph and informations, Im assuming that changes in engine and map them self are still not easy to do so they are not priority and will not be part of future updates? For example custom sounds that are part of map it self? Or dynamic objects? Parallax?  Or at least proper animation systems(not old, crappy and big gifs...).
I know those are just a wishes, but such features would really be handy, especially for getting attention from new players, that require some "fancy" look from game.

There are some features that can be easily implemented, for example multitextures or parallax sceneries but we don't have proper map editor to support that.


Last thing. Right now as you mentioned, its easy to just remove/blank out sceneries/textures on default maps for own benefit but the same method is used by graphic mods that change default textures and sceneries.
But as far as Server will not enforces players to use original files, players can replace those files as a mod, and still play default maps with their own graphic mod without a problem?
Exactly, that option will be used only for competitive matches and it will be possible to white list specific mods in server config.

PS, that .smod is just zip file with custom extension?
Yes.

Offline CCalp

  • Global Moderator
  • Soldier
  • *****
  • Posts: 224
  • calp (SN)
Keep up the good work guys, thanks for not letting Soldat die after all these years.

Indeed. We really, really appreciate your effort.
Looking forward to the new version.

Offline Raged`

  • Major(1)
  • Posts: 18
good news :DDDDdd

Offline Slasher

  • Soldier
  • **
  • Posts: 106
  • Peace
Re: Devlog update (2017-04-11) New way of storing game files, maps and mods
« Reply #10 on: April 28, 2017, 01:49:14 pm »
I like the old mode of separate folders
 :|
« Last Edit: April 28, 2017, 01:51:09 pm by Slasher »
Make love, not war.

Offline Zakumy

  • Major(1)
  • Posts: 27
  • Soldat! Soldat! Soldat!
Nice work! The game will be more stable with this way of compression and file organizing.
I'm still looking forward to the macOS version for Soldat  [pigtail]
My love to Soldat is eternal, forever and always

Offline L[0ne]R

  • Soldat Beta Team
  • Rainbow Warrior
  • ******
  • Posts: 2055
  • need a life. looking for donors.
Looking forward to this, awesome job. :)

Would love to play Last Stand again with a custom zombie mod.


L[one]R, INF veteran
maps - remakes: inf_Warehouse ; inf_Fortress ; inf_(Sun)Rise ; inf_Outpost ; inf_Abel ; inf_Moonshine