6.12.2: Hardware Survey

In this forum we discuss the future of Ren'Py, both bug fixes and longer-term development. Pre-releases are announced and discussed here.
Message
Author
Counter Arts
Miko-Class Veteran
Posts: 649
Joined: Fri Dec 16, 2005 5:21 pm
Completed: Fading Hearts, Infinite Game Works
Projects: Don't Save the World
Organization: Sakura River
Location: Canada
Contact:

Re: 6.12.2: Hardware Survey

#31 Post by Counter Arts »

PyTom wrote:
This sounds even more potentially-problematic, to me - how are you going to make the information available to the game-maker? Does it go to their server (most game-makers probably don't have or couldn't configure a server with software to receive the data)? Does it go to your server and you allow them access? How do you ensure that the data isn't viewed by anyone other than the people the various players have authorised to see it? Insert dramatic ellipses here.
I was thinking that we could make all the (aggregated) data public. This way, there's no special relationship between me and the game-maker. We couldn't send sensitive data that way - but that's a good thing, no?
If a dev really wants to implement it they can make their own reporting system and set up their own tracking server. Purely based on https's get and posts and such. Like just use the web.
Fading Hearts is RELEASED
http://www.sakurariver.ca

User avatar
Aleema
Lemma-Class Veteran
Posts: 2677
Joined: Fri May 23, 2008 2:11 pm
Organization: happyB
Tumblr: happybackwards
Contact:

Re: 6.12.2: Hardware Survey

#32 Post by Aleema »

Some questions:

1.) Will this be a permanent/long-term feature of Ren'Py? Or will you remove it after a certain amount of data is collected?
2.) Will developers have complete control to remove/toggle-off this feature (removing the prompt and the collection entirely)? Will that be easy for even a first-time developer to do?
3.) How will developers/players be notified when you decide to collect more information than what you've first said?
4.) Will this prompt indicating participation always be on the quit screen?
5.) Is data only sent once per game? Will data be sent once per game, even if your computer has already sent some?
6.) Will there be a noticeable lag between saying you want to quit and the window actually closing? Any and every game that lags before it quits is universally annoying. 5 seconds is going to be a long time after you've hit the "yes dear god I hit the X for a reason" confirmation.

Concerns:
> What data you are collecting seems to have changed wildly since your first post. There has to be defined limits to this, and you need to make them completely clear right now, before you green-light this and code it in.

> Enabling this by default and slipping it into a screen that people are mindlessly and hurriedly clicking away from seems no better than what some websites do to get you to subscribe to their "special offers" spam when you sign up for something. And it's unfortunate that that's the best option presented so far. I prefer it to be disabled by default (no matter where you place this), and tucked into the preferences screen where this sort of thing is normally kept.

> Not sure it's worth it. Not sure why I have to feel like I need to fight for my and my players' privacy over something as trivial as what video card we have. Whatever one piece of data you can't find from other surveys is a shame, it really is. But allowing you access to knowing it is unfortunately the same as letting you know any other information about my computer. It's the same permission slip.

I respect Ren'Py for being the generous, attachment-less program that it is. You could put all kinds of restrictions on it, but you don't. You don't brand it, you don't charge for it, you don't force it only to be run on your website, you don't automatically upload every distribution to a database -- it seems to encourage independence in developers by giving us a variety of ways to customize it and use it. And right now, this would at least heavily encourage all future games to be linked up to some mothership under the same banner of "Brought to you by Ren'Py! Don't forget to tip your waiter, folks!!" And to those players (who're you're actually interested in) they care diddly squat about Ren'Py, and will think that I am the one requesting their information. I don't want to be put in that position, and I fear others will be, so forgive me if I have my claws out.

You seem to have made up your mind about doing it, though.

Jake
Support Hero
Posts: 3826
Joined: Sat Jun 17, 2006 7:28 pm
Contact:

Re: 6.12.2: Hardware Survey

#33 Post by Jake »

PyTom wrote: The checkbox seems like a reasonable approach to that, as long as it's clear enough to the user what's going on. It's relatively non-intrusive, conveys what's happening, and it's pretty much the standard interface for this.
If this is your plan, I would still advise for the default to be 'off'.

