Opensource vs Mystery...

Opensource vs Mystery...

Postby eugeneloza » 21 Mar 2017, 14:33

Hi all!
I've run into an interesting issue during development of a plot-oriented FOSS game (with many secrets and easter eggs).
Well... when we were playing games in 90s... there was a lot of mystery and unknown. We didn't have the walkthroughs. We just tried our best to try and fail.
Today (even not in opensource) - its easy. You have the problem - you google "what is the answer to the fountain riddle?" and you've got the answer.
In opensource it's even more "problematic" as, e.g. using just plain text files for plot description, everybody can open them and see what to do.
In many cases it just spoils the fun. Yes, some self-discipline in such issues is a cool thing to have. But not many can handle it.
So... how do you feel about it? What is the right thing to do?
Keep the plot in secret for as long as possible?
Encrypt/obfuscate the plot (e.g. with blowfish) in order to make it hard to read without specific qualification?
Or just leave it as-is. Who wants to have his fun spoiled - let everybody see everything.

Similar issue.
We have savegames. They are saved as plain text with HP=78 for the player character. Nothing forbids the player to make HP=78000.
Yes, we were doing that stuff in 90s with hex editors :) Or with special cheating software.
But maybe some special cheat-proof check should be made to detect if the player is playing fair. I'm speaking of stand-alone games.
Or let him just do as he likes? And don't bother with any checks (which is additional work to do).

Anyway, what do you think?
User avatar
eugeneloza
 
Posts: 490
Joined: 22 Aug 2014, 12:15
Location: Ukraine

Re: Opensource vs Mystery...

Postby charlie » 21 Mar 2017, 17:20

The only time you should, as a developer, be worried about cheating is in multiplayer games.

Otherwise... why are you trying to control the experience of a player? If they wish to cheat, let them. If they wish to hack your code and alter the game, that's OK, that's their choice. It's their game experience. Either they can tackle it raw and as provided to them, or they can go to Google for answers, edit save files, and otherwise find ways to bypass the challenge.
Free Gamer - it's the dogz
Vexi - web UI platform
User avatar
charlie
Global Moderator
 
Posts: 2032
Joined: 02 Dec 2009, 11:56
Location: Manchester, UK

Re: Opensource vs Mystery...

Postby Julius » 21 Mar 2017, 19:11

Yeah, what Charlie said... I think the biggest problem with linear single player FOSS games is that players try half finished versions and afterwards lose interest.
“You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete” - Buckminster Fuller
User avatar
Julius
Community Moderator
 
Posts: 2142
Joined: 06 Dec 2009, 14:02

Re: Opensource vs Mystery...

Postby c_xong » 21 Mar 2017, 23:49

The player spoiling the story for themselves is not a problem, not even for FOSS. Before playing To The Moon, I could have searched for the story online and spoiled the game, but I didn't because I wanted to enjoy the story. This is the same reason why I will probably refrain from reading the story of a FOSS game from its source before playing it through.
User avatar
c_xong
 
Posts: 233
Joined: 06 Sep 2013, 04:33

Re: Opensource vs Mystery...

Postby andrewj » 22 Mar 2017, 04:09

Having the data files packed in a PK3 file (or similar) can help stop users simply browsing around through the files and accidentally seeing spoilers.

I agree that making it really hard for users to cheat in a single-player FOSS game is probably a waste of time, and can be annoying to anyone who wants to understand how the game works.

The best FOSS games tend to be less about the story and more about the gameplay, and have a lot of replayability. When the story becomes everything, then you'd be better off writing a book instead of a game, imho.
User avatar
andrewj
 
Posts: 195
Joined: 15 Dec 2009, 16:32
Location: Tasmania

Re: Opensource vs Mystery...

Postby eugeneloza » 22 Mar 2017, 09:28

Thanks a lot for your suggestions :)
The best FOSS games tend to be less about the story and more about the gameplay

Well... and that's "a bit" not nice. There are many great stories to tell. And being "free" in all meanings of this word, we can tell a lot.
User avatar
eugeneloza
 
Posts: 490
Joined: 22 Aug 2014, 12:15
Location: Ukraine

Re: Opensource vs Mystery...

