Official Content > Soldat Developer Log
Devlog update (2018-09-10) Back after a break
helloer:
Hi guys, devlogs are back after a "short" break over summer.
New developers
Two new developers have joined the dev team:
- Savage
- thestoreyofbook
Greet them warmly :).
Changes in the net code
After returning to the devteam we had to decide which branch of code to use for the next version of the game, we had many options but the most sensible choice was the branch called `feature/netcode` which had everything that was done for 1.8 version and as the name of the branch itself indicates: changes in the code responsible for communication between the server and the client. Here are some of the most important changes:
The first change was to split into pieces a gigantic file called Net.pas which had 13 thousand lines of code into several smaller and organized units, thanks to which the work on the code became more readable.
The second change was to remove the old code which had accumulated in the code for years and was not used at all. After this change, more than 6 thousand lines of code were removed while maintaining the same functionality of the game. A lot of recent exploits were caused because of that code.
The third change was to replace the libraries responsible for sending and receiving UDP packets. Soldat used different network libraries for the server (Indy10) and for the client (NMUDP) - spaghetti code at its finest. With quick research, we have found a better library made specifically for use in games called ENet(http://enet.bespin.org/). ENet is a library that offers a number of functionalities that have been missing in soldat for years, including:
- Connection management
ENet creates a connection between the server and the player that we can supervise and easily control.
- Reliability & Sequencing
Sometimes important packets get lost or come in a different order. ENet solves this problem for us by making sure that packet always gets to the destination in the right order.
... and a lot more.
These changes will not result directly in the hit registration improvements as many would like to see but certainly, they bring us closer to the goal of "fixing" the netcode.
Commits (01.06-10.09)
--- Code: ---283f4991 helloer Added new FileServer unit
9615393b helloer Added cl_lang cvar for picking the language of the game
251430e3 helloer Fixed cmd action interrupting chat mode
4303f324 helloer Added back sound for weather effects
6ae3d19d helloer Fixed initialization of array in StringToArray
2848d2ca helloer Fixed joinurl command
283bb514 helloer Fixed TNewPlayer.SkinColor using wrong property
feef11e1 helloer Added sv_teamcolors cvar
b0bcb5cf Savage Fixed player head and chain style typos for cvars
75a8c4e8 helloer Added AutoUpdater unit
32855f50 helloer Extract game configs from the game archive on first run
94e7c080 helloer Fixed radio messages
11020cc8 helloer Renamed Player.Color1,Color2 to ShirtColor,PantsColor
ce360cc0 helloer Fixed wrong netchannel for ServerSendVoteOn/Off
e5eb0068 helloer Removed compat request/unaccepted packet types
62b280c3 helloer Compile stb as 32-bit by default
08f70235 Savage Fixed alpha channel for WorldText
3b4a7943 helloer Added rpath for the server
0873c685 helloer Improved packet handling
a26cc18a helloer Fixed server not accepting passwords
02160173 helloer Added rpath for linux builds
593d152a helloer Fixed team menu for deathmatch mode
d5f38198 helloer Added game assets to macOS bundling script
5ea061fc helloer Fixed wrong check of sv_friendlyfire in HealthHit
46e570a2 helloer Fixed admin commands not working
dba2e9a5 helloer Removed stb step in the client Makefile
1e1443a5 helloer Fixed compilation for macOS
7d45251f thestoreybook revert Makefile
507b116b thestoreybook update to use TBooleanCvar
b7dcf55e thestoreybook adding cvars specific to what menu items show during a ranked matchmaking game
e7565048 thestoreybook dont push this change
80e4e9d5 thestoreybook Add player team cvar, useful for matchmaking to bypass team select menu
7c0f62b6 urraka Merged all explosion hit detection code into one function and modified it to use hitpoint modifiers
5448654f urraka Fixed bullet-hitpoints intersection check
8491069d urraka Fixed chat input issues and added +cmd action binding
04a568b1 helloer Add camswitch and camswitchflag commands
0799df6d urraka Updated to latest dglOpenGL and fixed some type errors
c29c143d urraka Add msaa support
30b45802 helloer Add missing handler for actionsnap
b149145c urraka Added multi texture support on the rendering side
f496b28d helloer Revert "Hide warning Call to subroutine marked as inline is not inlined"
4df538fc helloer Use UserDirectory for the basic folder structure
25869322 helloer Create the basic folder structure on startup
6ab78c00 helloer Show warning and exit when the fonts cannot be found
0d90805b helloer Hide warning Call to subroutine marked as inline is not inlined
a35b5f33 helloer Add inc command (increments cvar value by the delta)
9a000d91 helloer add r_zoom cvar (only for spectators)
8b6cd81f helloer Fix bad prefix for bot messages
9efeb06c helloer Fix compiling on windows
ceb1ab47 helloer Add openal headers
55cdc0e0 helloer Add 3rdparty libs
--- End code ---
Some important changes from commit list:
- Urraka added multitexture support on the rendering side but we still need to support it in the map editor so I encourage you to help Nedi who is working on polybobin - https://forums.soldat.pl/index.php?topic=45191.0
- Urraka fixed bullet-hitpoints intersection check - no more leg shots registered as headshots [Alphaguy].
- Urraka merged all explosion hit detection code into one function and modified it to use hitpoint modifiers - this will allow us to better balance nades [nades]
- Savage committed his first commit to Soldat repository: "Fixed alpha channel for WorldText". 8)
- Thestoreybook committed his first commit to Soldat repository: "Add player team cvar, useful for matchmaking to bypass team select menu". 8)
- I have added auto updater support for the nonsteam version (still WIP).
- I have started working on new map downloads implementation that will be HTTP-based.
Steam thing
Our store page on Steam has been approved and will be soon made public as "Coming Soon" title, we still don't have an exact date of release but it will certainly take place this year.
Alpha builds
The first phase of the alpha tests will be soon available to everyone. We already have working CI for soldat so all we need to do is to push out those builds to the public.
Apology
I apologize for the lack of devlogs in such a long time and for less than expected progress on the game. I can assure you that this will not happen again.
http://discord.gg/soldat
Hellboy:
I can't understand half of what is said but you guys are doing amazing work it seems. ;D
Most importantlty not only keeping soldat alive but making it way better.
I'm looking forward the release !
Congrats to the whole team and wishing you good luck for what's happening next. :D
Ygrek Starmagedon:
Pls, share 1.8 WM with us already!! xd
CrasheR:
L 8) L BOIS
GOGO
Thx for all the Devs who's making soldat great again
Also Welcome to dev team Savage And Thestoreyofbook we trust in you guys.
GGWP
I didn't understand a single word above but I know it's all okay in your hands 8)
soldat-game:
--- Quote from: Ygrek Starmagedon on September 10, 2018, 11:35:42 am ---Pls, share 1.8 WM with us already!! xd
--- End quote ---
Yes, the game should become playable as in 1.5 the barret was not so devious that it was possible to fly and hit by pressing the lying position and other automatic weapons be very balanced... DAR DAR KILL THIS WEAPONMOD
Navigation
[0] Message Index
[#] Next page
Go to full version