PsychoGoldfish's News


81981_141660039591_chatshot.png#aftertheweekend


Monster Monday

2014-10-27 13:02:22 by PsychoGoldfish

And so we reach the final Monster Monday of 2014.  Follow me on Twitter (@Psycho_Goldfish) and RT this week's monsters to your followers! And be sure and follow these great artists here on NG!!!

This week's picks:

http://www.newgrounds.com/art/view/thespazicat/good-ol-nosferatu
Good Ol' Nosferatu by @thespazicat

http://www.newgrounds.com/art/view/m-vero/sinister
Sinister by @Daverom

http://www.newgrounds.com/art/view/kkylimos/the-dimorteli-brothers
The DiMorteli Brothers by @Kkylimos

http://www.newgrounds.com/art/view/deathink/chuckenstien
Chuckenstien by @deathink

http://www.newgrounds.com/art/view/farturast/halloween-2012
Haloween 2012 by @FatrurAst

 

I forgot to post last week's Monster Monday picks so I'll toss them in here:

http://www.newgrounds.com/art/view/jazza/this-is-halloween
This is Halloween by @Jazza

http://www.newgrounds.com/art/view/xaltotun/pumpkin-golem
Pumpkin Golem by @Xaltotun

http://www.newgrounds.com/art/view/jakubias/mountain-of-goats
Mountain of Goats by @Jakubias

http://www.newgrounds.com/art/view/pkshayde/r2-d2-zombie
R2-D2 Zombie by @PKShayde

http://www.newgrounds.com/art/view/thepsychosheep/dasha
Dasha by @ThePsychoSheep


Wicked Wednesday / PsychoGoldfish Day

2014-10-15 11:52:03 by PsychoGoldfish
Updated

So I totally dropped the ball on Monster Monday this week, because I have other shit to do.  But I'm making up for it today with Wicked Wednesday.

Here's a taste of what I'll be posting on twitter today (follow me @Psycho_Goldfish):

http://www.newgrounds.com/art/view/liransz/wickedly-drawn - You should totally be following @liransz she has tons of great halloweenish art in the portal.

http://www.newgrounds.com/art/view/hungercat/xenomorph - @Hungercat also has a nice collection of monster art.

http://www.newgrounds.com/art/view/jackaloftrades/scorching-the-evil-snowman - @jackaloftrades brings us this Christmas-o-ween classic.

http://www.newgrounds.com/art/view/theshadling/hatred - Because @theShadling can indeed draw more than boobs damnit!

http://www.newgrounds.com/art/view/mindchamber/demonic-p-bot - @Mindchamber even includes a short story with this pic.

http://www.newgrounds.com/art/view/wolfenheim/demongo - Any Samurai Jack Fans out there? @Wolfenheim has lots of great fan art you should check out.

http://www.newgrounds.com/art/view/sabtastic/grasp-of-the-dead-hand - @Sabtastic brings us her take on one of the scariest moments in ANY Zelda game ever.

If you have any favorite monster/halloween themed art to share on the Twitters, post it with the hash tag #WickedWednesday and I'll try and re-tweet you.

 

I've also announced an epic contest with an amazing prize for this year's PsychoGoldfish Day:

http://www.newgrounds.com/bbs/topic/1352573/3#bbspost25264576_post_text


Monster Monday

2014-10-06 14:33:16 by PsychoGoldfish

Every monday for the duration of October, I'm planning on showcasing some of the great monster-oriented content we have here on Newgrounds.  Follow me on Twitter (@Psycho_Goldfish) and either retween my posts or add your own with the #MonsterMonday tag!

Here's some monsters for this week:

http://www.newgrounds.com/art/view/splosh999/swampish

http://www.newgrounds.com/art/view/gcs-wt/omden-moden

http://www.newgrounds.com/art/view/splosh999/coookiiieeeeesssss

http://www.newgrounds.com/art/view/letal/second-photoshop-painting

http://www.newgrounds.com/art/view/rickmarin/the-monster



With the current boom of popular indy games being produced on Steam, Mobile, and the latest game consoles, I am often remonded that many of these games owe a lot to classic browser games for creating and/or popularizing new or overlooked genres.

One of my guilty pleasures these days is playing endless runners on my tablet.  Games like Jeypack Joyride and Zombie Tsunami are a lot of fun, but I can trace my love for the genre back to Dino Run and Canabalt.

What brower games made you guys fall in love with a new game genre?

81981_140613364963_webclassics.jpg


Content Embeds!

2013-12-03 12:23:44 by PsychoGoldfish
Updated

So now that the fancy new blog stuff is working, we are also ready to debut CONTENT EMBEDS!

Currently this only works on movies with video files and audio submissions.

To embed something, look below the video/audio player for the embed icon. (If it's missing, the author doesn't want theor movie embeddable)

81981_138609061032_embed_icon.png

Copy paste the size you want (Note: Large and Medium movie embeds will be scaled down to fit the width of a blog post.)

81981_138609156731_embed_option.png

And violla! 

 

 


Cooking Blog: Episode 2

2012-08-23 09:53:43 by PsychoGoldfish

