Jump to content

ROSS'S GAME DUNGEON: BATTLEFORGE

Recommended Posts

I'm not saying that doing this is impossible, I'm just stating how difficult it is. A game like Deus Ex is very old and it's techniques are frankly pathetic by todays standards. My point is more about the companies decisions. This discussion has gone onto a bit off a tangent here...

 

It's ALWAYS possible to reverse-engineer a game to working state. However, I think that highly redacted source just isn't that important ultimately. The parts that are redacted are usually the parts which are toughest to replace, which kinda defeats the point. Deus Ex was just about changing the models to an intermediate format which they could modify, and has nothing to do with actually replacing middleware systems.

First of all, I think you're correct about companies making decisions about what's more profitable in the short term rather than actually building trust among the consumers. I mean, you can't get fucked by a single company constantly and keep returning to it. And I don't think EA is strictly evil in the most part, it's just run by stockholders who only value profit and disregard everything in the middle - from its own workers to its target market. As long as they make money, they don't care.

(side note: I think that's the true definition of evil, but that's a discussion for another time.)

 

 

Secondly, I didn't have a better example. It's just that even if something seems impossible, you can always put it in the cloud and have smarter people or machine figure it out for you, with the worst case scenario of whiteboxing everything.

And actually, the undocumented pieces of code which link everything together might be the most important, because everything that's proprietary is documented elsewhere. Even patents will run out eventually or just became so outdated there will be a) no use of holding them or b) a better, more modern solution available, so I don't think it's so very harmful and confusing to have entire modules ripped out. It's more work than having everything laid before you, but it's less work than starting from scratch.

Share this post


Link to post

Subtitles for this will be delayed. My father is coming over this weekend and I need to spend some quality time with him.

 

Sorry guys. Subtitles are coming. Have patience.

Share this post


Link to post
Subtitles for this will be delayed. My father is coming over this weekend and I need to spend some quality time with him.

 

Sorry guys. Subtitles are coming. Have patience.

I know I can wait for the subtitles so dont worry about that Daniel, you do an amzing job on them man

Share this post


Link to post
Physics is typically server-side, otherwise every player would see a different state of the world. Some games which don't care much about physical state (like CS: GO) have client-side physics, but games like Garry's Mod where the physical location of items is shared with every player, the physics is serverside. Animation is usually client-side when it comes to actually performing the blending and IK and actually manipulating the skeleton, but the animation state machines are usually server-side (if a player is crouching, walking, or running, every other player should know about it). Of course, many other components are often at least partially serverside. Usually games will have their own networking systems instead of using TCP (usually UDP with some added features), since TCP is built for a web browser and so doesn't care much about latency. These networking systems are obviously partially serverside, and can often be middleware.
Really? I thought the physics would typically be client-side since

1. That can vastly reduce the load on the server

2. Most of the time physics are effects that don't effect the actual gameplay (clippable ragdolls, particle effects, etc.). So if your explosion looks a little different to you than others, that typically doesn't matter.

 

Most of the at-risk online games are MMOs, where physics don't get too heavy except for effects. In something like World of Warcraft, you don't even have ragdoll physics, and instead a stock animation would be played when an enemy dies. I think the most the server would do is verify the location of the body. Some non-typical MMO games that come to mind for online only are Planetside 2, World of Tanks, Path of Exile, Diablo 3. For something like Planetside, I'd be surprised if the physics are done server-side. If you throw a grenade that bounces, does the client calculate that, then the server verifies the path? I found this thread, and they seem to think that it's clientside. Path of Exile has been famous for "desync" which makes me think that could be a client-side thing, though I could be wronng.

 

My guess is SOME physics are done on the server, but I would think not the bulk of it.

Share this post


Link to post

Your video points out the exact problem with major publishers these days. They're more focused on money than on the fact the games they release are meant to be played. It's sickening and pretty fucking sad when your favourite game is rendered entirely unplayable just because the publishers deems the game unworthy of life.

 

It's a pretty fitting analogy too. The games become pretty much dead, buried under the fact the server is no longer running so all the potential is just wasted.

 

In my opinion publishers should consider adding dedicated server tools to games they no longer want to support so people can run their own servers. This is pretty much what has kept a lot of oldschool shooters alive. Heck a lot of modern indie games profit heavily on this.

