Recent posts by Pimgd on Kongregate

Flag Post

Topic: Game Programming / Limiting class instantiation and function calls

Originally posted by Drakim:

Make the Class3 constructor take a password parameter and have it throw an error if the password isn’t correct. Don’t tell the password to anybody.

But that could be bruteforced.
How about a GUID as a password?

Flag Post

Topic: Game Programming / (True === False) ???

Originally posted by FinalStrife7:
Originally posted by UnknownGuardian:
Originally posted by I_love_you_lots:

This is silly!

At least it makes more logical sense than javascript.

That… is unreal. :|

Originally posted by m4rek:



I knew the moment he posted this image it was a reference to, I think, this video, but I couldn’t remember the name and google didn’t get me anything. I retried with a different search string (I thought it was a TED talk so leaving that out helped) and voila. Wat.

Flag Post

Topic: Game Programming / HOT Topic!! Entity Component Systems Revisited.

The LinkedList seems like a good idea. Maybe with a wrapper function for “insertAfter” and “insertBefore”, which adds at indexOf with offsets.

Flag Post

Topic: Game Programming / HOT Topic!! Entity Component Systems Revisited.

I don’t like the priority part of this whole concept.
SystemX has priority 4 and SystemY has priority 5 and etc etc etc
I might not be understanding it fully, but this numerical definition of priority seems like asking for trouble to me.
The asteroids example hides the problem in a, which looks like

public class SystemPriorities
		public static const preUpdate : int = 1;
		public static const update : int = 2;
		public static const move : int = 3;
		public static const resolveCollisions : int = 4;
		public static const stateMachines : int = 5;
		public static const animate : int = 6;
		public static const render : int = 7;


How would you go implementing this in a clean way?
Is defining an enum like this the cleanest you’ll get?

Flag Post

Topic: Game Programming / (True === False) ???

“It’s totally nonsensical, however some programming languages like to be forgiving. Depending on the language, constraints like true, false, null, etc, actually have internal values that the compiler compares. Javascript is similar in its wacky handling of things like that. If you’re lucky, it’s internally consistent. Is null > false true? What about true > false? Null < true?”

True is 1 and False is 0.
For some programming languages,
anything but 0 is true (AS3, PHP, ColdFusion for instance).
I’m not sure, but some programming languages may have this other way around. (true = 1, false = 0, and any number other than 1 is false)

Null is something that represents “nothing”. Not 0 nothing but “nothing nothing”.
Some programming languages will see this in the literal context and say “anything is bigger than nothing”, and all operations with null are true.
Most programming languages will try to have some kind of error prevention – any operations with null result in false, save for an equality check (as null is null)
Null is (usually) internally represented as 0×0000000 (memory location). Attempting to do anything with this gives a “NullPointerException” or “NullPointerError” or something else related to null pointer, fireballs, fiery death of a running thread and an unhappy computer (this segment contained some jokes, in cases you didn’t notice, NullPointers tend to not cause explosions).

Dot notation is a way to shorten “of”. It can be a strange syntax, though, as it’s written in reverse compared to English.
person.weight = weight of person
person.legs = legs of person
person.legs.weight = weight of legs of person

Writing code has to be learned by doing it. Do yourself a favor and print out (or make use of two monitors) a sheet of paper with the common syntax for…
- variable declaration
- names of datatypes
- comparison operators
- input and/or output functions (how to get stuff on the screen)

Try to get hello world working, then use what you’ve printed or written down to alter the hello world program so that it does some kind of simple math, then something like simple math and using the result in an if statement…
A good achievable goal is a game like “Guess the number” – it has user input, screen output, if statements and else if statements (“no, higher” – “no, lower”), some sort of main control loop, and you’ll have to look something up to randomize the number to be guessed (although you could circumvent that by just setting it to a fixed value…).

As for this thread…
You said that you want to understand why something does what it does, and using a (metaphorical) calculator only tells you the answer, and not the why. I’m still gonna tell you to use that calculator, because at the end of the day it’s not our guesses of what it does that matter – it’s what the computer decides that it will be.

Flag Post

Topic: Collaborations / TextRPG: The Turning Point (Alpha released)

Project is abandoned for now.

Last demo link.

I know everybody wants to play this and wants this to be made but I don’t have the time nor the willpower to actually create it. I’ve been terribly unfair in drawing other people into this and I understand that people will be saddened by this announcement.