The reasoning being that you are going to have to have two clicks to quit for at least one set of users anyway, because the checkbox needs to be checked or unchecked; the ones who are consenting to let you have their data are already more inclined to help you, so they're less likely to be annoyed by the second click.

On top of this, the previous concerns about people habitually clicking 'Yes I really want to quit' without properly reading the screen, or not having sufficient command of English to properly understand the question, and then getting annoyed that such an option was stuck in there. It's true that it's more unobtrusive there than elsewhere in the app, but while on one hand this means it's not going to 'break the mood', on the other hand it also means that it's more likely people who missed it until it was too late could accuse you of 'sneaking it in' there. There's no obvious association between quitting and sending data off.
PyTom wrote: I don't know how to reach those "silent users" without putting code in Ren'Py - and in, Ren'Py games, rather than the SDK.
I know it's an obvious suggestion, but: you're seeing downloads in excess of the forum population on sites you control, so... you could post a survey on those sites? In the most-extreme form, many sites I regularly visit - the most prominent in my memory being MSDN and the BBC news non-front-page areas - pop up "can you just take this quick survey" interstitials, and in my experience they're not too annoying so long as the 'close' or 'no, leave me alone' button really does what it's supposed to. Obviously I can't offer you numbers on the proportion of visitors that get turned away by those.

PyTom wrote: I don't see how participation/nonparticipation could correlate with hardware. (Embarrasment over low specs, maybe?)
I was thinking more along the lines that more tech-savvy people are stereotypically less likely to automatically consent to or volunteer data submission, and they're also stereotypically more likely to have mid-to-high level hardware.
PyTom wrote: I was thinking that we could make all the (aggregated) data public. This way, there's no special relationship between me and the game-maker. We couldn't send sensitive data that way - but that's a good thing, no?
It seems to me that aggregating the data quite probably makes it much less useful, though... being able to correlate data on a per-user basis strikes me as kind of useful when you're trying to analyse it for user habits.
Server error: user 'Jake' not found