Share this post


Link to post
Really? I thought the physics would typically be client-side since

1. That can vastly reduce the load on the server

2. Most of the time physics are effects that don't effect the actual gameplay (clippable ragdolls, particle effects, etc.). So if your explosion looks a little different to you than others, that typically doesn't matter.

Most of the at-risk online games are MMOs, where physics don't get too heavy except for effects. In something like World of Warcraft, you don't even have ragdoll physics, and instead a stock animation would be played when an enemy dies. I think the most the server would do is verify the location of the body. Some non-typical MMO games that come to mind for online only are Planetside 2, World of Tanks, Path of Exile, Diablo 3. For something like Planetside, I'd be surprised if the physics are done server-side. If you throw a grenade that bounces, does the client calculate that, then the server verifies the path? I found this thread, and they seem to think that it's clientside. Path of Exile has been famous for "desync" which makes me think that could be a client-side thing, though I could be wronng.

 

My guess is SOME physics are done on the server, but I would think not the bulk of it.

Usually particle physics and other cosmetic physics is completely serverside, since it doesn't really matter if 2 people's explosions look a little different.

 

I can't talk for most of these games since I don't have much knowledge of their internal workings. Generally, physics is client-side if it doesn't affect gameplay, while if it does, it is serverside.

 

In Garry's Mod, the dead ragdolls are completely clientside, but all the props are done serverside because building physics based contraptions is essentially all the game is about. In CS: GO, the ragdolls are serverside, because knowing where players died and where they were shot from is a pretty big part of the game - however, random small physics props are clientside because they can't affect movement and are purely cosmetic. In both of these games, the actual players movements are calculated serverside to stop hacking - in CS GO competitive matches or in Gmod RP, noclip hacks would be disastrous!

 

The main issue with clientside physics is that it's very easy to cheat by just modifying the client. In a game like planetside or world of tanks, you could make vehicles much faster and easier to handle if the server wasn't authoritative over physics. The client says "my vehicle is here" (where "here" is an invalid position like hovering up in the air or inside an object), while the server has no information to counter that. In Planetside 2, you could have heat-seeking grenades bouncing across the map if it was clientside. Perhaps hacks like these DO exist for these games, but I've not played enough of them to know.

 

Some games use a mix of serverside and clientside physics. For example, a while back one of my friends was considering creating a multiplayer Kerbal Space Program mod (this was before the existing MP mod, before official MP was announced, and while the developers were pretty stoic about it being impossible...). He decided that he would have the server hold authoritative state of a player's position in the universe, while the clients performed the intense PhysX physics calculations in a bubble around them, to handle ships colliding and bending and so on.

 

In Path of Exile, the desync you are hearing of came from another networking symptom which is pretty dense to explain... When Path of Exile was first released, they used a networking model similar to most FPS games, which the Source engine uses - an authoritative server would hold the game state while each client would tell the server about their movements. The primary issue with this system is that the server actually lives in the future due to latency - each client sees the world in the past. To get around this, each client performs what is called clientside prediction, where they predict what the state of the world is on the server and show that instead.

 

The issue with clientside prediction is that like all predictions, it can be wrong. Have you ever played a Source game where you were being shot at, ducked behind a wall, then died while already behind the wall? This is because the client incorrectly predicted that you'd still be alive by the time you got behind the wall, while the server finds that 1 extra bullet hit you. In FPS games this is mostly unnoticeable, but in a top-down moba it is pretty huge. Dodging attacks becomes a game of probabilities. On the client you may dodge the attack, but the server finds it hit you anyways, or vice versa.

 

So Path of Exile switched to another networking system, used more in RTS games (and in League of Legends). In this system, instead of sending across the state of game entities, you just send over the inputs. There's no authoritative server in this case, usually. This is very useful for RTS games, because instead of needing to say 10,000 units moved and sending their new positions, you can just say that a player performed a movement command, and then every client will independently simulate the results of those inputs. Consider a game where player A tells his units to move right - instead of telling player B and C the new position of his unit, he just tells them to simulate the move right command on his character.

 

This is very useful in a moba because now every client sees the exact same state of the world, with nobody in the future or past. If a client fires an attack, every other client sees exactly where it is, and can dodge it without prediction messing them up.

 

