We Need an All-New Networking Algorithm
Back to Gamenova.
We tentatively arranged some renovation plans for large arcades.
Whether this model will work in the seemingly unsuitable environment of the United States remains to be seen.
It's always good to give it a try.
As for what to do next, that naturally means preparing for the big Christmas releases at the end of the year.
Quake 2
The long-awaited sequel is finally coming.
FPS games are considered Gamenova's crown jewels.
As long as Wolfenstein 3D, Doom, and Quake exist, Gamenova's influence in the video game industry will forever remain at the top tier.
The titles of the world's first 3D game and the world's first true 3D game are enough to ensure Gamenova's lasting fame.
Even a hundred years from now, those who conduct archaeological research on the history of games will likely still revisit this period of history.
Now, it's time to amplify that reputation once again. Click
Lin Lixin inserted a floppy disk into the drive and faced the bulky vector monitor in front of him.
Green lines rise from the black background, outlining a three-dimensional 3D corridor.
As he operates the keyboard, the game's protagonist moves forward, backward, and turns.
The only problem is that these operations are very stiff.
Every time you move, you have to wait for this broken computer to redraw the entire screen.
It can only rotate 90 degrees, not even as much as the free horizontal turning in Wolfenstein 3D.
This is not a Gamenova creation.
It is much older than Gamenova.
This is "Maze Wars," a game that was created in 1973.
Yes, if we're strictly tracing the lineage of first-person shooter games, Mazewar actually predates Wolfenstein 3D by a considerable margin.
From an academic perspective, it is the true "earliest FPS". And the "old computer" that ran it was a research-grade computer that only universities and colleges could afford back then.
It is precisely because of this lack of widespread popularity that it can only be considered a "scientific research project" rather than a real game.
It wasn't until the release of Wolfenstein 3D that FPS games were truly brought into the view of ordinary people.
It also conveniently allows for free head turning and free movement.
Besides 3D, Maze Wars, this pioneering title, also implemented a feature that is arguably the lifeblood of FPS games.
Online multiplayer battles.
Not the kind of internet that's gradually taking shape now.
It's a regional network.
In fact, Gamenova had previously referenced some of its implementation methods.
"Midi Maze" is a game that connects multiple PCs together via MIDI audio cables to enable online multiplayer battles, and it can be considered a branch of the "Maze" series.
As for the later ARPANET, there is also a version corresponding to "maze".
"Its networking mechanism is too primitive," Carmack's voice rang out from the side.
He just finished studying the source code of "Maze Wars".
"I guess so. It's probably similar to the implementation method in our ' Civilization ' series?"
"Yeah, having to synchronize data with everyone after each player's action is too inefficient."
Carmack nodded.
Maze Wars is a game from almost 20 years ago, and by today's standards, it looks incredibly primitive.
If player A moves one step in the game, the client needs to send this movement message to all players.
It contains all sorts of random information, such as who the player is, where they moved to, and the direction they moved in.
A full synchronization will only occur after everyone has received the data.
This method of implementation was perfectly acceptable for that era.
A game typically has only three or four players, and the network is only responsible for transmitting this data. There are no other uplink or downlink overheads, and the maps are not particularly complex.
But even with just a tiny bit of improvement, fast forward to the era of Doom, this system would be completely unusable. "It's no match for our P2P lockstep synchronization; it's a 20-year generational gap."
Lin Lixin waved his hand.
Quake requires online multiplayer, and Gamenova has already tried to address this issue.
At the time, they used a p2p lockstep synchronization method.
Unlike the inefficient approach used in Maze Wars, Quake adopted a more advanced solution.
Each player must report their actions in every frame.
The next frame will only begin after everyone in the game has finished broadcasting their actions.
With the addition of some optimization predictions and rollbacks, the game was finally able to function normally.
However, P2P lending has also given rise to a very serious problem.
Every card is a card.
The advantage is that no one will get completely crushed by others because of a bad internet connection.
But that's the downside: everyone gets stuck, and if there's a glitch in the game, nobody can have a good time. This problem is almost unsolvable, and the most common solution in the community right now is... to move to another server.
If the physical distance between two people decreases, the network latency will naturally decrease.
This is also why Lin Lixin is pondering this now.
He needs to find a better solution to handle his upcoming work.
"Quake's current online code is outdated and unsuitable for the rapidly evolving internet age."
"Yes..."
Carmack nodded slightly.
Although many of these ideas were his original whims, they represent his proudest "glory."
Even so, he had to admit it.
It's outdated.
The speed of development in this era far exceeds anyone's imagination.
What might have been devastating and invincible a year ago could become an obsolete and forgotten thing a year later. Just like how the i486 easily surpassed the once-dominant specifications of the Athena.
"Don't worry, we already have a similar technology stack, it just needs some optimization."
Seeing Carmack's somewhat damaged pride, Lin Lixin offered a word of comfort.
For a true genius, having their technology rejected is indeed a very uncomfortable thing.
"Client-side predictions and server-side authority—we've tried doing that before."
Lin Lixin recalled.
Looking at Gamenova's technological accumulation, it has always had a lot of interaction with the Internet.
The technologies used here are simply incredible.
From the extensive network communication optimizations that enabled real-time online play in Quake, to the pbem email synchronization used in Stars!...
It can be said that they have tried using almost every technology they could think of.
History has proven that the client/server model is absolutely in line with the direction of the times. At least in Lin Lixin's memory, the modern game industry still adheres to this standard after the 2020s.
Of course, this C/S model doesn't refer to V Company's later Counter-Strike, but rather to the client/server model, where one server corresponds to multiple clients.
The client is responsible for handling all tasks that only require local processing, such as rendering images, playing sounds, and processing input.
The server, on the other hand, only needs to process the input information sent by each client from a purely data perspective.
Even in modern times, developers are still constantly patching up the system that Carmack created.
In a sense, it can be considered a kind of green technology.
The problem was forcibly solved by using bandwidth optimization and stacking.
The most crucial optimization mechanism in this regard was also created by Carmack.
The "quakeworld" concept was proposed in 1996.
This refers to client-side prediction, which Gamenova has already been using for some time.
The client completes its operation before waiting for a server response, and then attempts to correct it after receiving the returned information.
This greatly reduces the disjointed feeling of having to wait a while for the character to respond after pressing a button.
The buttons are no longer sticky or unresponsive. This system has been retained in modern FPS games.
Carmack and Sam each had a PC and were playing online with Lin Lixin.
After playing a few rounds, Lin Lixin stopped.
That's enough for now; he was just incidentally gaining some experience along the way.
Actually, he had already had some ideas from the very beginning.
If we want to look at the history of FPS games from a technical perspective...
Besides Carmack and his id Software, only one other company has made the greatest contribution.
Valve, V Company.
The Source Engine, along with titles like Half-Life and Counter-Strike, is practically a massive testing ground for FPS games.
They took the baton from id Software and led FPS games into the modern era.
"While our previous client-side predictions solved the lag issues on mobile devices, they offered no help in actual firefights," Lin Lixin summarized briefly, then looked at Carmack.
"However, we can continue this idea and develop 'client-side weapon prediction,' similar to the mobile processing method."
This was the first optimization technique employed by Valve.
"Letting the client decide whether to fire? That... isn't a good idea."
Carmack frowned slightly and, unusually, retorted.
He had considered this when designing client-side predictions, but later abandoned it for various reasons.
The biggest problem is... cheating.
A lag-prone player can easily fool everyone by exploiting delays.
Sometimes, deliberately controlling your internet speed can have surprisingly good results.
"No, no, no, it's just acting."
Lin Lixin waved his hand, got up, went to the whiteboard, picked up a pen, and quickly drew densely packed text on it.
"You see, in the current version of Quake, the main source of the lag is actually in the firing animation." "While players won't experience lag while moving, these delays still occur when they click the mouse to fire."
"Imagine a player pressing the fire button and having to wait hundreds of milliseconds before seeing their gun fire."
"This experience is extremely frustrating."
His explanation was clear enough that even Sam understood it at that moment.
"So it was... a fake firing? It looked like firing, but it was actually simulated on our client side?"
"That's right, the actual situation is entirely determined by the server-side calculations, and rollback corrections are still based on information."