Author Topic: What features to cut for round 2  (Read 21329 times)

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: What features to cut for round 2
« Reply #75 on: November 09, 2016, 12:22:44 pm »
Cool. :)
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: What features to cut for round 2
« Reply #76 on: November 09, 2016, 09:21:22 pm »
Incidentally, kasnavada, these past couple days I was doing some experiments with loading dll's at runtime and I've got the logic for generating the galaxy map such that you can basically write your own C# function to generate the map, and tie that to a map style (new or existing) in the xml. So more than just pure data modding will be possible after all :) At least, assuming we don't get some unanimous response of "argh! no security at all! plague!", since it is very much a no-lifeguard-at-this-pool sort of modding.

There are other parts of the code I hope to make moddable in that way, though some of them are very sensitive to being handled exactly correctly in terms of thread safety, etc, or bad things can happen.

"There are no lifeguards at this pool. There are, however, multidimensional sharks."
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Cinth

  • Core Member Mark II
  • *****
  • Posts: 2,527
  • Resident Zombie
Re: What features to cut for round 2
« Reply #77 on: November 09, 2016, 09:42:40 pm »
Heh, every Arcen game needs more torch-bearers wandering the lumbermill.  It makes it much more exciting!
Quote from: keith.lamothe
Opened your save. My computer wept. Switched to the ST planet and ship icons filled my screen, so I zoomed out. Game told me that it _was_ totally zoomed out. You could seriously walk from one end of the inner grav well to the other without getting your feet cold.

Offline Draco18s

  • Resident Velociraptor
  • Core Member Mark V
  • *****
  • Posts: 4,251
Re: What features to cut for round 2
« Reply #78 on: November 09, 2016, 09:45:26 pm »
"There are no lifeguards at this pool. There are, however, multidimensional sharks."

Hehe.

Offline kasnavada

  • Hero Member Mark II
  • *****
  • Posts: 986
Re: What features to cut for round 2
« Reply #79 on: November 10, 2016, 01:26:21 am »
Incidentally, kasnavada, these past couple days I was doing some experiments with loading dll's at runtime and I've got the logic for generating the galaxy map such that you can basically write your own C# function to generate the map, and tie that to a map style (new or existing) in the xml. So more than just pure data modding will be possible after all :) At least, assuming we don't get some unanimous response of "argh! no security at all! plague!", since it is very much a no-lifeguard-at-this-pool sort of modding.

There are other parts of the code I hope to make moddable in that way, though some of them are very sensitive to being handled exactly correctly in terms of thread safety, etc, or bad things can happen.

"There are no lifeguards at this pool. There are, however, multidimensional sharks."

Ah, well, that's good to know if it's possible =).
And the security risk... thing is that Arcen has an history of "hey, modding's useless, just ask Keith & Chris and they'll code it". I basically was prepared to some kind of opposition when I spoke about modding (it was much more than I anticipated though, I should have been much clearer on what I meant).

About the risk, well... this form of modding basically is rewriting part of the game code, so it comes with that kind of risk. :-\ Also, from work, I've had people crash our applications by misusing our APIs. Again I'm back to rimworld - because it's the one I'm currently following - but those guys even have a section dedicating to mod bugs https://ludeon.com/forums/index.php?board=23.0 =). As far as I can tell, while I agree that "you can break the game with dll modding" ain't that much of a selling point, I don't think there are many solutions to allow others to make additional mechanics, so my belief is that this risk is expected and understood. On the "plus side", some of the most popular mods there depend on "modder" code. So there is that. Special thanks to hospitality mod & prepare carefully by the way.

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: What features to cut for round 2
« Reply #80 on: November 10, 2016, 09:26:21 am »
On security, I mean that it's trivial for a bit of custom c# code to delete huge chunks of the files on your computer, etc. So you wouldn't want to download someone's mod unless it was either pure xml data or you trusted them enough to run an application from them.

I suspect there are ways to lock down what the custom code can do, but I'm not sure they'd be compatible with the usefulness of the feature.

Currently I'm thinking the c# mods would be distributed as source-only, and the game would compile them for you. But I haven't proved that concept yet.
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline kasnavada

  • Hero Member Mark II
  • *****
  • Posts: 986