In the demo itself (Other Stuff → Console only) are some honest thoughts about this situation from about 6 months ago. Nothing has changed in the meantime.

Possibly, my own standards have become too high and it’s not all that bad (look what terrible things I got away with in part 1!). But failing to meet my own standards and forcing myself to perform below my own standards wouldn’t be very good for motivation either.

Since I’ve just stated that I’ve abandoned this, chances are I’ll spend some time on it because my head is busy with it. Even so, I think that this will not lead to a finished game. At best there would be a v0.112 featuring new features or a minor expansion and then that would be it.

I’ve put quite a lot of time into this and the game’s engine is largely done. The game itself can be played, but there isn’t any storyline or content or visual menus to go with it. Because of this, I’m willing to let others reuse the engine provided they do not share the code (for now, I may publicize it later). If you want to discuss this you can leave me a shout or email me (email is on my profile).

Flag Post

Topic: Serious Discussion / Assault Against a Cyborg

Personally, I don’t mind the prosthetic devices. I’d be medically curious, even.

So I’mma throw it on another “bodily” modification, gender changes and people who flaunt those.
I now imagine Michael Jackson at its creepiest.
Even when I compare it with that, I still think that you are not allowed to damage the person or property.
You are, however, allowed to not provide services for him – non-action, as it were.

In my opinion, the McDonalds employee should have requested the man to leave.
In that case, you might argue that he wanted a potential troublemaker gone.
But he didn’t, and as such, it is assault.

Looking at the picture, I can’t help but imagine the Google Glasses (Goggles?) project. Why would such a thing be against company policy?
At best, I can say that the employee would have had the right to demand that Steve stops recording (yes, he’d lose his eyesight by doing so).

Flag Post

Topic: General Gaming / A 2nd Chance for The Appalese Wall?

A response you made to someone’s comment:
Some of the levels are kind of randomized rushes of many different types of monsters (specifically, that’s Waves 11, 14, and 19), so restarting them would indeed give you a different pack of enemies – they shouldn’t be infinite, tho!

I haven’t gotten this far, but I worry about “randomization” here – is it possible to get a lower reward simply because you rolled an unlucky combination of monsters? Would I have to resort to savescumming to get the maximum amount of Honor?

Flag Post

Topic: General Gaming / A 2nd Chance for The Appalese Wall?

The game suffers from a form of downward spiral. I found this to make my point explainable: – once you are behind, it’s harder to catch up.
Here’s how it goes.
You miss an enemy on level 1. You miss out on a keystone because of this, so you replay the level.
This one enemy gives 150 honor (or so) the first time you do the level, and will now only give you 75. So that’s 150 honor you are behind other players.
Since you might have some keystones left at the start, you’d dump them for bonus Honor. Since 1 keystone was missing for this first miss, we are 1% honor down for level 1. That’s also 100 honor. Now these numbers are small.

I did not see I could spend keystones for extra honor until I had grinded every level available (the first 3) to 0. Because of this, I missed about 10k Honor from the first 3 levels. I could not beat the 4th level without having to resort to very risky tactics – to me, it seems someone who did have this 10k extra Honor wouldn’t have a problem with clearing this level. As a result, he can use his keystones for MORE honor. Level 4 has a base of roundabout 40k Honor, so that’s 1200 extra to start with, if not more.

All of this adds up. Allowing the replaying of levels only doubles the available Honor one can get.
Or wait, that’s not true.
Due to the way Honor is gained, once you start to get less that 1 Honor per enemy, you just get 0. So whereas you should get 5 for the level (since last run gave 10), you get 0.
I’m nitpicking about 5 points, but it gives me a sense of hopelessness.

It’s not possible to reset attributes.
With this, it’s possible to play your way into a dead end without even realizing so. And I hate those kinds of games.
When I think about “replaying levels for more XXX”, I think of games published by gamesinabottle.
Games like Balloon Invasion and Gemcraft.
They do this the other way around.
You can replay levels, and if you improve your score, you get more points and thus more XP.
Theoretically speaking: Whenever you gain an upgrade, you could replay ALL the levels to get progress towards the next upgrade.
It is not possible to get yourself stuck in this style – with the ability to reset your spent points, you can redistribute them to try and see whether a different combination allows you to score more points on a level – and if it does, you might just have even more points to move about to get even more points. It’s an upward spiral and whilst the power creep will eventually kick in, you can keep it away for quite a long time by simply expecting players to go back at least once to a level.