Of course, as with every system, this system has a couple of disadvantages. Firstly, every computer is capped to the simulation (not graphics) FPS of the slowest computer; you can't simulate the next physics frame while another computer hasn't simulated the current one. This is what causes the slow-motion in RTS multiplayer games, even if you were sure that your computer could handle it. Secondly, the system had increased latency. There's a visible delay before your commands are sent to and simulated across each client, so if you pressed "move right" then there could be a delay of a few hundred ms before you actually do.

 

The third primary issue is the one which caused the desync issue. The game client needs to be perfectly deterministic. This means that any calls to rand() must be equally seeded across every client, so each client sees the same sequence of random numbers, and that all clients always call it at the same times. It means that no multithreaded race conditions can cause the state of the game world to diverge. Each client must ALWAYS do exactly the same thing when given the same input. If anything ever diverges, you quickly get a butterfly effect where a small change causes the entire world state to diverge so much over time that each computer sees completely different things, making the game unplayable.

 

This is called "desync", and considering that this networking mode was added to Path of Exile after being in development instead of planned for at the start, it's clear why it could happen. I suspect they'll work these bugs out over time.

 

So really, as with anything complex, the answer to everything is "it depends" :D

Share this post


Link to post

Hey Ross. Long time watcher, first time poster. If you like RTS games, and you can find it, check out "Impossible Creatures". It is my favorite RTS of all times. It is also really hard to find now. When you said you enjoy customizing your army it made me think of this game. You can combine 2 animals to make your units. You can make, lion-sharks, chameleon-whales, electric eel-hornets, or any variation of any animal in the game. You decide what parts you want from the two animals.

 

Here is a game play demo of it:

https://www.youtube.com/watch?v=x3WQEsPi_mY
Edited by Guest

Share this post


Link to post

May i reccommend you to play c&c renegade for RGD? for me thats one of obscure games- i dont know (which doesnt mean there arent any) any other FPS/3rdPS game that is based on RTS (i also reccommend online portion of it)

Share this post


Link to post
May i reccommend you to play c&c renegade for RGD? for me thats one of obscure games- i dont know (which doesnt mean there arent any) any other FPS/3rdPS game that is based on RTS (i also reccommend online portion of it)

And if Ross needs another person to test the MP version of it, I am perfectly willing to help out. :ugeek:

Share this post


Link to post

Online-only games getting killed kind of reminds me of the "planned obsolescence" issue - except instead of the games themselves being designed to break after a certain time, the company policy is designed to achieve that same goal. The reason is still the same - as a producer who is interested in making money, you don't actually care if people are using your product, but if they are buying it. If you make a game, and leave it out there for people to play even when you no longer get any cash from it, that means that some of them will be spending their time playing that game, instead of investing into the new one you just made and expect to bring in more money. So, by killing the old game, you force people to move on to something else - hopefully that new and shiny thing of yours, which you are marketing as new and improved version of the previous thing, hoping it will attract the fans of the predecessor (my guess is that companies keep doing it because the amount of people who say "screw you and your policy, I'm not buying your games anymore" is way lower than the amount of people who always rush to get the shiny new thing).

 

About "The Flock" game that has been brought up, I'm okay with that. Not going to invest into it myself (the game itself does not seem all that interesting), but I get it - the company is creating a one-time gaming event, and people who participate will have "achievement unlocked - played The Flock in the limited time event back in 20XY", and people actually know the conditions beforehand. It sort of reminds me of an idea I once heard in a discussion about realism in games - the idea was like a super-hardcore mode, where if your character dies, it not only stays dead (think Diablo 2), but the game itself uninstalls from your computer and you can't ever play that game again. Sure, not a thing for casual gamers, but I imagine tons of people would find that concept attractive.

Share this post


Link to post

I think something that's ignored a lot in this kind of debate is how market-focused the corporate mindset is. It's easy to assume that the business model behind this is Take the Money and Run, but it’s frustratingly more complicated than that. From the way the corporations and merchants see it, a game being online-only means it has a clear, inherent possibility of being shut down. A possibility that is presumably obvious to the consumer. So, legally, it can be inferred that any customer willing to buy an online-only game is making a conscious decision to buy said game with full understanding of the risks involved. A few people on this thread mentioned making laws about this, and I can guarantee that the legal argument used to continue the practice would be similar to the one I just stated.

 