ICookAtHome.net


Fall of Cybertron

2012-08-22 13:13:58 by PsychoGoldfish

So I started playing Transformers: Fall of Cyberton yesterday and I am having a really hard time staying away from it and getting any work done.

The story so far is great, and there's almost a seamless transition when you switch from the autobot campaign to the decepticon. Its all just one continuous story told from both perspectives.

I find myself nerding out a lot, so many fun moments so far. For example, in the later Optimus Prime levels you have to haul ass in truck form to reach some objectives. On the way you can just run down decepticons and they go flying. I found myself re-enacting this scene from the transformers movie, complete with the aerial transformation/flip attack and an awesome rendition of "You got the touch"

I also re-created optimus dying... a lot...

There's also some fun easter eggs. In one place you can sit down and watch TV while your base is being attacked because NOBODY MAKES ME MISS MY SOAPS!

There's another fun one where a door switch transforms into a retarded dancing robot that had me laughing pretty good.

The characters play mostly the same, but the unique special abilities they get vary enough to really change the play style for each character's levels.

You can't get into cover Gears of War style, but you CAN switch your gun arms, so you can use cover without needing to be glued to it.

I'm not even half way through it yet, but I'm hooked. And I haven't even wet my dick in the multi-player yet.

This is definitely a must own for transformers nerds, and anyone who enjoys a good 3rd person shooter will have a lot of fun with it too. Maybe I'll see some of you on XBL.


New Food Blog

2012-08-18 00:37:55 by PsychoGoldfish

So today I decided to start a new food-oriented blog. I had the wife record some video while I was making dinner and use that for my first post. Was pretty fun, and I'll definitely be doing more.


High Score/Medal Hacking

2012-05-11 12:33:09 by PsychoGoldfish

Ever since I built the original Flash API tools, people have been reporting people that have hacked their scores to ridiculous levels, or hacked some kind of stat variable to unlock a medal, etc etc.

We put a lot of effort into keeping communication between your games and the API gateway fairly secure using all sorts of encryption and seeding techniques, but at the end of the day, if a game has no internal security measures, our API can't do anything about these "hackers".

To be fair, none of these cheaters are actually hackers, they are typically just dumb kids who have learned about a program called CheatEngine (or something similar). This simple cheating app allows any user to manipulate memory resident values, such as scores or in-game statistics.

Most users use cheat engine to check for values that change. If they know the exact value of the change, its even easier, but not necessary. Here's some examples:

A user starts a game with a score of zero. They tell CheatEngine to search for all memory values that equal zero. This search yeilds a large list of possible memory addresses, so they can't easily cheat yet.

The user kills an enemy and now has a score of 100 points. Now they tell CheatEngine to search within the last list of memory addresses for a value of 100. Cheat Engine narrows down all the possible addresses and comes up with a smaller list.

The user keeps repeating this search until they have narrowed the value down, then they can change it to whatever they want.

Using a similar search they can look for values that have changed (up or down) to figure out where you store things like hit points and get themselves unlimited health in any game.

So how do you combat these cheats? Well, there is no real 100% cheat proof solution, but if you understand how these cheat engines work, you can do a few things to detect when something fishy is going on.

One of the first things you should do is use getter/setter functions for sensitive variables rather than setting them directly. If you use OOP classes, you can make your score/health.etc variables private and use a getter/setter function to alias them. If you still code on timelines in AS2, you can just make a setScore(value) and getScore(value) function on _root or something to that effect.

In these functions you can apply some creativity to keep track of how much each value has changed since the last time those functions were called. Here's a small example using crude AS2 (I didn't test any of this, but you should get the idea):

// this is the variable we will store our current score in
score = 0;

// this is the variable we will use to store a value used to verify our score
verify_score = 0;

// This is a random number we will use to create our verify_score value.
// Using a random number will make it harder to figure out our scoring algorithm.
random_seed = Math.random() * 5;

// this is the function we use to set add points to our score
function updateScore(points) {
if (!cheatDetected()) {
score += points;
// this will generate a number that's almost impossible for a person to change correctly.
verify_score = Math.sqrt(Math.round(score/random_seed));
}
}

// this is used to detect whether the score was changed manually
function cheatDetected() {

// these will both be zero if no score has been added
if (score === 0 && verify_score === 0) return false;

// using the same foruma from the updateScore function we can check to see if our current score calculates
// to the same value it did when it was set using the above function.
return (verify_score != Math.sqrt(Math.round(score/random_seed)));
}

// This is used to either get the score, or return zero if the user cheated. Use this when posting high scores.
function getScore() {
if (cheatDetected()) {
return 0;
}
return score;
}

You can use a variety of methods like MD5 hashes, or something more custom to create your verification values, just make sure it's not something you can easily calculate without having access to the source code. using random seed values will make it even harder since every time they play the formula will change.

Keep in mind these formulas do use extra CPU, so you wouldn't want them running on every frame or interval on a high-load game, but for stuff like scores and health, this is a nice technique.

I strongly recommend getting a copy of CheatEngine and trying to cheat your won games.