Re: What features to cut for round 2
« Reply #81 on: November 10, 2016, 10:05:09 am »
Oh, that part. Even if you do compile the code yourself, is there any way to prevent it ? You're alone against the world here too.
Also, there could simply be a virus or something in the zip that's used for the code.

I think it's worth trying to ask colleagues that tried to tackle the sames issues, but IMO your best solution is going to be something in the line of "the mod gets downloaded, the user that downloaded it posts insults to the guy / reports to steam / whatever the repo for mods is and banned =)".

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: What features to cut for round 2
« Reply #82 on: November 10, 2016, 10:08:05 am »
Yea, my general approach is "that's one of those problems you don't need to solve, so don't tie yourself in knots trying to solve it". But I wanted to mention it in case I was incorrect in that analysis.
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline kasnavada

  • Hero Member Mark II
  • *****
  • Posts: 986
Re: What features to cut for round 2
« Reply #83 on: November 10, 2016, 10:52:20 am »
That's where my expertise kinds of ends. Security at applications for my workplace are either with web applications behind 2/3 levels of protection, or intranet, again, behind some level of protection and so. ::)

My guess would that be minor protection (few days, like checking that a few patterns / class ain't used) are worth it - because most people can barely code and would be discouraged by those.

Anything beyond that... well there are real game devs out there - which probably can answer that a lot better than I. That said, for my personal knowledge, if you've got opinions from others to share on this I'm interested.
« Last Edit: November 10, 2016, 10:56:48 am by kasnavada »

Offline Draco18s

  • Resident Velociraptor
  • Core Member Mark V
  • *****
  • Posts: 4,251
Re: What features to cut for round 2
« Reply #84 on: November 10, 2016, 11:35:34 am »
Interestingly enough, Java can do that too, and people don't seem to have any qualms about downloading Minecraft mods.

(I've written mods that access the file system before, just to save/load custom data, but I had to figure out the "ok, how do I figure out where the world save folder is?" question)

I've seen people attempt to write mods that download data from a webserver,* and more than one that download jar files.  They've always been told "no, don't do that" because of arbitrary code execution, but their goals were for something like an automated updater.

*One guy was trying to use a SQL database to store information about the world state--something about regenerating ores maybe?--and was told "that's stupid because it'll only ever work for one world." i.e. that he could never distribute his mod to anyone else interested in it. "Also, store that data in RAM, a database is overkill."

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: What features to cut for round 2
« Reply #85 on: November 10, 2016, 11:42:00 am »
Thanks, that's very helpful info. Basically confirming the hunch that:

1) Yes, in theory, this is wildly dangerous.
2) No, in practice, nobody cares.

So I'll plan on moving forward with the write-your-own-C# method of modding for the parts where it makes sense :)
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Draco18s

  • Resident Velociraptor
  • Core Member Mark V
  • *****
  • Posts: 4,251
Re: What features to cut for round 2
« Reply #86 on: November 10, 2016, 12:07:45 pm »
Helps that Minecraft mods have a tendency to be open (visible) source in the first place. At least, the larger more well-known ones.

But yeah.  It's kind of dangerous in Shark Reef, but people go swimming anyway.

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: What features to cut for round 2
« Reply #87 on: November 10, 2016, 12:08:13 pm »
That was my hunch as well, having being in mods for a lot of games.  GTA V is a much better target for malicious mods if someone wants to do one.   In those cases it's often injecting arbitrary code so that it can then load custom models and behaviors and whatnot, too.  Goodness only knows what is going on with some of those Skyrim mods. ;)
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Sizzle

  • Full Member Mark II
  • ***
  • Posts: 189
Re: What features to cut for round 2
« Reply #88 on: November 10, 2016, 12:31:42 pm »
Here's waiting for the first bitcoin miner to be found in a mod for some game.  (It probably has already happened, just I am not aware of it).

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: What features to cut for round 2
« Reply #89 on: November 10, 2016, 01:52:54 pm »
Here's waiting for the first bitcoin miner to be found in a mod for some game.  (It probably has already happened, just I am not aware of it).

He made 17 cents!!! ;)
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!