Recent posts by player_03 on Kongregate

Flag Post

Topic: Kongregate / Moving flash saves

Chrome doesn’t always follow the normal naming rules. Sometimes it creates a random folder and sticks the save file in there. In this case, the file and the folder will have a totally meaningless name, but if you open up the file in a hex editor, there will be a path to the folder it was supposed to go in.

The Dropbox thing is clever, but it’s probably better to transfer your files by hand.

 
Flag Post

Topic: Kongregate / Enough with the idle "games" bullcrap

Originally posted by Holy2334:

Rychip is right though, if you want to kill a trend you need to make another monster to takes its place. The only thing that I fear though is that once said game is created we will eventually get another thread complaining about how kongregate is flooded with “insert game gene here.” I guess that’s life I guess.

Perhaps not. Tower defense was a fad before it became a staple, and it didn’t get this many complaints.

As much as I enjoy some idle games, I can understand why some say they “aren’t games.” I wouldn’t be surprised if the next craze gets a more positive response.

 
Flag Post

Topic: Kongregate / Enough with the idle "games" bullcrap

Originally posted by Ubernomaden:

Then that’s called a jump in logic.

Well, it does require the additional assumption that a large number of idle games are being released. But if you’re willing to accept that assumption (I know it’s crazy, but bear with me), then the logic can be expressed as a syllogism:

Lots of idle games are coming out.
Most idle games follow a similar formula.
∴ This “core formula” has been, or will soon be, fully explored.

 
Flag Post

Topic: Game Programming / [Q]Effective way to calculate velocity

Originally posted by EndlessSporadic:

Link 1

Transparency is maintained here because we’re iterating over the list in the getter. Nothing but the getter function needs to be aware of the list of upgrades; even elsewhere in the same class, you can just access the property as normal.

Originally posted by EndlessSporadic:

Link 2

Sure, in the case of modifying the file I/O implementation, you’ll want to override methods. But buffs and debuffs tend to involve only number manipulation. And that can be done equally well with the list implementation.

Originally posted by EndlessSporadic:

Link 3

The “vacation” example could just as easily have been implemented as a list, but the “product” example is valid. My implementation wouldn’t reasonably be able to cache anything.

Not that caching is desirable in Scotty’s example.

 
Flag Post

Topic: Game Programming / [Q]Effective way to calculate velocity

Originally posted by EndlessSporadic:

Do you want to program the countless if-else statements needed to determine functionality?

Are you kidding? I already pointed out how similar my design was to the decorator pattern; it follows that it can do most of the same things.

class Upgrade {
	//...
	
	public function adjustSpeed(speed:Float):Float {
		return speed;
	}
	
	public function adjustDamageOverTime(damage:Int):Int {
		return damage;
	}
	
	public function adjustCrowdControl(control:Bool):Bool {
		return control;
	}
}

class Poison extends Upgrade {
	public override function adjustSpeed(speed:Float):Float {
		return speed * 0.5;
	}
	
	public override function adjustDamageOverTime(damage:Int):Int {
		return damage + 1;
	}
}

class NoPoisonDamage extends Upgrade {
	public override function adjustDamageOverTime(damage:Int):Int {
		return 0;
	}
}

class NoCrowdControl extends Upgrade {
	public override function adjustCrowdControl(control:Bool):Bool {
		return false;
	}
}

class YesCrowdControl extends Upgrade {
	public override function adjustCrowdControl(control:Bool):Bool {
		return true;
	}
}

NoPoisonDamage class removes one of Poison’s debuffs without affecting the other. Meanwhile, the NoCrowdControl and YesCrowdControl classes disable and re-enable crowd control without affecting anything else.

(Aside: “crowd control” sounds like a buff, not a nerf. If it refers to something bad, you’d want to rename it.)

 
Flag Post

Topic: Game Programming / [Q]Effective way to calculate velocity

Originally posted by EndlessSporadic:

this reddit post that uses the pattern to create items with randomly generated buffs.

My first thought was that “items with buffs” aren’t relevant, but it turns out I only read the first half of the OP. Looking at the last paragraph, it’s suddenly a lot more clear why you’d suggest the decorator pattern.