I suggest that you give a reward for completing a level. Even something like Level*100 honor would work. You keep the difficulty, but it will never be impossible to progress (perhaps just hard, since at 100 honor per minute, it’s gonna take a while to get new upgrades).
Either that, or include other ways to get an infinite amount of Honor – no matter what the pace.
You could even set the enemies to always give 1 Honor minimum, and/or stop reducing a level’s reward once it has reached 1% (Right now, it’s 100-50-25-12.5-6.25-3.125-1.5625-0.78125). Right now, after 7-9 replays, all rewards tend to stop.

Flag Post

Topic: Technical Support / City of Steam Beta link broken

the normal link is borked

Flag Post

Topic: Kongregate Multiplayer Games / [Dungeon Overlord] Suggestions thread

Originally posted by mattmann:

Something small, but I would like to be able to mute sounds while keeping music on.

Especially with the storage room guy sounding like a massive pervert.

heeurhhuhhh ehhhh…

heeurhhuhhh ehhhh…

heeurhhuhhh ehhhh…

It’s creeping me out to the point I’ve downrated the game.

Flag Post

Topic: Game Programming / Resetting Variables?? in AS3

When all that changes are the values of the variables, shouldn’t you be talking about instances instead of subclasses?

Flag Post

Topic: Kongregate Multiplayer Games / [Platoonz] Help Antic Fix Bugs!

You can click a boss to attack them during their animation. However, if they die during this animation, the boss will revive and you will be unable to target it – you’ll be STUCK.

Flag Post

Topic: Kongregate / How to cancel Kong's payout to Paypal?

Recently, something happened to my paypal account.
Well, technically, it’s my mother’s, but w/e.
Money goes from Kongregate to Paypal in USD… where it is used for things like buying games online for me or my brother. I get payment from mom in euros for whatever amount was used from the paypal account.

The “something happened” is that 2300 euro was withdrawn by Paypal. Presumably, the account got hacked or something (mom + internet, we can see where that goes).

Now, how do I stop Kongregate from sending any payments to my paypal?

Flag Post

Topic: Game Design / [Feedback] Tribulation - A Fast Paced Zombie Game

Tried so hard, yet crashed and burned.
The sound of the gun is off, ruining the whole experience.
The breathing noises are cool… if this were a horror game. This is more survival. There’s no fear here, just adrenaline.
There’s gone a lot into that level system…
I find it boring.There are some options, but the structure of the tree doesn’t allow for real customization. In the end, you’re gonna have to get the entire other tree just so you can reach the next level of the thing you want. Seems silly.
GameBuilder made that red planet game. Its art style is kinda lame. Yet it had more gameplay value than this did.

When this game eventually buckles under the load of the enemies, it dies a stupid death. The player is killed due to lack of processing power – one of the most sour defeats ever (not as bad as a blackout/monitor failure, but it’s in the same region).

EDIT: THAT’S the final gun? Are you kidding me?
And level 15 = OP

After even more play, my conclusion:
- No goal
- No progression of any sort of made up goal (everything is only getting worse)
- You can only be healed by not moving, yet if you don’t move you will die (this is good… yet bad since the other elements don’t contrast but conflict).
- If they were to contrast, you could heal by being skillful, quickly dispatching your enemies.
- But they conflict – enemies are everywhere and you are just outgunned at the end.

On my second run, I died 0.1 seconds after reaching level 16.

The worst part is that YOU KNEW, man. YOU KNEW all of this was lacking (you’ve listed these things as “to be fixed”)…
Yet you made not enough effort to fix these issues.
The game remains:
- Laggy
- Low skill
- Without a goal
- Without progression
- =
- Without motivation to keep playing. 3/10 – Nice at start (4 min or so), but once you try to actively engage with the game, it all falls apart.

I think the quote on the main menu says all.
It’s not a game. It’s a combat demo of a larger game.

Flag Post

Topic: Game Programming / A C++ game I made in 3.5 hours.

Also lacking many, many input checks. Just buy the best ship there is, the game doesn’t care about you having enough money.

There is really no depth about this game since the player is told NOTHING about stats. Also nothing about combat. So either they lose or win by some arbitrary connection.
You spent most time on a shop. Game seems made from developer’s POV (lets add features) instead of players POV (lets add fun).

