Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 27 Feb 2009
Offline Last Active Today, 03:43 PM

Posts I've Made

In Topic: How to stop users from manipulating Game Save Data

17 April 2014 - 07:27 PM

It sounds like you have serious issues then, if upon realizing that you can get away with doing something unintended, you suddenly find yourself constantly thinking about doing it.

You can probably get away with planning and robbing your neighbor in "under a few days' worth of time", and you'll probably come out with a lot more money/valuables. But I hope, now that you know you can do it and get away with it, you're not suddenly thinking about the "what-ifs" in the back of your mind all of the time.

I don't think most people seem to have the same problems with compulsiveness that you are having...

I think that's a little insulting, but I do agree that I'm not ordinary. However, your analogy is flawed: modding my save hurts no one but potentially myself, while robbing my neighbor hurts them. Morality need not come into play when modifying your own property, while morality would keep you from taking from others.


I'd argue that I have the same thoughts about modifying the vulnerable game as someone that does do it; I just have extra desire not to do it, knowing that it will likely make my experience worthless, aside from some initial amusement. For this reason, the thought of doing it remains, because I never give in to it.


that's only because you have the knowledge necessary to hack it and therefore look at it from a different (larger) perspective.

its like me when i see a movie now that i've become a gamedev, i can't enjoy the flick, cause i'm always thinking about camera angles and graphics sfx. I have to watch twice to get the story.

you can't simply enjoy the toy as a toy, cause you build them yourself, and are always thinking about how its made - or not made - or how to hack it to make it better - or how to make a better one of your own.

you have to remember is just a game, not a hackers challenge.

I do agree, that is a big part of it, but non-game devs can relate: Who has owned a GameShark? I know a lot people that are not programmers or able to produce anything, but know how to open a text file and add numbers, so this instance doesn't require any knowledge.


Now, I'm not above modding. I remember modding Worms and GTA III long ago, among others, but only after the game was finished, and no more fun could be had. Heck, if you want to have an unlockable feature that gives you the decryption key, cool.

In Topic: link libpng

16 April 2014 - 12:15 AM

You're comparing apples to oranges here. Supporting a number of different Python releases is one thing, supporting two SDL versions is another thing entirely.

If I may throw my two cents into here, SDL 1.2 and SDL 2 have a decently different interface, from what I could tell reading about v2. Likewise, Python <= 2 and Python >= 3 have some significant differences that cause applications to fail to run across multiple versions, and they get installed in parallel to combat this: on my machine I have python2.6, python2.7, python3.3, python3.3m, python3.4, and python3.4m installed (the m variants using a different ABI, causing another incompatibility).


So, I'd say there are some similarities between needing to support a particular version of one and needing to support a particular version of another.


As for why, I don't have the explanation, and it wasn't provided. I assume it's a good one. In the case of Blender, as noted before, different Python versions aren't 100% compatible, so if someone wrote a good Blender plugin a long time ago and never updated it, you wouldn't be able to update Blender (or use a new Python version) and still use the plugin. It sounds as if his application is already done, so upgrading to SDL 2 is a little work-intensive.

In Topic: How to stop users from manipulating Game Save Data

15 April 2014 - 10:14 PM

Although I agree you should let people play a game a way they want to, I don't even remotely agree that people should basically be encouraged to cheat by leaving things open to generic editing.

I can agree with this, on a different front: willpower, and existentialism.


Willpower: knowing that I can easily (in under a few days' worth of time) modify the game to have about any outcome of my choosing makes it very difficult for me not to try to reason my way into caving and modifying the game, rather than completing the challenge as presented. This leaves me with a bad taste in my mouth, as it feels as if the game isn't the real challenge, I am. A game that is a metaphorical cookie jar doesn't sound fun to me, if I have the what-ifs riding in the back of my mind all of the time.


Existentialism: the game is so easy to break that legitimately earning the rewards actually yield fewer benefits than illegitimately removing limits. In that regard, if the game is all about making the values in the file increase, and I have the means to increase them beyond the game's wildest dreams, I can complete the game instantly. The game no longer is "the journey" to the happy end, but a mere obstacle that can be averted on the way to the final goal of having these values meet criteria in the most efficient way; by having the game's data unintentionally be changeable, the game is now optional.


For these reasons, and faced with these decisions, I will actually lose almost all fun in playing the game, and be forced to move on. Any high scores that I get can be forged. I no longer respect the accomplishments of my fellow players, and I doubt their abilities. My victories will be hollow, knowing that I could have had greater ones in five minutes.


Please, don't kid yourself into thinking you'll get the best of both worlds by allowing cheaters and honest players alike to do things the way they want to. Some people desire not being permitted to break the rules, and will abandon your game if it is easy enough to subvert them.

In Topic: Passing and Returning Arrays of Bytes

15 April 2014 - 05:54 PM

Vectors are really nice for alot of purposes, including occasionally using them as byte buffers. But since byte buffers are a common use, it's also nice having a custom class for it with specialized functions - for example, my class provides an interface for non-owning buffers or taking ownership of existing buffers.

Yeah, I do acknowledge that the special class has desirable features for maintaining a generic byte buffer has many benefits. Looking over the header, I like the ability to make child objects that point to a subset of the buffer, and other useful functions.


If the caller doesn't know the size of the buffer he needs to create, why not let the function create the buffer and return both it and the size at the same time?

The caller could find out, with a query function like outlined above. However, one of the biggest reasons is that the caller could know: if they specify the size of the keys, they know how large the buffer should be, and can pre-allocate and re-use the buffer over and over.


I guess querying for the size, then passing a pointer and size of a buffer is my best option. I guess my biggest priority was cutting down on allocation requirements, while requiring fewer steps for the caller, but it's already nearly as good as it will get. The discussion did give me some good ideas about another project, though.


Thank you all, for your time.

In Topic: Passing and Returning Arrays of Bytes

15 April 2014 - 11:46 AM

Really, that has the same advantages and disadvantages of a vector, without being templated. I get your point, though.