The new forums will be named Coin Return (based on the most recent
vote)! You can check on the status and timeline of the transition to the new forums
here.
The Guiding Principles and New Rules
document is now in effect.
[Palworld] Craft - Build - Survive - Capture - Battle
Posts
I really want to answer this more in depth but I'm short on time right now, I'll come back to it in a few hours, it's a good question to ask and the answer could get very long depending on how in depth I want to go. Politically and historically, consoles are the main reason this isn't standard yet and that's entirely because of business choices to deny cross play on the basis that the "winning" console always believes they garner an advantage by not having it (lately that has been Sony). You'll note that in the mobile space cross-play is 100% a standard baseline expectation and those games even generally have cross-play between all mobile platforms and PC (if they have it) at the same time. Just to set the stage here; I'll get into it more later!
Sounds good! I'm mostly interested in the description of how it's just super easy to do -- the suggestion being of course that the cost/time is insignificant to the point that any studio could do it -- as none of the networking folks I've spoken with seem to be under that impression but I'm willing to hear out why that's incorrect.
I do understand that historically "console wars" can play a part, and stuff like "well we don't want KBAM players and controller players in the same matches together", but I don't think any of those apply to a Japanese indie developer that has released a game for Xbox and PC that freely allows you to switch input method.
There's 0 indication that Valve has ever paid someone for some kind of faux exclusivity like that. My guess is that Microsoft paid them some amount of money to get it on Gamepass (which yes probably plays into the lack of announcement for the PS5 right now!), but Microsoft gains nothing by paying or encouraging them specifically to not interface with Steam..........and like, we already know they're working on crossplay as they've stated and reiterated numerous times. It doesn't really match up with any of the historical examples you've alluded to (and we're ultimately talking PC to PC compatibility primarily), but I know there's more to come.
1) identical clients
2) matchmaking
From what it sounds like there are non-trivial changes between the two clients right now so you might not actually be able to get the two to talk together. This is not terribly surprising if they just made changes to one to just get it to work. There's also patch cadence issues, no point in even attempting crossplay if their patch cadence on steam is daily and on xbox is weekly
Crossplay matchmaking is quite tricky and several assumptions like "the online subsystem we use for everything will have information about this other player" are now false - an xbox user playing with a steam user means neither can query the other system since they're each only logged into one. It's quite likely that the dedicated server uses the steamworks SDK matchmaking and validation too since you do get that for free with steam at least. This probably requires that they write their own server and all that entails. You can get things done extraordinarily quickly as long as you stick to what the engine gives you - a single "online subsystem" and has friends, matchmaking, etc implemented for free, but once you stray off the happy path and need something custom things slow down
Compounding all of this, this is a junior team, so they're unlikely to do things in the proper way from the start and more likely to just kludge things so they work instead of doing a proper cross platform fix
Compatibility: You have an online game on two or more platforms, and they need to be able to talk to each other; you just want them to function, pure and simple. This is the most critical concern but, fortunately, also the easiest in most cases. But let's break down those cases. At a very high level, there are effectively two major network synchronization models used by online games; server authoritative, and deterministic. They aren't necessarily mutually exclusive, but to some degree one of these has to be the primary authority on how the game simulation operates.
Server authoritative just means that a central server simulates the game and is the ultimate source of truth on the game's state. The game's state is transmitted from the server down to game clients, who synchronize themselves seamlessly to the server's information. Usually, the clients have some light predictive behavior to compensate for lag, but the server is ultimate authority and any slight deviation in state is corrected.
Determinism is a technique by which the server does not need to actually maintain or transmit state. Clients maintain synchronization by calculating the state on their own using the same player input information. It's called "deterministic" because the output of those calculations need to match *precisely* for every single client, for every single byte. It is very hard to make an existing program that was not planned for it cross-platform deterministic, and relatively easy to do if you know what you're doing and prepare for it on day 1 of development.
Generally you can guess what kind of model a game is using based on its genre. Server authoritative is much easier to achieve, broadly supported by game engines, and this makes it generally appropriate for most typical online genres. Determinism is most commonly associated with fighting games, but may also be used for other types of games with very tight frame-by-frame gameplay. It's generally an odd choice though, as it requires more specialized expertise to build and maintain. It also works best when matches are short and have a defined, universal start and end time. Any game with a persistent, long-running server like Minecraft or WoW is going to favor server authoritative because they need to maintain server state and transmit it to players who join up. If you're looking at a game that is hybridizing or something fancy like that, you are looking at a team that probably knows what it's doing and has need of more advanced networking to achieve a specific result.
Minor edit: Also fun to point out here that sometimes games pick the wrong method for what they're building with disastrous results. Multiversus made a fighting game with a server authoritative model and suffered incredibly for it.
Ok so all that said, if you are doing a server authoritative game and you have no need of determinism, your cross-platform compatibility is effectively free. Your game server is the authority on state and it's not dependent on any client platforms at all. Your clients are connecting to the server and receiving and interpreting the same data in the same way. Minor differences in client prediction would be seamlessly corrected, this is something that could happen between different PC builds in the first place so you're already good there.
For Palworld, remember that cross-play between XBox and PC is already happening. So it's very unlikely this is an issue.
Deployment Logistics: This is where it can start to get more thorny. You have an online game and it needs regular patches, and those patches need to go out to customers. But not every customer will patch at the same time, so you could have two players who are playing on different builds, or someone has a different build from your server. What to do?
One way of handling this is with OTA (over the air) updates, but I'm just mentioning this for completeness. This is a technique where new game content can be downloaded by the program itself, so you don't have to actually update the user's program. But it's a lot of work to develop and host these assets and you can't deploy new code in this way for security reasons, so it's not really relevant here.
In the old days, if a game wanted to patch, it would just kick all the players out, take the servers down, and force everyone to download the new client from the game's launcher in order to play. Nowadays with always-on expectations and third party app delivery, this is not so feasible. Note thought that this is an issue even on a single platform - a player on Steam could be on an outdated version for days or more if you do nothing, and they won't necessarily know how to get the latest build if they aren't a power user. Some games write things specifically to maintain backwards compatibility for a short time, so users on the old version don't break. Others force an update before next login, and instruct their users on how to force Steam to do an update. A more robust technique is to feature flag things and deploy the client ahead of time, then remote-activate the features once they are satisfied that all the players have updated.
It sounds like deployment logistics is where Palworld is tripping up. But the solution of splitting up by platform comes with its own costs, because now you need to maintain two sets of servers for the different versions. Deployment logistics over multiple platforms is a pain, but it's going to be a pain no matter what you do. Having two different versions of the live game just comes with a different set of challenges and pain points. You can't actually opt out of managing deployment logistics in the way that a single player game would, you have to do something and imo the delta between different approaches is not large.
Platform Specific Features: Various platforms have inbuilt features that devs can take advantage of to facilitate the ease of development. Stuff like party systems, friends list, lobby lists etc. If you are leaning very hard on these, then it will in fact take a lot of work to roll your own features and get that done. Usually though, these features get done anyway because the features don't overlap and you end up needing a custom solution for one platform anyway. XBox has a party system, but Steam does not. Steam has a lobby system to help facilitate multiplayer, not sure if XBox or the others do. So if your game needs parties and you want to be on Steam at all, you need to spin your own party system, the fact that XBox has one means nothing. This concern probably is most relevant to indie devs, who may lean hard on Steam's feature set to get things done and not worry about going to console until they're already successful. For a server-based survival crafting type game, you might indeed be using Steam's inbuilt server browser functionality, and maybe XBox has one as well, so you need to roll your own for players to even find each other. If you're a company like Blizzard, with their own infrastructure and battle.net accounts, you don't need to worry about this in the slightest.
In fact at the end of the day, Diablo 3 was cross-platform just by default, and they would have had to do extra work just to make it not work cross platform. Your issues can range from that, where it's literally more work to disallow cross-play, to your fighting game where you didn't account for floating point variance in your deterministic simulation and now your clients can't even stay synchronized at all without a year of code retrofit and a dozen engineers (I have had a team contact me once to try and fix this with their game 3 months out from launch, and just, oh man you do not want to be there). For a game like Palworld, based on its genre and existing deployment, I'd expect cross-play to be relatively low hanging fruit and they are just having trouble with the logistics and organization part. And that's ya know, whatever, small dev probably under-resourced for the game their making, sure. Hopefully they can resolve this quickly and get it done because it's a more than reasonable ask for a game of this kind. A lot of this stuff on the tech side is just things you need to be doing to build a PC online game of any kind. There are costs but they've already been paid in full.
But also, cultural inertia is a huge deal, and this is the real difference between mobile dev and PC/console and their success with cross play. Google just fucking shits your app out into the void and different users will get access to it at different times over a 24 hour period and devs still manage to keep the games always online with cross-play and no disruptions of service. Steam is really the odd one out in just allowing you to deploy an app to all users *immediately*, they are the only platform that does that and even then they don't force downloads or anything so you still gotta handle deployment logistics.
Even if the game is already built for cross platform play and all they need to do is flip a switch, they still can't enable crossplay as things currently stand because the xbox/gamepass version of the game is not running the same version of the game client as the steam version, and they aren't in control of that version difference. They are at the mercy of Microsoft's patch certification process for getting updates pushed to the gamepass version of the game and let me tell you that isn't a fast process unless you are a very big publisher with an existing relationship with Microsoft.
Also getting better at managing my active Pal aggression stance.
Made it to level 25 and defeated the first enemy trainer tower.
MWO: Adamski
I think some of it is just how we approach Early Access. I'm okay with Early Access omitting stuff like that, as long as they don't mislead. There's not a flashing banner on the steam page saying NO XBOX CROSSPLAY -- that's not really how advertising and steam pages work -- but they did say before release that it would be missing for release. This is a common enough practice that my first thing to do when I heard "gamepass launch too" was check crossplay and see if we could all play together.
Right now, it seems very very wise for that not to be priority #1. There are other more critical baseline issues that need to be fixed, and having everyone be at the mercy of Microsoft's certification process to get fixes isn't my idea of a fun time. At some point there will be a time when things have cooled down, and waiting an extra week for everyone to get the new batch of Pals together so Microsoft can certify and people can crossplay is fine.
It just seems like a very reasonable prioritization of issues. I can confirm their networking team has a ton of work to do outside of crossplay too! They're not sitting there doing nothing, as the dedicated servers have many critical issues. The stories about playing on an official server right now are kind of comical with how much of a mess they are due to overload, and even hosting your own private server has issues with memory leaks and just some good old fashioned bugs that need to be squashed.
Cities Skylines 2 had the same exact issue at launch. Basically it seems like until you hit a certain threshold of playing/popularity on Gamepass, Microsoft doesn't invest resources into patch certification if you're a third party publisher.
After about a week and a half, the patches for CS2 were simultaneous. Given the build disparity, I'd expect it to be a bit longer for Palworld, but not too much. I'd expect patch parity by the first weekend in February if they can get the gamepass version caught up.
You're kind of overthinking this. This is a junior team making a game in Unreal
Unreal already has abstractions for all of this
They're not really carefully choosing server authoritative or client authoritative and writing replication, they're just doing and letting the engine do it's thing. There's no way to version this, it's not like the network layer is protobufs or something where compatibility is the goal, it just serializes raw fields
And maybe the xbox Player class has different fields than the steam Player class and stuff like that
And they're going to just be using the Steam subsystem (https://docs.unrealengine.com/5.3/en-US/API/Plugins/OnlineSubsystemSteam/FOnlineSubsystemSteam/ ) which provides implementations of a common interface representing "online functionality" so all of this has been abstracted away. Presumably there is a different implementation for xbox, maybe in the sdk? But what there isn't is the concept of talking to an xbox player using the steam system, and there's definitely no concept of finding an xbox player to play with from steam. And steam won't let you on their system without a login, so all of that falls into custom implementation territory
Comparison to say Diablo III is not really relevant because that launched on Battle.Net and well that's a common platform using a custom server and engine
As for maintaining updated status, by default steam will push updates by changing the "play" button to an "update" button when a new build is pushed. It's possible to keep older versions around and some devs do that, but you have to either go out of your way to allow that, or players manually launch the game
Yeah my post got written before your other one came in. From experience the Steam update isn't that reliably fast for the end user, but you can kludge it by just kicking people offline when they are out of date. I didn't realize the team was so inexperienced as the game itself looks fairly professional. Ok, I admit I am not used to working in a space where a game has no real back end services or identification at all. I guess they'll have to move over to Google matchmaking or some other third party if they don't want to roll their own.
Does Unreal's replication really have no versioning capability at all? I'd expect it to be abstracted yes but this must be a fairly common problem for their customers. Maybe it's just not a priority for console/PC devs and so has never been worked on.
The idea to do crossplay is you build everybody's client from a common codebase and then they can all talk the same object set. Once you're stable you can do smaller updates that don't change networking layout, or synchronize updates and check versions
It's also possible that substantial portions of the game are implemented in blueprint too, which won't let you even tweak the implementation. It'll just be a "replicated variable"
Twitch: akThera
Steam: Thera
Having more than two or three people makes resources a problem.
I say it makes resources an adventure.
https://youtu.be/YTzfVsDy0gA?si=AU4jAWjkt80yQDpa
New World was worse than this. It was server authoritative... The server code was just shit.
People thought it was client authoritative because as dumb as that was, allowing such basic and easily caught exploits on the server side was so much dumber even suggesting it was slanderous. Nobody could be THAT incompetent, right?
Basically, "They hit the wall, it seems like they don't know how to drive." "No actually we do know how to drive but the car doesn't have brakes or mirrors or a steering wheel."
You'd be forgiven for assuming the mundane stupidity rather than the astounding stupidity.
Not really? I'm really curious what is making you say that. I could see maybe ammo and balls having a bit of a crunch in the mid/late 20's where you're only on two bases if you're in a larger group/guild all sharing instead of dispersed with individual base networks. But otherwise everything is so renewable via either ranching, pits or just good base placement that I don't see what would actually be the issue.
The only real consistent crunch I could see through the end game is Ancient Parts? But those aren't exactly things that you need to be mass producing, and with more people you have more man-hours to generate more than someone playing solo.
You can end up needing a lot of ancient parts for some of the epic blueprint recipes, and the bosses and dungeons only respawn so fast.
Listening to a few pals (heh) on Discord bitching about ore.
There are tons of really dense ore spawns -- it feels like it would take quite a few people powergaming pretty hard to despawn all of those? But ultimately you can just tweak the resource respawn rates in your server settings.
Heh I thought "resources" meant RAM, because you are going to need a 32 gig server to support ~10 people online at once.
They definitely are either under the level of having a second base, or just haven't efficiently set one up. Which isn't like a "you're playing the game wrong" thing, but the tools are 100% in game to make Ore not really a huge concern past when you get your second base up and rocking.
Mine second base is set up at a spot where I managed to find a half dozen ore nodes or so, as well as 3-4 coal nodes on top of a mountain. My third base is likely going to be either sulfur or (more likely) quartz of a similar setup. I could see on a full 32 person server maybe not quite having enough of those high density spots, but even then, purely for mining, my Pals can't get through all the spawns fast enough before they respawn. To the point where my current gameplay goal is breeding up more work speed focused Pals to do it, so that I can diversify that base's production a bit more.
Edit: Just logged in to check numbers, and that second base generated ~500 ore in about 6-7 hours. I'm not saying you can't go through that much, but that doesn't seem like an unreasonable amount per person.
The full quote from the IGN article:
The IGN article also says that the PocketPair CEO claims that their game has "cleared legal reviewing" and they do not think they are in any legal danger.
If Nintendo intended on suing them I think they already would have.
This is basically Pokemon Company just saying "we know it exists okay? We know. We don't need 10k goddamn emails and press queries about it. Shut up."
I don't think Nintendo or Game Freak will actually take any legal action, unless there turns out to be blatant evidence of stolen/recreated models, but Palword being in development for several years isn't really a defense. All that was really available prior to last week were a couple of trailers, and the trailers seem to have gone out of their way to include only the least possibly infringing Pal designs. Most of the Pal designs were not known until recently, and quite a few of them are collar-tuggingly close to existing Pokemon designs. Palword may be in the clear, but they aren't doing themselves any favors by getting so close to the line.
That being said, the statement does sound like Nintendo/Game Freak just wants the Pokemon fans to get off their backs about "suing Palword into oblivion" or the like. I honestly do not think Nintendo/Game Freak is concerned about Palword in the slightest. It isn't really a competitor. The game designs are wildly different. Palword is not a Pokemon game. It's a survival/crafting/base building game that happens to have Pokemon in it as one of the harvest-able resources/weapons. It's closer to a Monster Hunter game in that regard than a Pokemon game.
You've already got the moron modding Pokemon characters into Palworld and getting legally hammered. Not to mention I'm sure with the popularity of Palworld we're going to see a ton of low effort flips that are actually legally infringing on real Pokemon IP and not taking the legal care Pocketpair did to stay on the defensible side of the line.
"Cleared legal reviewing" just means "the lawyers (on our payroll) have said it is OK". It's a mostly meaningless statement. There is no IP tribunal that you can go to to get your designs cleared ahead of time.
No one just gets to go, you're in violation of our unregistered copyright and we'll take you to court to extract as much money as we can. Once Pocket Pair got passed any one to one comparisons, Nintendo, and their legion of loser fan bois, didn't have a legal leg to stand on. Sure, someone could take it to court and the court sometimes says "sure we agree that while it's not one to one, it's close enough to be a copyright violation," but that is really fucking hard to achieve when we're talking about designs that are based off of fairly original ideas. One of the big fucking hurdles that Nintendo will run into is that a fair number of Pokemon designs are in themselves derivative of existing animals or figures from ancient mythology. Some of that shit, like animal, can only be drawn so many different ways before the well starts to run dry.
The Twitter "they stole the models" guy had to clarify that he scaled the models up and down for comparison and is now all "there's really no way to confirm it I'm just saying!" aaaand short of evidence that they actually ripped off pokemon 3D assets it seems like they're fine.
Edit: Yep, right above me. That.
On the topic of playing the game, I took a glance at what kind of mods are available for it. And there's a good bit, most of which is the obvious stuff of course. But I saw one that changes the displayed inputs for controller from XBox ones to Playstation, and I think this might solve one of my biggest issues. For such a minor thing, it really causes problems for me. I can't not press the button on the left whenever the game tells me to press the "Y" button. I understand why games on Windows default to the displayed inputs for the Microsoft console, but the fact that they just flipped the buttons that Nintendo uses has been something I've never managed to straighten out in my brain.
Its just another way of staying away from Pokemon.
The Sony solution was clearly the best: shapes instead of symbols, so there's no expected order. Though you then have Japanese devs who use X as confirm and O as cancel, which is just maddening to me.
You have that backwards. In Japan, it was X to cancel and O to confirm (until the PS5, which standardized on the inferior Western mapping).