What does this mean for me? You will always be able to play your favorite games on Kongregate. However, certain site features may suddenly stop working and leave you with a severely degraded experience.
What should I do? We strongly urge all our users to upgrade to modern browsers for a better experience and improved security.
We suggest you install the latest version of one of these browsers:
On this thread, write about some bugs in your games.
I was making a TD for a game jam in ten days, that was exactly the same time as last GiTD. It went really bad. There were three problems. Ugly graphics, bad leveldesign and bugs.
Some of the bugs:
DIV BY ZERO:
When shooting at point-blank range, sometimes, the tower eould divide by zero because of a bugged Vec2.normalize(). The bug was fixed immediantly.
When there were more creeps than towers, there was a race condition that caused an infinite loop when assigning targets to towers.
When an enemy escaped from the maze, the game would crash. It was because the index was overflowing the pathnode stack. The bug was fixed one hour before deadline, however, the fix introduced another bug.
The AI bug:
When the path nodes move, everyone throws himself againist the ground and attempts to dig down. It is caused by assigning everyone to the start node, that is deep undergorund. I don’t know why does it assing everyone to it.
Collision detection bug: Sometimes, the collision detetion algorithm bugged with rigid bodies, getting them stuck inside walls, with soft bodies, it worked correctly, fixed right after deadline.
Ugly texture bug: Because the textures are generated procedurally just in time, even this is bugged. The bug was caused by calling the generateTexture(avg,o,eps) with a string avg argument. Fixed after deadline.
Collision resolution bug: Creeps crashing into walls were getting healed instead of damaged. Fixed one hour before deadline.
Bubblesort: For some reason, somehow it got to the gcost() function called by the AI. Unfixed as of yet, but given a high priority. Sometimes, it makes the game hang for a second.
That very poor and buggy quick demo I have uploaded on my profile…. Before we fixed the biggest bugs (take in mind, this was one of my first projects xD) we called it Spidey Block at some point, because you literally could climb everything… now you can only climb the right walls xD
I had an achievement that would cause collisions with the player (and could easily kill them) when the game was running. It was hard to debug because locally I hadn’t achieved that achievement, so the graphic (with had the same class as enemy\_bullet) was never added to the stage.
My biggest fuck-ups often come from timer/delay variables, and forgetting to reset them. So I’ll either have something that shoots once and never again, or something that waits…waits…waits…and then shoots something on every frame, which murders both the framerate and the unfortunate player.
The most amusing bug I’ve encountered though was one with multi-phase enemies (bosses) who, upon reaching their last phase and being defeated, were supposed to drop twice as much loot as in the previous phases. Unfortunately, the boss in question wasn’t ever actually dying, but instead, would keep reseting his last phase and would vomit up twice as much loot each time. It eventually lead to [a giant loot cube](http://i.imgur.com/dwyNd.png). Turned out to be a simple case of `if (a = b)` instead of `if (a == b)`. Oops…yeah I’m prone to stupid noob mistakes like that, at least that was the case back in my AS2 days.
> *Originally posted by **[Aesica](/forums/4/topics/313897?page=1#posts-6623588):***
> Turned out to be a simple case of `if (a = b)` instead of `if (a == b)`.
And people ask why that’s a valid statement if it causes such things.
(Alas, but `if (a = b)` has valid and legitimate uses)
> *Originally posted by **[Draco18s](/forums/4/topics/313897?page=1#posts-6623803):***
> > *Originally posted by **[Aesica](/forums/4/topics/313897?page=1#posts-6623588):***
> > Turned out to be a simple case of `if (a = b)` instead of `if (a == b)`.
> And people ask why that’s a valid statement if it causes such things.
> (Alas, but `if (a = b)` has valid and legitimate uses)
I use that all the time! Two lines are for amateurs.
I made a 2.5D platformer and on one of the levels, I messed up the Z-axis calculations, and made the character come flying towards you unlimittedly and really fast, so you ended up really far away from the level and still have to finish it. Easy fix though.
Once, I was making a TD and Flash decided that it would not display any text in the text boxes. This bugged me to no end, until I tried changing the font, and somehow that fixed it. To this day, I still don’t know what happened, so I put it down to one of Flash’s spas attacks.
`embedFonts = true;` probably :D
* * *
Best bug I’ve had is zombie speed was set to 2.0 when I compiled and released instead of 0.2 … Ooops. The zombie teleported on top of the player on level 6 when it first appeared and killed the player almost instantly. So much for trying to get quality beta testing feedback.
> *Originally posted by **[UnknownGuardian](/forums/4/topics/313897?page=1#posts-6629321):***
> `embedFonts = true;` probably :D
> * * *I was using a non system font, that I had not embedded (Arial, for example). Things were working, the output warning me to embed it did appear, but the font displayed. Then, nothing was showing up. Changed font to \_sans, then back to original, and it started working.
Make of that what you will… (These were text boxes which I had placed on stage by hand, not by code, if that makes a difference)
Also, in the same TD, my enemies were moved with simple trig (speed\*cos/sin~Math.atan2(e.y-t.y,e.x-t.x)). But if their speed was too fast, they would move past the target point, turn around to go back, overshoot it again, turn, overshoot…etc. This gave the odd appearance that they were flashing back and forth, reflecting across the point. As I wasn’t able, at that time, to easily fix it, I reduced all of the enemies’ speeds and upped the frame rate.
Here’s a recent one, not so much a funny bug as a funny fix. I was trying to change the font color of a TextField subclass over time based on other stuff happening or not, but the font wouldn’t change color, because the text itself wasn’t being updated. The fix?
this.text = this.text;