People assume these games have no reason to die, but why? There's no divine law stating that a game, by definition, must have some form of permanence. Nor is it considered illegal to sell people a product that will eventually be discontinued by the company. Logically, there's no reason it *has* to be done that way, but it works, people still buy it regardless and while its very lazy its not actually anything that's illegal or even approaches an illegal act. They sell it at the full price of a regular game. So what? This is a free market, unfortunately. We don't use a system where governments and civil populations are allowed to micromanage the price of any random commodity. Nor, for that matter, outlaw certain commodities just because they aren't a "good deal".

 

Maybe some kind of bureau could regulate the selling practices of games, but I wouldn't hold my breath for a government one and a private one would pretty much be a blatant corporate trust. It’s not a way of doing things that I support or believe in, but I can't take anyone seriously when they talk about regulating this kind of practice via a higher authority. Unless much bigger, fundamental economic changes are passed first, it’s not happening. Sure, I'm not a believer in the free market and I do very much support archival and preservation of media. But I think this issue is a lot more complicated than just passing a few laws.

 

With that in mind, the answer probably lies in companies like Good Old Games that license old properties and get them running for new systems, then return to selling them. This is of course more complicated for server-reliant games, but games in general have always been increasingly complicated Rube-Goldberg abominations in terms of coding and programming. It's just a question of whether or not you're willing to pay a staff to reverse-engineer that sort of thing and put up the cash to buy the license. It's not profitable for newer games yet, but there's probably a whole industry to be had in just reclaiming and reworking old games that we're seeing the very beginning of. Strife is a recent example of that.

 

This still does nothing about companies letting a property die and then refusing the sell it, but once again a company does have the right to do that. Removing that right, even if you could get everyone to agree on it, would raise a lot of complications over when you could and couldn't seize a property and who logically gets the rights to it, etc. At the end of the day, they have more lawyers. You can't win them all I guess. Personally, I'm just happy that the market that screws us so often seems to be catching on to the idea of refitting and reselling old games.

 

...This went on a bit longer than I thought. Point is, its convoluted. Don't sell it short, that'll just be a bigger headache.

Share this post


Link to post
Online-only games getting killed kind of reminds me of the "planned obsolescence" issue - except instead of the games themselves being designed to break after a certain time, the company policy is designed to achieve that same goal. The reason is still the same - as a producer who is interested in making money, you don't actually care if people are using your product, but if they are buying it. If you make a game, and leave it out there for people to play even when you no longer get any cash from it, that means that some of them will be spending their time playing that game, instead of investing into the new one you just made and expect to bring in more money. So, by killing the old game, you force people to move on to something else - hopefully that new and shiny thing of yours, which you are marketing as new and improved version of the previous thing, hoping it will attract the fans of the predecessor (my guess is that companies keep doing it because the amount of people who say "screw you and your policy, I'm not buying your games anymore" is way lower than the amount of people who always rush to get the shiny new thing).

 

This reminds me of Men of War Assault Squad 2, the main selling point of the game for someone who already has Assault Squad is that gamespy shut down, the previous games' online functions depended on it and the devs refuse (probably under orders from the publisher) to patch them like many others have, for example Relic in the 11 years old WH40k Dawn of War. This situation while not planned is very similar to what you described.

Share this post


Link to post

About the tint filter done in NFSW, i'm starting to think the tint's like that because the game knew it's going to die. What a shame though, I meant to play that game, but kept putting it off because my PC couldn't handle the specs. Well, I missed my chance.

Edited by Guest

Share this post


Link to post

I suspect this Game Dungeon is going to get a lot more views than most of the others. At least in relative terms.

Share this post


Link to post

Subs are all typed up. I'm setting up the sync markers now and I'm about 15 mins in. I should have this done fairly soon. Hopefully before the next video comes out.

Share this post


Link to post

I suspect this Game Dungeon is going to get a lot more views than most of the others. At least in relative terms.

Huh. Ross seems to have a few relatively high profile fans. This guy, Notch, the SF Debris guy...

 

Okay, now I'm wondering. Was that really Richard Dean Anderson?

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in the community.

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.