Postby Akien » 22 Mar 2017, 09:42

I agree with what others said above, cheating in single player games is not a problem. At the most having the source available makes it easy, and maybe less fun, to cheat, than it was when we were editing our Baldur's Gate savegames with an hex editor to get the best swords in the game (been there, done that :P).

If users browse your source before playing the game and get spoiled, so be it. If they browsed the source in the first place, it's probably that they are curious about how it's developed and playing with the source code of FLOSS games can be as interesting as playing the games themselves ;)
User avatar
Akien
 
Posts: 731
Joined: 22 Feb 2014, 13:14

Re: Opensource vs Mystery...

Postby Duion » 22 Mar 2017, 12:04

Cheating in single player games cannot be prevented that much, even if it is 100% proprietary, you can still search the code or use a hex editor etc, it just makes it harder.
Even in many multiplayer AAA games cheating is often as easy as temporarily unplugging your internet and in E-Sports people manage to cheat on computers they were not allowed to touch before the match.
Everything is possible, if there is enough motivation.
But there is a solution: Server authoritative games, which do not allow local data to be used, it gets streamed to the client while playing and then the progress is saved on the server in a database.
Torque3D for example is server authoritative, the client does not even need the game mechanics code on his hard drive, so the problem is already solved out of the box in that engine, it works for multiplayer as well as singleplayer, though the singleplayer games would need an internet connection then to receive and store the game data, save games etc.
To prevent hacking you could occasionally change the game code and saved data formats to regularly destroy data modified through hacking or run algorithms on the user data to check for anomalies, this would make cheating so unprofitable that probably nobody will do it.
So mystery is possible in open source games as well, even if you leave the code all open, you have to consider that even skilled programmers often cannot read uncommented or poor formatted code and sometimes even forget what their own code does.
Duion
 
Posts: 254
Joined: 16 Mar 2013, 20:33
Location: Germany

Re: Opensource vs Mystery...

Postby farrer » 22 Mar 2017, 12:57

About cheating, I'm with others: let them do all that they want. In FOSS they can even change the game code to achieve that, so it's useless to waste time on it.

