Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Zapmunk

Pages: [1]
1
Game Design / Re: Post your Code Snippets
« on: January 28, 2017, 05:53:16 PM »
A fragment shader for converting to and from HSV. Useful for performing color effects.
The shader supplied here replaces the default image_blend functionality with something like the sprite editor's colorize function, but it can be easily be modified to do other HSV-color-space effects. (I recommend against using it for anything that doesn't require hue though, since saturation and volume can both be manipulated directly in RGB color space)

(click to show/hide)

2
Game Design / Re: How do I protect my games from being decompiled
« on: October 26, 2016, 04:31:08 AM »
For the short answer, see the comments above.

The long answer is: You can't. There's no perfect way to prevent decompilation of any piece of software.

Of course, there are plenty of good-enough-but-not-perfect ways to prevent decompilation. Any one of them can be broken by someone who is determined enough, but most people don't have three-letter agencies spending large portions of the defense budget on decompiling fangames, so your threat model is rather forgiving.

8.1 is "insecure" because there are easily-available tools anyone can download and click one button to decompile with.

8.1 + anti-decompilation shennanigans is "sort of secure" since a lot of those tools have been around long enough to be broken, but it will still deter a lot of the kids who try the one-button solution and find that it doesn't work without further investigation.

Studio is "secure" because nobody's written a decompiler for studio yet, so your game will only become decompilable if someone else releases a high-profile studio game that increases the demand for a decompiler enough for some hacker to actually make one

Custom engine (no gamemaker, all C++/machine code) is "very secure", because the only people who can hack it are the people who can actually reverse engineer machine code, and those people are too busy with real-life pentesting/reversing careers and/or the cracking/warez scene.

Custom engine + denuvo (strongest commercial DRM available) is "very secure" because the only people who can hack it are the few groups currently cracking denuvo. This cuts both ways, though, since their mission statement is, among other things, to crack every denuvo title. Merely putting that level of (completely hypothetical) security on something paints a big target for hacker groups to flaunt their hacker epeen by cracking it.


Options 4 and 5 are 100% hypothetical, though. I don't think anyone's made a public fangame yet in something besides gamemaker or MMF. The only exception that comes to mind is co-op, and I'm unsure exactly how reversable construct 2's format is. It's probably somewhere close to studio/custom in security.

Looks like there's plenty of examples of non-GM fangames. Their security probably varies from engine to engine.


TL;DR read the comments above and ignore my wall of text

3
The saves aren't tied to your .exe, they're tied your windows user account. Even though they show up for you, they won't show up for anyone else.

For the timer issue, check your game for multiple objWorld instances. You should only have one, in rInit.

You can probably get more help, feedback, and testing in the discord. httpss://discord.gg/jfrHJpa

4
Meet and Greet! / Re: Hey Hey
« on: October 13, 2016, 08:03:39 PM »
Make sure to join the discord! We have a channel for gamemaking, and a spreadsheet of testers who can test your game and give feedback.
httpss://discord.gg/jfrHJpa

5
Engines / Re: I Wanna Be The Studio Engine YoYoYo Edition
« on: October 11, 2016, 01:06:58 PM »
Just a heads up, there's a small memory leak every time you die. Turns out that ds_map_write leaks a couple kb of ram every time you call it. json_encode and json_decode don't leak though.

7

Blood effects running on the least powerful laptop I could find. A vast improvement over the unplayable input lag some people were experiencing in its previous iteration!

8
Persistant blood with surfaces and shaders!

It doesn't lag, and it's pixel-perfect- note how the spike on the right gets colored by the blood, but doesn't have anything clumped around the edges. Pixologists can paint the town red without obscuring their jumps!

9
Game Design / Re: Post your Code Snippets
« on: August 09, 2016, 12:40:55 AM »
A little script I wrote to replace gamemaker's tragic lack of a move_contact_object function. Could be a good start for anyone who wants to convert the physics to non-solid blocks like me.

(click to show/hide)

It works more or less like move_contact_solid, except:
  • The direction argument is given in vector component form. This is easy because this is only (supposed) to work for the cardinal directions, and will probably fail if you try to move diagonally with this. Best used with values of -1, 0, or 1 (higher numbers will decrease the step resolution)
  • It can and will move you backwards if you intersect something and attempt to move to contact away from it- if you are checking for contact downwards, and your head is clipped into a ceiling, it will teleport you so your feet are on top of the block you were previously underneath
  • It operates on bounding boxes, so sloped surfaces and anything with precise collision checking is out of the question. Everything will be treated as if it is rectangular.
  • It returns the id of the object you moved to contact with, or noone if you did not collide with anything
  • Due to platforms being children of blocks in the major engines I'm aware of, it will almost certainly royally screw up platform physics. You may need to unparent objBlock from them, and re-create the remaining platform functionality manually.

Pages: [1]