I remember my first “game” was GuessTheNumber in Pascal (with higher and lower help).
v1.1 had playtime stats.
Then I made a textbased game, which was simply a loop where you attack and then the monster attacks…
Where you can choose 1/2/3 for a more safe approach (3-5 damage) or a more gambling approach (1-9 damage).
Once I had that core feature down, I started adding stuff around it.

Flag Post

Topic: Game Programming / AS3 or AS2

Back when I wanted to convert my pascal game into flash, I wanted to do so quickly.
So what I did was watch a video where someone used the IDE I was gonna use to code some basic thing so I could see where all the buttons where and what keywords I should be googling for…

And then I just googled what I needed.
All the text besides the code was irrelevant until I had seen the code. Cause there’s so much crap on the internet (like here) that is basically a meta discussion and not what I needed at the time.
Copy-pasta woo my button works.
I fiddled around with it to see how it actually works.

When you have been programming before, all these tutorials are annoying crap. I know how to program, thanks. I just don’t know what the syntax for an if statement is in your language. So if you could please tell me, that would be great.
That’s why I, personally, would close anything lengthy.

These days, when I have to look something up, I look things up in 2 styles. One of them is “I want to remember how to use X”, which is usually looking up syntax (Interfaces work how?). The other one is “I want to learn how to use X”, which is usually looking up features (How do I save a shared object to a specific path?). When looking for syntax, I don’t care for page long tutorials. When looking for features, I look for page long tutorials because I want to prevent falling in a stupid trap because the default settings are not compatible with situation Y.

The difference that is being advocated here on this thread is learning by “book”, or learning by problem.
Learning by problem is “I want to make button” → Google → Copy Pasta → “Yay it works so that’s how to make button”. These people want to make a game, but struggle to do so.
Learning by book is “I want to learn making games with flash” → Google → Read a lot → Try something out. These people want to learn how to make games, and will try to understand what’s going on.

The only people willing to read a lengthy tutorial on the use of variables is the second group. The first group says “well idk, maybe some other link works better”.

If you would place both tutorials in front of average people (beginners), and ask them to rate it for usefulness, I think that the lengthy, detailed tutorial will get a lower score. Probably the most general response for the lengthy tutorial would be “well, yeah, I suppose it’s useful, but not for me”.

If your tutorials were games, you’ld be looking at low play counts because people don’t want to read 5 pages of instructions before starting to play.
This is important. Very important. Everywhere on the internet, the style of content delivery is changing to “right now”.
People whine about 15 second advertisements on games. People whine about 5 second page loadtimes.
People want their content 5 minutes ago.

Should these lazy people be catered? Personally, I’d say yes. Not to teach them to make games, but to help them see how making a game goes. Once these people are hooked, they’ll read more. 5 pages before the usage of variables is too much. 5 pages before the usage of the Strategy pattern doesn’t sound like too much (but good luck filling them, I guess).

The first run of making games should be done with supporting advice. Don’t tell people they are going at it the wrong way – tell them how to solve their problems.
An example:
Here’s Bob. Bob wants to make a 2D mining game. He’s a huge fan of motherload (from xgenstudios) and thinks a 2-player version would be totally awesome, since it’s either him or his friend playing, and if they could play splitscreen, that would be just awesome.

So Bob wants to know a couple things. How to make the miner move, how to make the level, etc. I personally can see a million things going wrong already – 2D Mining game as a first game… gonna be hard.
Bob likes playing games on Kongregate, and Kongregate has some sort of programming forum. So lets make a post.

“Hey guys I want to make a mining game what do I need”
Hi My name is Bob and I like motherload and i want to make a game like motherload but for 2 players
my dad has adobe CS5 so i asked him if I could install flash and he said yes so i installed adobe cs5 flash

my friend says he knows how to program in ass2 or whatever that is but he lost his copy of flash so we’re gonna make it on my pc
what else do I need for making a game like this
end post.

I imagine that the amount of hate posts dumped on this thread would be enormous.
First off would be “Make a smaller game”.
Next up is “Use AS3.”
Then comes the legal advice, “Don’t copy motherload it’s illegal”
followed up by the suggestion to change IDE’s so the friend can program on his pc aswell “Use flashdevelop you can get it here”.

