Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

"But that's not what it means to update a game while it's running. ..."

Incorrect. I use Debian Linux. The entire system and all it's services and applications, can and do update while running. It has been awhile since I have used Windows, but it does (or did) as well. If you mean "update in place", then you would be correct--updates happen by downloading the required updates to a cache or temporary location, and then, depending on the OS, update the target files if possible (most OSes create a new copy of the file, so the currently open and running application can continue to run), and then restart the application to make the updates take effect from the updated files. Yes, _some_ updates will not work well within this framework. However, the relative rarity of this means it only forces the end user to have to "jump through that hoop" only on those rare occasions.


You have "HTML" in your user name, so can I presume you know HTML and the way HTTP works? A browser downloads a web page in it's current form. Regardless of whether or not the webmaster is editing the file at the same time. The browser than displays the page, in it's currently known format. If the webmaster wants to push an update, then the web page can have JS code to check for updates to reload the page when it detects an update. Imagine if, instead, I went to http://google.com/ to try to search for something, and every time, it gave a response "Sorry, Google is currently updating it's website. Please wait a moment while it updates and try again!" If that is "no big deal" to you, feel free to suggest that way to Google, and see what they say.

"If these large companies can't solve this issue, how do you expect a small indie game to?"

You did not see my point. Windows and other OSes/software, may do that _on occasion when there's an update rolled out_, but not _every single time_ you start or restart your computer.

"By that logic, pay the Devs if you want them to fix the update system."

Some people do, buy investing in the software, become a "Patreon", buy the Steam version, etc. And _I_ have no right to _demand_ they fix anything. But I _do_ have the right to give feedback and comment, positive or negatively, about it. Likewise, I have the right to explain why I feel that way, or even suggest to them a way to "fix" it. I have no expectation that they will interpret anything I say as a demand forcing them to comply... So why are you interpreting my comments that way and trying to force compliance upon me?

"I am just trying to explain to you that these issues are not as simple as you might think."

You are presuming I have no idea of how simple of difficult it is. I can design, etch a circuit board, mount the components, and make my own computer from scratch. I can, and do, write code in C/C++, Python, Perl, Tcl, BASIC, Pascal, etc, etc.

And I can and do write code that has to do these very things: I have serverice and servers I run for my consulting business, which can and do update themselves as I modify or roll out new code. I use methods very similar to how I have described, and how the game already deals with downloading the scenarios--so I can only assume they already know how to do this, but are not applying it to updates. The same goes for the client side of my servers. The client software is multi-staged with at least a "launcher" and "main application", and I multi-stage it specifically so that updates are indeed trivial and and not disruptive to my clients, who want to spend more time working, less time waiting.

"Please quote where I said that, so that I can be more friendly next time :)"

Your attitude/tone/approach says it. Communication is not only words. Words are only part of it. Tone, body language, actions, and even the choice of words. It all conveys a message.

"If you want, I can make a list of all the games I know of that force you to update them before playing.":

That is up to you. But I can assure you that if I were to play them and have to deal with the same issues, I would make the same comments. I will not argue that if they are indie devs, with a very new and "unpolished" product, clearly still learning about software development, I would probably approach it with a softer tone, trying to be helpful. I have posted many comments about games on itch.io that way.

ZK, however, is a mature project. If they cannot take negative feedback and comments... Well, let them state so. Ever go out to eat and on the back of the receipt is a form you can fill out to give feedback and comments? Do those forms say "Please be gentle and kind! We want your feedback, but only if it's gloriously positive", or similar? If you only want positive feedback/comments, say so. If you only _accept_ positive, then do not present a non-restricted avenue. Itch.io itself does not, to my knowledge, have any rule or policy that comments must be positive and good. I can only assume this is because the basic principles of how reality works. If the developers wish to avoid bad comments and feedback, they should take steps to avoid it--either correct the flaws which cause it, or restrict the environment to one that they (the devs) control the opinions and feelings of the commentators to those they (the devs) find favorable ... And I can only guess how the many users here would respond to the latter.

Regarding desync: Once fully in to the game, yes, that would be a major issue. However, consider the way the game works already: Launcher -> Wait while it checks for updates -> Lobby -> Play game ( -> download maps as needed in the background -> Go back to "Play game"). There are entire steps before any game desync even becomes an issue. And that only applies if wanting to play multiplayer on a server--Playing single player on my own computer is not affected by desync. What if, instead, it was: Launcher -> Start background update check -> Lobby -> While user is in lobby, If update discovered, or update check still in progress, alert user about such cases -> Once update checks (and possibly updates complete), alert user if a restart is needed, or if not needed, let user go to -> Play game .... and so on.

Furthermore, think about this. What if the user starts a game five minutes before a game update gets rolled out? This way, the game can present the user with a "A new version just came out, 'hot off the presses'! Please restart your game for the latest and greatest!" dialog. (And there, you want a constructive suggestion to the devs? Maybe they're watching here and will see that.)

Regarding "doing my job ... conflict resolution ..." Wait, what? My job is as an IT consultant. My role here is as a consumer. My education background includes C.R./I.C., but that is not my job or role. In high school, I also learned about "Life Science", but I'm not a biologist; "Earth Science", but I'm not geologist; "Physical Education", but I'm not an Olympic athlete; etc. So it's moot.

I will also point out, C.R. does not mean "making both side's 'farts' smell like roses", either. I have sat through dialogs where one side is very negative and insulting to the other side. I was not my job to stop it and say "that is inappropriate". That would not be conflict resolution--that would be conflict suppression and censorship. And _that_ would be inappropriate for my job, _if_ that was my job.

You continue to say "near impossible" or "not practical" to do. Why? Because you _think_ it is? Or do you have noncontroversial  proof? I have provided backing for my statements to how I know that it is indeed possible and practical... because what _is_ my job, I have to do it regularly. And it is a trivial few lines of code to do so.

That "why" question is rhetorical, however, and as such, it is moot. I am not engaging this discussion further as it has wandered too far "off topic". Our opinions about the _game_ differ, but this is not the place for our opinions about _each others' opinions_.