Originally posted by EndlessSporadic:

It is clear you don’t know what these two patterns mean.

I maintain that a callback function is pretty much equivalent to the strategy pattern (especially in Haxe, where you can specify which parameters the callback needs to take), and that the decorator pattern is overkill if you only have to account for the difficulty level.

Taking the whole “collectible upgrade” thing into account… Yeah, I was missing the point. Plus, I was indeed misunderstanding the decorator pattern. Oops.

That said, the decorator pattern is still not appropriate for the situation. The problem is, the pattern doesn’t account for the limited duration of upgrades. I guess you could remove decorators after a delay, treating them like a linked list, but then there’s a risk of removing the ball itself from the list.

Alternate solution (in Haxe):

class Ball {
	public var upgrades:Array<Upgrade>;
	
	//...
	
	public function update():Void {
		var i:Int = upgrades.length - 1;
		while(i >= 0) {
			upgrades[i].framesLeft--;
			if(upgrades[i].framesLeft <= 0) {
				upgrades.splice(i, 1);
			}
			
			i--;
		}
	}
	
	//...
	
	public function get_ballSpeedY():Float {
		var result:Float = ballSpeedY;
		for(upgrade in upgrades) {
			result = upgrade.adjustSpeed(result);
		}
		return result;
	}
}

class Upgrade {
	public var framesLeft:Int;
	
	public function new(frames:Int):Void {
		framesLeft = frames;
	}
	
	public function adjustSpeed(speed:Float):Float {
		return speed;
	}
}

class SpeedUp extends Upgrade {
	public override function adjustSpeed(speed:Float):Float {
		return speed * 1.25;
	}
}

class SlowDown extends Upgrade {
	public override function adjustSpeed(speed:Float):Float {
		return speed * 0.8;
	}
}

Similar functionality, still easy to extend, and… still overkill. But at least now you’re using an appropriate data structure!

 
Flag Post

Topic: Game Programming / [Q]Effective way to calculate velocity

Originally posted by EndlessSporadic:

Upgrade systems should be handled using a combination of two design patterns called the strategy pattern and the decorator pattern

You’re going to have to come back and explain this, because even knowing what the two patterns are, I can’t tell for sure how you propose to use them.

My best guess is the decorator is supposed to determine which strategy to use, and the strategy is supposed to determine the value of ballSpeedY.

But if it was that simple, you’d have just said “use a callback function” instead of describing it in terms of patterns. Right?

Right?

 
Flag Post

Topic: Kongregate / the TRUTH about why there are suddenly more pay2win games on kong

Originally posted by neo32x:

oh and if you were trying to defend the freemium business model with that post (or so i’m assuming here)

Not really, but since you asked…

The good thing about the model is that extra money for the developer means they have more resources to improve the game. If you could adopt karciotank’s attitude, you might find one that you enjoyed. You may even find one where the pay-to-get-ahead mechanics don’t “destroy the gameplay balance.”

I know you’ve already decided to hate the genre, but would you at least agree that a good game with a little pay-to-win added is better than Candy Crush?

 
Flag Post

Topic: Kongregate / the TRUTH about why there are suddenly more pay2win games on kong

Originally posted by neo32x:

i find it sickening how much the market now revolves around pure greed.

The goal is nothing new. Companies have always wanted to make as much money as possible. The difference is that they’ve found a new way to do it, and now it’s inconveniencing you.

 
Flag Post

Topic: Game Programming / Fancy AS3 game visual effects

It looks like most of the effects shown in that video are pre-rendered animations. In other words, they hired an artist. I guess it’s possible that the animations are procedurally-generated, but they’d be even harder to do that way.

If you’re just starting out, you aren’t ready to make things of that quality. You’ll need practice first. Start with simple games, perhaps using some procedural generation techniques.

Also, it wouldn’t hurt to draw animations of your own. Even if most of the animations aren’t much good, the experience will help you work with artists.

 
Flag Post

Topic: Game Programming / Attention idle gme makers..

The developers are experimenting. That’s a good thing.

If you don’t like something about a game, give it a low rating, and leave a comment explaining why. Most developers don’t read this forum.

 
Flag Post

