I was playing Apex and any time there was a Playstation player on my team the framerate dropped down to like 5FPS for minutes at a time. So I think it’s still struggling
Interesting. Once you are in the game, I think it’s all Epic servers, so should work, but it’s possible there’s still some weird PSN connection that may stop it from working.
As others have said start with 5. The rule of thumb for civ games is to wait for the expansion dlc to release and buy the game on sale. 7 is also a significant departure from the previous games, so it’s probably even more important to wait or outright skip it until they get it more polished.
Also it’s worth looking into endless legend or endless space 2 if you want to try more 4x games.
That’s harder to implement. Suddenly you need to store that extra state somewhere and don’t mess it up. The last save should already have a timestamp and is immutable. A lot less likely to get bugs that way.
The state “the game is paused” is different from " the game is paused and saved". Sure that could be another key in some atate machine but like above: it’s the “not mess it up” part that is harder.
Plus all the lines to update the state, when the menu is closed, when the game is closed (i.e should it be true or false at startup), when the game is saved obviously.
That’s at least three more lines plus the one you mentioned for no extra value. And again it’s easier to screw it up e.g. while refactoring.
I think we write our code in different enough ways that we’re not seeing eye to eye.
Tracking the state of the game being paused, when the menu is open and when the game is saved can all be a single match statement on a current “game state” variable which just holds “running/paused/paused and saved/exit” and when it becomes exit, it checks the save time. Only 2 lines of code and adding an enumerated state to the variable to add this functionality. Since the variable is enumerated, it’s really difficult to mess it up when refactoring because if you can’t pass the wrong code or else your game doesn’t save or close
Ok, I mentioned a state machine in another sub thread. It’s not as bad if you already have a state machine.
It’s still adding more complexity though - again when the value is updated. You still need to change the state when saving. You need to decide which state to use when starting the game.
There is still risk of screwing that up when refactoring. And still the value is nearly none.
Regarding state mchines, it’s a complexity in itaelf to add random flags ro the state machine. Next time you want to add another flag you need to double all the states again, e.g. PAUSED, PAUSED_AND_SAVED, PAUSED_AND_MUTED, PAUSED_AND_SAVED_AND_MUTED. I would never add mute to the logic of the menu but that’s the pnly example I could come up with. Maybe you see my point there, at least?
Complexity being added at updating also feels wrong to me. Let me pseudo code some rust (just the language I know best off the top of my head right now) at you, cause it feels like maybe I’m just not understanding something that’s making this seem easier than it is.
<span style="color:#323232;">Enum Game_State
</span><span style="color:#323232;"> Paused
</span><span style="color:#323232;"> Paused_Saved
</span><span style="color:#323232;"> Running
</span><span style="color:#323232;"> Loading
</span><span style="color:#323232;"> Exit
</span><span style="color:#323232;">
</span><span style="font-style:italic;color:#969896;">///Technically you could make Menu() part of the enum but I'd probably leave it elsewhere
</span><span style="color:#323232;">
</span><span style="color:#323232;">Match Game_State
</span><span style="color:#323232;"> Paused </span><span style="font-weight:bold;color:#a71d5d;">=></span><span style="color:#323232;"> Menu()
</span><span style="color:#323232;"> Paused_Saved </span><span style="font-weight:bold;color:#a71d5d;">=></span><span style="color:#323232;"> Menu()
</span><span style="color:#323232;"> Running </span><span style="font-weight:bold;color:#a71d5d;">=></span><span style="color:#323232;"> Main_Loop()
</span><span style="color:#323232;"> Exit </span><span style="font-weight:bold;color:#a71d5d;">=></span><span style="color:#323232;"> Exit()
</span>
And then your other functions always return a game_state. You’re right that adding that return would be a huge undertaking if it’s not handled in the initial building of the game, but it’s a QoL for the user that’s easily maintainable and is therefore worth doing IMO. But these two things, defining the possible game states and then always routing decisions through that game state, makes this kind of feature relatively doable
I’m sorry I don’t getting your point . You start off by agreeing that you don’t like the extra complexity that the update statements give. Then do some pseudo code of something entirely different where we all already agree is not an issue.
Then at the end your conclusion is that it is totally feasible. Why? You still didn’t adress the problem of updating the state
My point was “are state machines really that complicated? Isn’t it just something like this pseudo code and a return value from your functions?”
Basically I feel like this is a 2 step process but you seem like you either know more than I do or have a different philosophy about how this would be implemented, so I want to understand what I’m missing
Unpopular opinion turn base is boring. Rather pkay something like Stellaris where it turns to turn Base cause My 2012 pc can’t handle the game with 309 mods.
Civ games at launch are often a bit of a mixed bag, and the games improve over time with patches and expansions. That being said, the game isn’t even fully out yet, and early Steam reviews are notoriously unreliable and undifferentiated. For your first civ game, maybe look at earlier titles like Civ 5 or 6. They have aged very well, I still play 6 all the time.
I played 6 at launch and it was a huge downgrade from 5 but now it’s been updated so much it’s now unrecognizable from what was released as 6.
Every patch, update, and DLC will change it incrementally back into a similar experience as the others. They like to try to get real wild with the initial release but it tends to get back to the same sort of things eventually.
I am hoping that is the case, but I do have to say that this one boggles the mind just a little bit to be launching without significant features that the previous games had like hotseat multiplayer and limited era games.
I want to add on that Sid Meier had a philosophy called the one third rule, where on third of a new game would be kept from the previous, one third would be improved systems and one third would be new. I don’t think he is big into the studio at the moment, but i can see him still being a guiding light.
I don’t play many games, but civ patches will get the game polished and it will be a world better at some point. Until then, you can be the part that is booming the system or wait until the product is in a place that the community loves
You should try Unciv. It’s an open source Civilisation game. Yes, you can play online too. Not a very good looking game, but still awesome. Works on Android too.
Yeah, its game mechanics are very similar to Civ5, which is still considered one of the high points in the Civ series. And it does reproduce them quite well, so I do think that can give you a good impression, if Civ is for you.
Then again, I do own Civ5, but still end up playing Unciv instead, because I’d rather have my laptop not screaming at me while it runs in the background and I do a couple turns every so often…
bin.pol.social
Najnowsze