Now, depending on his friend, this thing fails or succeeds. But if Bob were on his own, this would be a failure. Whilst all the advice offered is helpful, it’s not helping Bob.
What would help him was asking him to write out his idea, and once he had done that, explaining what he would have to make for each of the things. Then you can stick a nice warning sign at the end of the list “This is a lot, so if you’re not sure about this I don’t suggest doing it”.
Then sort the list on what is easy to make and what is hard to make. That way, Bob will have a consistent feeling of progress. For each of these things, he can google. You can hide away the hard stuff with “once you’ve made all this come back and show us”.

Now I don’t claim to know it all here. I also don’t claim that Bob will be able to make his game – it’s gonna be very likely that he won’t be. It’s too big. What you can do is help him experience programming and making games. Do this on a large scale, and you’ll see that some people will meet their goals.

The second run, after someone has made a game, can be used for telling them how to properly make a game. They know it was hard, they had problems and stuff, and what you’re gonna tell them will solve those problems. They want to listen because when you’re talking about a cure for their problems it’s interesting to them. On the first run, they didn’t know that the problems exist and would most likely have ignored the advice.

I spent 90 mins writing this… dumping it now.

Flag Post

Topic: Game Programming / AS3 or AS2

Originally posted by saybox:

Start writing tutorials that cover things as a new programmer wants to approach them and you’ll see more people wanting to switch to AS3.

What about people switching from AS2 to AS3…
Is there a way to write AS2 code in such a manner that it will work in AS3? It’s far easier to switch languages if conversion isn’t as hard.
Of course, anything relying on flash is mostly dead, but what about data structures and manipulation on that data structure? (I haven’t programmed in either of those in a while…)

Flag Post

Topic: Anti-Idle: The Game / Suggestions!

I’ld like Tukkun to use if he uses .PNG images in-game. This tool compresses them by 10-15% and should reduce filesize of both his development directory as the game.

Flag Post

Topic: Game Programming / Speed question - float vs fixed-point/int arithmetic

Originally posted by truefire:

Take a look at screenie. That’s in flash.

EDIT: Fixed.

Flag Post

Topic: Game Programming / accessing functions of another .as from another .as file

I wonder.
It doesn’t seem so though, I’ld say Skyboy’s version would be faster…
I mean, in terms of logic, you would skip all the crap and directly move on with continue (one single goto or jump) whereas the !monster.isShadow would have you invert a boolean and THEN neglect that if statement (double jump, once for if statement and once for for loop).
But I could be wrong.

Flag Post

Topic: Game Programming / accessing functions of another .as from another .as file

Here’s the thing.
We (or atleast, I do) do enjoy a good puzzle – some programming related problem to occupy us for, say, 5 to 10 minutes.
You are going to need more help later on. I can tell, because you’re having issues with this, AND you posted a new topic just a while ago.
Most of us here, that is, the regulars, have programmed way larger things than you have. We’re talking about projects of 50k lines, easily. And otherwise they did multiple smaller projects.
Now, each of your “hacks” here, adds complexity. The normal solution does so too, but only as a feature: “This monster cannot be hit when he is in shadow mode.” You turned it into “This monster can not be hit when he is in shadow mode because his hitbox moves when he is in shadow mode”, which is more complex.
Combine it with some horrible form of indentation or forum formatting, and the problem looks too complex – we’d ignore it.
If you want help, you’ll have to help us help you.

Flag Post

Topic: Game Programming / Stop hitTesting yourself, Stop hitTesting yourself...

Use this

Flag Post

Topic: Game Programming / accessing functions of another .as from another .as file

Those are not fixes, those are “hacks”.

Please take proper care of your code, thank you.
(I have to work on a 3D-engine for school where the assignment is to improve something about it. The improved 3D-engine is then reused for next semester. Some parts of this thing have been murdered so badly I want to gouge my eyes out – specifically, Lua keeps spouting errors in my face because someone felt the engine needed scripting.)

You should implement Draco’s suggestion.
There’s a reason for why his solution is better than yours – for instance, try multiplying, duplicating or stretching things. Which version is more likely to be bug-free when it’s applied on a larger scale (what would happen if your game’s stage was 2000 px wide?)

Flag Post

Topic: General Gaming / The Elder Scrolls V: Skyrim Pics

This gets me everytime, but…

“Console not available on console”

Wait, what?