About the story mystery and the ability to not lose players after the try of "half finished versions", what I believe could be a solution (I'm mainly thinking about a story-driven game, probably most suitable for RPGs or click-point Adventures):

- First develop the game mechanics, almost all you need with some "test" story (for example, in a RPG: dialogs, missions, character evolution and combats; in an Adventure: the mechanic to interact with world things and use them to solution 'problems'). This mechanic "test" story could even be no story after all (just for tests) or maybe a game mechanics tutorial.

- After that first "mechanical test demo", try to release the story/game in chapters, being 'chapter' anything you could somewhat delineate in your game (for example: a new city or game place per new release cycle).
User avatar
farrer
 
Posts: 87
Joined: 24 Feb 2014, 21:00

Re: Opensource vs Mystery...

Postby eugeneloza » 22 Mar 2017, 16:13

Yes, I'm speaking of singleplayer game (I've hardly ever played multiplayer, so I don't understand the genere).
farrer, yes, that's exactly what I was thinking. That developing the game mechanics would be a rather dungeon-crawler. With additional mechanics on plot working. However, the plot itself would be "concealed" until betta. However, github has both a WYSIWYG plot editor and the data is stored in open XML :) I don't think I'll make binaries of the game data editor, but anybody can compile it, check all game events, dialogues, monsters list, etc...
User avatar
eugeneloza
 
Posts: 490
Joined: 22 Aug 2014, 12:15
Location: Ukraine

Re: Opensource vs Mystery...

Postby Lyberta » 22 Mar 2017, 21:20

Duion {l Wrote}:Torque3D for example is server authoritative, the client does not even need the game mechanics code on his hard drive, so the problem is already solved out of the box in that engine, it works for multiplayer as well as singleplayer, though the singleplayer games would need an internet connection then to receive and store the game data, save games etc.


Nope, a client needs to know about movement of the player so it can predict them. Otherwise, it becomes a lag fest. And I don't think anyone would want to play a single player game that requires an Internet connection.

Every time someone wants to force to play the game their way, I usually uninstall it.
Some crazy person on the Internet.
User avatar
Lyberta
 
Posts: 378
Joined: 19 Jun 2013, 10:45

Re: Opensource vs Mystery...

Postby farrer » 23 Mar 2017, 19:23

eugeneloza {l Wrote}:I don't think I'll make binaries of the game data editor, but anybody can compile it, check all game events, dialogues, monsters list, etc...


Why not make the binary for the editor? It would allow people without programming knowledge to try to create their own plot (mod?) and even could attract people to contribute to the project. There's no loss, I think, just potential gains.
User avatar
farrer
 
Posts: 87
Joined: 24 Feb 2014, 21:00

Re: Opensource vs Mystery...

Postby eugeneloza » 23 Mar 2017, 19:40

Why not make the binary for the editor?

So that plot details won't leak into the wide audience too soon :) Of coruse, there will be binaries ready on release. That's why I'm making a separate WYSIWYG editor after all :)
I'm speaking of Alpha...
User avatar
eugeneloza
 
Posts: 490
Joined: 22 Aug 2014, 12:15
Location: Ukraine

Re: Opensource vs Mystery...

Postby Duion » 24 Mar 2017, 12:40

FaTony {l Wrote}:
Duion {l Wrote}:Torque3D for example is server authoritative, the client does not even need the game mechanics code on his hard drive, so the problem is already solved out of the box in that engine, it works for multiplayer as well as singleplayer, though the singleplayer games would need an internet connection then to receive and store the game data, save games etc.


Nope, a client needs to know about movement of the player so it can predict them. Otherwise, it becomes a lag fest. And I don't think anyone would want to play a single player game that requires an Internet connection.

Every time someone wants to force to play the game their way, I usually uninstall it.

Looks like you have no idea about that, it does work fine. On a server authoritative system the client does not predict anything, the client may interpolate movements and such, but the server decides and calculates what happens.
Duion
 
Posts: 254
Joined: 16 Mar 2013, 20:33
Location: Germany

Re: Opensource vs Mystery...

Postby charlie » 24 Mar 2017, 14:20

Duion {l Wrote}:Looks like you have no idea about that

Not a way to engage constructively with somebody; you could have deleted this sentence and it would not have impacted your message (thus only improved it).

Duion {l Wrote}:On a server authoritative system the client does not predict anything, the client may interpolate movements and such, but the server decides and calculates what happens.

When you play any such games over a high latency, unless there is an element of predictive behaviour then it'll be unplayable.

The problem with the predictive behaviour of the client is it leads to incorrect positioning, then repositioning (basically disappearing from spot X and reappearing in spot Y) of the relevant elements/models and makes it look very jerky. But without that the player is essentially playing 4x the latency behind everybody else (1 round trip to say where something is from time T and 1 round trip to pass the player's input in reaction to time T).

You seem like you grew up in an era/place with excellent connectivity. Much of the world does not have such a luxury.
Free Gamer - it's the dogz
Vexi - web UI platform
User avatar
charlie
Global Moderator
 
Posts: 2032
Joined: 02 Dec 2009, 11:56
Location: Manchester, UK

Re: Opensource vs Mystery...

Postby Lyberta » 24 Mar 2017, 16:44

charlie {l Wrote}:When you play any such games over a high latency, unless there is an element of predictive behaviour then it'll be unplayable.


Yeah, good luck playing on 100+ ping server without prediction. :P
Some crazy person on the Internet.
User avatar
Lyberta
 
Posts: 378
Joined: 19 Jun 2013, 10:45

Re: Opensource vs Mystery...

Postby Duion » 25 Mar 2017, 22:03

When a system is server authoritative, the client cannot predict anything, the server tells what happens to the clients and then it happens for the clients. With this system people also will never disappear on spot X and appear on spot Y. It is just a design choice, both ways have advantages and disadvantages.
Duion
 
Posts: 254
Joined: 16 Mar 2013, 20:33
Location: Germany

Re: Opensource vs Mystery...

Postby Lyberta » 25 Mar 2017, 22:23

I'm pretty sure all commercial FPSes have client-side prediction since the first Quake.

Here's the documentation from the Source engine: https://developer.valvesoftware.com/wiki/Prediction

I'm surprised you've supposedly made a first person shooter and don't know such simple stuff.
Some crazy person on the Internet.
User avatar
Lyberta
 
Posts: 378
Joined: 19 Jun 2013, 10:45

Re: Opensource vs Mystery...

Postby Duion » 25 Mar 2017, 22:34

I'm aware that almost all other games use that, but Torque3D does not.
Duion
 
Posts: 254
Joined: 16 Mar 2013, 20:33
Location: Germany

Re: Opensource vs Mystery...

Postby Lyberta » 26 Mar 2017, 12:08

Then this is crap engine, what can I say.
Some crazy person on the Internet.
User avatar
Lyberta
 
Posts: 378
Joined: 19 Jun 2013, 10:45

Re: Opensource vs Mystery...

Postby charlie » 26 Mar 2017, 23:02

Duion {l Wrote}:I'm aware that almost all other games use that, but Torque3D does not.

You sure?

According to a quick google on the topic, all point towards it having such logic.

For example, here's a thread from 2004 discussing how to disable client side prediction:
http://www.garagegames.com/community/fo ... ad/16254/2

Here's a planning post from 2015/2016 talking about fixes for client side prediction:
http://forums.torque3d.org/viewtopic.php?t=391

A wise man knows what he does not know. Duion, you are far from wise by that measure.
Free Gamer - it's the dogz
Vexi - web UI platform
User avatar
charlie
Global Moderator
 
Posts: 2032
Joined: 02 Dec 2009, 11:56
Location: Manchester, UK

Re: Opensource vs Mystery...

Postby leilei » 27 Mar 2017, 02:07

not to mention it was there pre-Torque earlier in the lineage. The original Starsiege Tribes for example

Also the dumb client/server isn't a unique networking model either. Quake did that originally and there was once a popular server-side mod category for that so players could connect to different gameplay without downloading anything back in 1996. Quakeworld did away with this model in favor of prediction.

Server-side mods was also a huge thing for Tribes too. Maps weren't really "sent", there was a load of scrapped materials left over in Tribes that modders made creative use of, and usually the only mod with assets required was the RPG mod

I can't imagine any repeat of these two successes tbh.
User avatar
leilei
 
Posts: 147
Joined: 03 Apr 2012, 02:53

Re: Opensource vs Mystery...

Postby Duion » 27 Mar 2017, 18:14

The whole topic is much more complicated. Yes there is client side prediction and it is also server authoritative. The client and server run the simulation simultaneously, but the server has the upper hand, so the client cannot do anything through prediction the server does not allow, like cheating or lag teleporting.
It is also a designers choice how much code is done on client side and how much on server side, client side gives better performance and server side gives more security.

@leilei
Of course maps were send to the clients, the whole level minus the art assets is send every time the level loads to each client from the server, including all game mechanic scripts. The art assets are the only part the client has and loads himself, since they take up lots of disk space.
Duion
 
Posts: 254
Joined: 16 Mar 2013, 20:33
Location: Germany

Re: Opensource vs Mystery...

Postby charlie » 27 Mar 2017, 22:33

Duion {l Wrote}:The whole topic is much more complicated. Yes there is client side prediction and it is also server authoritative.

AAAAH the classic dodge. "I didn't mean that kind of client side prediction when I made up that fact on Torque3D not having it."

Admit you were wrong, or admit you think we are all idiots, or both.

All proper client side prediction implementations worth their salt are server authoritative, and you know that and you should know we know that.
Free Gamer - it's the dogz
Vexi - web UI platform
User avatar
charlie
Global Moderator
 
Posts: 2032
Joined: 02 Dec 2009, 11:56
Location: Manchester, UK

Re: Opensource vs Mystery...

Postby Lyberta » 27 Mar 2017, 22:34

Duion {l Wrote}:The whole topic is much more complicated. Yes there is client side prediction and it is also server authoritative. The client and server run the simulation simultaneously, but the server has the upper hand, so the client cannot do anything through prediction the server does not allow, like cheating or lag teleporting.


What is complicated? It's like that in all good game engines.
Some crazy person on the Internet.
User avatar
Lyberta
 
Posts: 378
Joined: 19 Jun 2013, 10:45

Who is online

Users browsing this forum: No registered users and 1 guest