shylock
Regular
Posts: 35
Joined: Wed Oct 13, 2010 11:57 am
Projects: Isle of St. Marcus, `Silver Seas'
Location: Upstate NY
Contact:

Re: 6.12.2: Hardware Survey

#34 Post by shylock »

I support this. You're asking for less information than many websites collect - and much less when you consider website information can be aggregated to potentially isolate individuals. How many people in this thread advocating against bother to run noscript or something similar? This is a pretty minor issue, particularly if it results in more features.

Doomfest
Regular
Posts: 179
Joined: Thu Jul 19, 2007 7:29 am
Completed: Memo, Juniper's Knot
Projects: Cradle Song, Dysfunctional Systems
Organization: dischan, Medical Whiskey
Location: Miami
Contact:

Re: 6.12.2: Hardware Survey

#35 Post by Doomfest »

Specifically state exactly what information you're grabbing from the computer. No gray areas. Otherwise, no deal.
Dysfunctional Systems
Juniper's Knot
Cradle Song, a visual novel in development
Memo, a visual novel

[02:49] <Komi> How is Dysfunctional Systems coming along?
[02:52] <Doomfest> have you seen prince of egypt
[02:53] <Doomfest> do you remember that scene with the storm of bugs
[02:54] <Komi> I know what you are talking about, but I can't remember the scene.
[02:54] <Doomfest> that is what it feels like
[02:55] <Komi> Personality conflicts on the team, I take it?
[02:56] <Doomfest> no
[02:56] <Doomfest> just bugs
[02:56] <Doomfest> storm of bugs

User avatar
sake-bento
Eileen-Class Veteran
Posts: 1909
Joined: Sat Jan 26, 2008 5:58 pm
Completed: http://sakevisual.com/games.html
Projects: Every Sunrise, Shinsei
Organization: sakevisual
Tumblr: sakevisual
Deviantart: sakevisual
itch: sakevisual
Contact:

Re: 6.12.2: Hardware Survey

#36 Post by sake-bento »

In the "for what it's worth" department, a very large percentage of my users are underage players who are probably using a parent's or school's computer. In such a case, it seems like not such a good idea to give them the power to send information in such a manner about a computer that technically isn't theirs.

I am very interested in helping figure out numbers and figures to improve Ren'py and get shiny new features, but doing it through Ren'py games looks to be problematic. Perhaps an online survey would be considered less intrusive? Something like a page that displays the info it's about to send and asks the user to agree to send such data anonymously? It might bring in fewer results, but I feel as if people would be more comfortable with it.

User avatar
PyTom
Ren'Py Creator
Posts: 16093
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: 6.12.2: Hardware Survey

#37 Post by PyTom »

Aleema wrote: 1.) Will this be a permanent/long-term feature of Ren'Py? Or will you remove it after a certain amount of data is collected?
It depends on how useful the data is.
2.) Will developers have complete control to remove/toggle-off this feature (removing the prompt and the collection entirely)? Will that be easy for even a first-time developer to do?
Yes. My current though is that there will be a quit screen that has the prompt in it. Removing the prompt will disable the feature. There will be comments explaining how to do this, and it will be documented in the manual.
3.) How will developers/players be notified when you decide to collect more information than what you've first said?
Collecting more information will require a Ren'Py update. Users will be notified as to what data is collected using a privacy policy, which is yet to be written. Developers will be able to read the privacy policy, or the changelog.
4.) Will this prompt indicating participation always be on the quit screen?
A developer can hack Ren'Py to do whatever they want - I can't stop them. I will place the prompt on the quit screen by default. I will not send data unless the prompt has been shown in a given session. The maker can do anything they want - including writing their own system for collecting this data - but my intent is that the prompt will always be on the quit screen.
5.) Is data only sent once per game? Will data be sent once per game, even if your computer has already sent some?
I haven't decided yet. I'm leaning towards sending the data whenever it changes - that is, whenever the user gets a new video card or driver version.
6.) Will there be a noticeable lag between saying you want to quit and the window actually closing? Any and every game that lags before it quits is universally annoying. 5 seconds is going to be a long time after you've hit the "yes dear god I hit the X for a reason" confirmation.
I don't know yet. In the case where it can hit the server, it should be fast. It should also be fast if it has failed to send the data to the server recently, since there will be a timeout to prevent multiple resends. The 5 second timeout is for the case where we can't hit the server, _and_ the network doesn't tell us that.
> What data you are collecting seems to have changed wildly since your first post. There has to be defined limits to this, and you need to make them completely clear right now, before you green-light this and code it in.
I haven't decided yet. Right now, I'm leading towards collecting technical information only. But the privacy policy will be definitive on that.
> Enabling this by default and slipping it into a screen that people are mindlessly and hurriedly clicking away from seems no better than what some websites do to get you to subscribe to their "special offers" spam when you sign up for something. And it's unfortunate that that's the best option presented so far. I prefer it to be disabled by default (no matter where you place this), and tucked into the preferences screen where this sort of thing is normally kept.
My problem here is that I suspect the vast majority of people will keep this setting at the default - since it's something that doesn't materially benefit or hurt them. If it's hidden away by default, if it's in the preferences screen, nobody will ever change it - and I'll still be flying blind a year from now. Me flying blind means that one day I'll drop the software renderer, and find out that 5% of the audience is using it, and that they're screaming bloody murder.
> Not sure it's worth it. Not sure why I have to feel like I need to fight for my and my players' privacy over something as trivial as what video card we have. Whatever one piece of data you can't find from other surveys is a shame, it really is. But allowing you access to knowing it is unfortunately the same as letting you know any other information about my computer. It's the same permission slip.
It's not like I'm downloading digitally signed code that probes the computer. (Signed code is more of a day job thing.) The stuff I send back will be limited, both by the Ren'Py code itself and the privacy policy I will write. The problem is that what video card your players have is trivial to you - but it's a really big deal to me, as it will be helping me to decide the direction in which to take Ren'Py over the next few years.
I respect Ren'Py for being the generous, attachment-less program that it is. You could put all kinds of restrictions on it, but you don't. You don't brand it, you don't charge for it, you don't force it only to be run on your website, you don't automatically upload every distribution to a database -- it seems to encourage independence in developers by giving us a variety of ways to customize it and use it. And right now, this would at least heavily encourage all future games to be linked up to some mothership under the same banner of "Brought to you by Ren'Py! Don't forget to tip your waiter, folks!!" And to those players (who're you're actually interested in) they care diddly squat about Ren'Py, and will think that I am the one requesting their information. I don't want to be put in that position, and I fear others will be, so forgive me if I have my claws out.
I'm trying to figure out how to address this issue. That's because, for any individual game, this information will have little-to-no benefit. But over the course of years, I think it can lead to significant improvements in Ren'Py - many of which are conceptually simple, but which I can't turn on because they may break some existing games. (Non-rectangular imagemaps are one example - easy to do in GL, far more difficult in software.) And there are a bunch of other features that are waiting on abandoning the software and renderer - recoloring sprites on the fly is a big one I'd love to do.

I don't really intend this to be a way of branding the game as a Ren'Py game. It really is intended as a way to help me make Ren'Py better.
You seem to have made up your mind about doing it, though.
Despite the fact that it looks like, I haven't made up my mind. Realize that I'm probably a month away from implementing this, as at the very least, I'll be finishing the great Text rewrite before I start. I may also put this behind the launcher rewrite. What's going to happen is that in a month from now, Tom-of-the-future will look back and decide if the arguments I'm making is going to be worth the problems it can cause. I'm probably also going to run this by several other people I know, to see if one of them can talk me out of it. I'll evaluate the complexity of the actual programming, and decide if I still think it's worth doing.
Jake wrote:If this is your plan, I would still advise for the default to be 'off'.

The reasoning being that you are going to have to have two clicks to quit for at least one set of users anyway, because the checkbox needs to be checked or unchecked; the ones who are consenting to let you have their data are already more inclined to help you, so they're less likely to be annoyed by the second click.
The problem is I think that the number of of users that don't care will massively outweigh those that do care - in either direction.
On top of this, the previous concerns about people habitually clicking 'Yes I really want to quit' without properly reading the screen, or not having sufficient command of English to properly understand the question, and then getting annoyed that such an option was stuck in there. It's true that it's more unobtrusive there than elsewhere in the app, but while on one hand this means it's not going to 'break the mood', on the other hand it also means that it's more likely people who missed it until it was too late could accuse you of 'sneaking it in' there. There's no obvious association between quitting and sending data off.
This is the problem - but I'm not sure what a good resolution is. There may not _be_ one, in which case this function is not going anywhere. (I guess I could perhaps make it so the user can't quit before selecting a choice for this.)
I know it's an obvious suggestion, but: you're seeing downloads in excess of the forum population on sites you control, so... you could post a survey on those sites? In the most-extreme form, many sites I regularly visit - the most prominent in my memory being MSDN and the BBC news non-front-page areas - pop up "can you just take this quick survey" interstitials, and in my experience they're not too annoying so long as the 'close' or 'no, leave me alone' button really does what it's supposed to. Obviously I can't offer you numbers on the proportion of visitors that get turned away by those.
I don't think a survey would work, as the questions I need answered are fairly technical. "Do you have a working OpenGL, and does it support fragment shaders?" Also, much of the modern Moonlight Walks distribution comes from sites like download.com, that I don't have any control over.


[Time passes.]

Again, I haven't decided to do this. Twitter seems to be mostly against it, 4chan seems to be against it. Most notably a lot of developers are against it, and without their buy-in, this idea is dead in the water.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
PyTom
Ren'Py Creator
Posts: 16093
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: 6.12.2: Hardware Survey

#38 Post by PyTom »

Just to clarify - this idea is pretty well dead. I may have some way of sending technical information to my server if Ren'Py is running in degraded mode due to problems with the video card.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

luminarious
Veteran
Posts: 353
Joined: Thu May 01, 2008 1:12 pm
Projects: Winter, winter
Location: Estonia
Contact:

Re: 6.12.2: Hardware Survey

#39 Post by luminarious »

I don't really understand what the big issue here is. A website can at any given moment find out what your IP, browser, operating system, screen resolution, preferred language, mobile device make, colour depth or last visited pages were. All without asking a single thing from you or telling you. How is sending any hardware information to PyTom different from that, or even important?

I don't see why it couldn't be a systemwide setting. You install a Ren'py game, get asked wether you want to participate in the hardware info collecting à la Steam and then it's a persistent setting you could toggle from any Ren'py game's settings. Any collecting and setting happens in the background. Why on earth would you want to be notified every time data collection happens? Why should it be a part of the quit dialog?

Maybe I'm a jaded internet user who gave up privacy a long time ago but this thread seems really blown out of proportion regarding actual impact this decision might have on my life.

User avatar
backansi
Veteran
Posts: 224
Joined: Sun May 31, 2009 7:15 am
Location: Korea, Republic of
Contact:

Re: 6.12.2: Hardware Survey

#40 Post by backansi »

PyTom wrote:I'd argue that a better Ren'Py is in players' interests. If it's not, why do I bother?
Apart from the fact that you've decided to not adding Hardware survey system, I should say that I forgot to add some (many) words.
backansi wrote: but it's not related with players' interest .....
...from their point of view.
because they might don't have much information about Renpy engines or programming. and it's not a visible thing to them immediately.
backansi wrote: without "explicit" permission, people wil definitely hate that. Because they think that they are taken in
even if they should read license.txt file.

I knew you're willing to make renpy better for other people. If you felt bad, sorry about that.

SilentWolfie
Regular
Posts: 33
Joined: Fri Mar 11, 2011 8:45 am
Contact:

Re: 6.12.2: Hardware Survey

#41 Post by SilentWolfie »

Wow that's a lot of text..... I think I saw stuff life "send report" "don't send report on error crash" for windows, and I think I saw Open Office having something similar like this. Both of them ask the user whether they wish to provide data, etc.


BUT,

I also find it relatively strange about asking OpenGL, because shouldn't any modern day PC be able to run it? Also, it's not really the users who need to worry about the graphical thingy, it's the developers! The marketing team are the ones who need to warn/tell users that they need a system which can run call of duty to be able to play this renpy game!

On one hand you can have Renpy 'Super Duper OpenGL installer for developer who wants to spend a budget, and, Renpy - Non OpenGL necessary installer.

2 Renpy to solve them all instead of raising ethics... -.- why so complicated?

For commercial games, perhaps you can even impose a 0.1% royalty fees if need be for continuing the development of renpy. Makes me wonder how Linux/Openoffice developers survive...

Jake
Support Hero
Posts: 3826
Joined: Sat Jun 17, 2006 7:28 pm
Contact:

Re: 6.12.2: Hardware Survey

#42 Post by Jake »

luminarious wrote: How is sending any hardware information to PyTom different from that, or even important?
Because this will quite possibly result in a lot of users getting a "game whatever is trying to access the Internet" prompt from their firewall/security software, which makes them think that the game developer is trying to sneak information from their PC.

Because I'm not entirely sure it's legal to take information from a user's PC without getting their explicit permission in my jurisdiction, and I suspect offhand that if my game sends PyTom the information, then I may be personally responsible for ensuring that he complies with EU data protection laws in his handling and disclosure of said information - and that's not something I want to have to think about when releasing a game. I certainly haven't got a clue about data-protection laws in other countries.


I don't care at all about giving my hardware details to PyTom; I've done it before and I'll quite possibly do it again.
I do care a lot about making presumptions about what other people are OK with without asking them, I care a lot about potentially breaking the law, and I care a lot about potentially pissing off or worrying players of my games with unnecessary warning pop-ups.
Server error: user 'Jake' not found

User avatar
papillon
Arbiter of the Internets
Posts: 4107
Joined: Tue Aug 26, 2003 4:37 am
Completed: lots; see website!
Projects: something mysterious involving yuri, usually
Organization: Hanako Games
Tumblr: hanakogames
Contact:

Re: 6.12.2: Hardware Survey

#43 Post by papillon »

People aren't entirely rational - little things can set them off, and that is a big worry for people making games.

A tickybox on install for "Allow anonymous usage statistics" would probably (I don't know about legally, but probably) be fine with everyone. Plenty of programs as for that sort of thing when you run their installer. And they've got their T&C right there for you to agree to as well. Problem is that only a small percentage of renpy games use installers, and I'm pretty certain there's no desire to make them mandatory. :)

Anything within the game itself is lkely to trigger paranoia, rightful or no. The changed context makes the question seem more unusual and more suspicious, and also the question would get in the way of the expected/intended play behavior. Only briefly, sure, but a brief interruption at an unexpected time can still trigger a reaction of huge annoyance.

doomonyou
Newbie
Posts: 17
Joined: Mon Nov 01, 2010 11:20 pm
Completed: CameliaGirls for Android

Re: 6.12.2: Hardware Survey

#44 Post by doomonyou »

2 questions if I may:

First is this, would it be possible for somewhat technical users and developers to willingly send in such information in hopes of it leading to improvements in RenPy?

What is the minimum GL version that would be expected to run OpenGL rendering?

User avatar
PyTom
Ren'Py Creator
Posts: 16093
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: 6.12.2: Hardware Survey

#45 Post by PyTom »

doomonyou wrote:First is this, would it be possible for somewhat technical users and developers to willingly send in such information in hopes of it leading to improvements in RenPy?
Yes. For now, you can just send me the log.txt Ren'Py creates when it starts up. At some point, I'm probably going to put a function into Ren'Py that gives people the choice to send data from the launcher, or when Ren'Py encounters a severe problem.
What is the minimum GL version that would be expected to run OpenGL rendering?
It's fairly complicated. For full functionality, you need:

1) At least 3 texture units.
2) One of:
2a) OpenGL 2+
2b) OpenGL 1.2+, with the ARB_vertex_shader and ARB_fragment_shader extensions.
2c) OpenGL 1.2+, with the ARB_texture_env_crossbar and GL_ARB_texture_env_dot3 extensions.
2d) OpenGL 1.2+, with the NV_texture_env_combine4 extension.

Ren'Py also tests the actual speed of the rendering, and will bail out to the software renderer in non-pathological cases.

The changes I've been considering is to eliminate the software renderer as an option, except perhaps to display a message to the user explaining that their computer is not working properly. (This frees me from having to maintain the software renderer - and it's crazy complexity - in the future.) Once this is gone, it become possible for me to implement:

- Polygonal imagemaps.
- Text effects.
- Non-affine transforms, like the "Star Wars Text Scroll" effect.

I'd also like to eliminate support for the 2c and 2d cases. Requiring shader support would let me support a feature that people have been asking for - the ability for a transform (even one applied to a layer) to apply a matrix to the layer's colors. That would allow things like hue, saturation, and lightness to be animated using ATL.

I played around with Angle today. Angle is a project, by Google, that emulates OpenGL ES 2 using DirectX 9. I was able to display simple stuff, to the point where I'm confident I can port OpenGL to Angle/DirectX. Since the crappy Intel drivers support shaders via the Angle/DirectX path, but not natively, I think that this will give us a path to eventually getting these features.

I try to ensure that Ren'Py will run on pretty much any computer that tries running it. Now, at some point, nearly every computer will have shader support - OpenGL 2, released in 2004, requires it, and eventually the computers lacking OpenGL support will be upgraded, or become terribly obsolete, or so on. The motivation for the hardware survey would be that it would let me get a constant stream of data over time, so I could monitor how many people had things like shader support, and I could pull the trigger when it went below a certain threshold.

A one-time survey wouldn't help with this - I know that I can't require shaders now. What I really wanted to know is when all but a few people had shader support - that would tell me when it was safe to make the change.

I believe that requiring OpenGL _or_ DirectX is probably safe - but now, I'm probably going to have to do a multiple step tango.

1) First, I'll make Ren'Py warn users that their experience is being degraded by the software
2) I'll also give them the opportunity to report this - hey, same problem as before, but hopefully this will be more acceptable.
3) I'll look at the number of reports I get for recent Ren'Py versions, and when the number becomes small enough, I'll disable the software renderer entirely.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

Post Reply

Who is online

Users browsing this forum: No registered users