SUBSIM Radio Room Forums



SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997

Go Back   SUBSIM Radio Room Forums > Current crop of subsims & naval games > Wolfpack
Forget password? Reset here

Reply
 
Thread Tools Display Modes
Old 03-28-24, 08:20 AM   #1
Onkel Neal
Born to Run Silent
 
Onkel Neal's Avatar
 
Join Date: Jan 1997
Location: Cougar Trap, Texas
Posts: 21,276
Downloads: 534
Uploads: 224


radar Current Wolfpack update

03/18/2024 7:24 AM
Quote:
Originally Posted by Oscar

Hello everyone! So I see there are some questions about the net code, why is it taking this long? Is it really necessary etc.

The reason we are rewriting the net code instead of trying to patch it is that it has some major built in issues. The net code was the first piece of code I wrote for the game, and the game has changed a lot since. Think of this as repaying some old tech debt - Sometimes you need to rewrite things in order to make them better.
So what changes are being made?

The old code used the same classes for both the host and client, and used state to determine if we are playing as the client or server.
So code looked something like this:
If I am the host, then execute this code {...}, if I am the client then execute this code {..}
This is for every script.

The new system separates server code from client code. The server and client are separate modules that execute independently of each other. If you are hosting, you are connecting locally to the server, and if you are a client you are connecting via a network interface. The client code does not “know” if it is running against a server on the local machine or a remote server. This means that the host is executing the same code as any other client. This will make it very easy for us to move to stand alone servers, since the server code can be built separately to make headless servers.

This will also remove the most common type of bug, where the host and clients see different things.
The new system has a lot of built in security, which the old code lacked. In the old code, all safety measures needed to be added by hand for each case, which is error prone and time consuming.

The new system has a built-in network debugger and can simulate latency and packet loss.

In the old system the player pawn/avatar/character was a property of the u-boat. This means that there was a fixed number of players for a given u-boat, and the player models were just hidden until someone logged on. In the new system pawns are their own game objects that connect to/join u-boats. This gives us the possibility to disconnect the pawn from the u-boat, for example: The pawn falls in the water, the pawn enters a lifeboat, the pawn wanders around in the u-boat bunker, etc. This is something that we have wanted to do for a really long time, but we have not been able to do it, since the pawn was a part of the u-boat.

The new system allows pawns to connect and attach themselves to a general vessel class. This allows us to add more playable things, like the corvette (or other u-boat models, like the one Einar has been modeling).
About our priorities:
We feel that making these changes to the net code will be necessary in the long run to achieve our future goals, to fix our current issues, and to allow us to provide a less bug prone experience in the future.

As soon as the net code is fixed I will go back to fixing bugs for the main release. This includes fixing any problems with the level editor and other issues.
When this patch leaves the beta and goes live, we will focus on adding global locations/land. This departure from the roadmap will be announced to the community when we have a stable build and can move the current beta to the main branch.

The global locations patch will make it possible to spawn in anywhere on earth with correct real life map data. U-boats will be able to exist in different zones. Fast travel between zones will be made possible. It will be possible to return to port to restock torpedoes and fuel.
When the land patch is finished our next priority will be to rewrite the AI from scratch. This will be necessary because the old AI has no knowledge of land.

The new AI will include aircraft, patrol boats, mines, coastal defense.
The new AI (and the global world map) ties into the level editor. The new editor will make it possible to build levels using a graphical interface, with some simple scripting to allow for events, branching paths in logic, spawning in enemies, placing enemy units, buildings, mine fields, patrol routes etc.

Both the world map patch and the AI patch will be long patches that will need to be completely finished before releasing them to the public (you can’t release half an AI). To avoid long stretches where it looks like nothing is happening, we will work on small patches in parallel with this work, such as torpedo reloading, adding the new u-boat model with radar/snorkel, etc.
__________________
SUBSIM - 26 Years on the Web
Onkel Neal is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 01:33 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © 1995- 2024 Subsim®
"Subsim" is a registered trademark, all rights reserved.