Topic: Game Programming / Capture a timeline frame into BMD?

I guess you could also try BMD.draw(root);, but what would really help is a screenshot of the setup and the result.

 
Flag Post

Topic: Kongregate / Files not Encrypted

Are you sure it said “not encrypted” rather than “encrypted”? Because it sounds like you might have gotten a ransomeware infection.

Either way, this has nothing to do with Sandbox Hero. It’s just a coincidence that you happened to be doing that at the same time.

 
Flag Post

Topic: Kongregate / Why so much Idle?

Originally posted by bobby71983:

There is no reason at all that you couldn’t fit the 50-100 most recent games on a single page, and have another page that lists the 50-100 most highly rated games released in the last x period of time.

Kongregate: the Craigslist of video games!

 
Flag Post

Topic: Game Programming / Change Upload Type From iFrame To File

In that case you’ll just have to stick with what you’ve got. There aren’t any other workarounds.

 
Flag Post

Topic: Game Programming / Change Upload Type From iFrame To File

I doubt it. You might be able to keep the revenue, but everything else would definitely be lost. If that’s a problem, upload a new version under a different title.

 
Flag Post

Topic: Game Programming / Change Upload Type From iFrame To File

Apparently not even the admins can change that. You’ll need to upload an entirely new game instead.

Though they might delete the old game for you if you promise to upload the new one in its place. As I understand it, one of their main objections to deleting games is that it’ll create broken links.

 
Flag Post

Topic: Game Programming / Bitmap Rendering issue

There are a number of tools for compressing PNGs. TinyPNG is really simple, but it’s lossy. (It won’t cause this particular error, though.) OptiPNG is lossless, but harder to use.

 
Flag Post

Topic: Game Programming / Flash CC super tiny swf window

Are you sure it didn’t overwrite the stage width somehow? Double-check your document settings.

Failing that, you could use a macro program like AutoHotkey. Just add some commands like this:

;ctrl+alt+6: resize the current window to 640x480
^!6::WinMove, A,,,, 640, 480

;ctrl+alt+8: resize the current window to 800x600
^!8::WinMove, A,,,, 800, 600

AutoHotkey doesn’t work on Mac, so here are some alternatives.

 
Flag Post

Topic: Game Programming / IFrame Help Please?

As I understand it, if you want to use an IFrame, you’re responsible for hosting the game page. The page you host should be a simple HTML page, displaying the game in the top-right corner, with no extra content around the edges. When you give Kongregate the link, your page will be displayed inside the game page on Kongregate.

 
Flag Post

Topic: Game Programming / How to make the simplest p2p

Originally posted by Aesica:

it still fascinates me from a game developer’s perspective that such shitty games can somehow manage to have such a strong hold over people once they get going.

Then… maybe they aren’t that shitty after all.

Successful free to play games tend to have good game design at the core, buried underneath all those incentives to spend money.

 
Flag Post

Topic: Kongregate / Is kong's CEO, Emily_Greer really a cocaine addict?

Originally posted by Holy2334:

Also, did not expect it to be a crow post from the title.

Really? I’d have been surprised if it wasn’t.

 
Flag Post

Topic: Kongregate / High Scores are useless because there are so many cheaters.

Originally posted by andyman_aus:

As an added benefit, players won’t complain, en masse, about high score cheating.

I see 23 posts in this thread. Is that really “en masse”?

 
Flag Post

Topic: Game Programming / How do I see my revenue report

You should still be able to find it on your profile, by clicking the drop-down arrow to the right of “account settings.”

If that doesn’t work, report it as a bug, and then save this as a bookmark: http://www.kongregate.com/accounts/pillow9192/revenue_summary

 
Flag Post

Topic: Lionheart Tactics: General / Hard Level Dungeons

As a free player with three legendaries, I don’t find the dungeons any harder than they used to be. If anything, the Frosthelm Caverns might be a bit easier, thanks to having Runebinders instead of Frost Crystals.

What I’m saying is, you don’t need to pay in order to beat the new dungeons. All you need to do is get a time machine, go back in time, and do another six months of grinding.