Recent posts by dragon_of_celts on Kongregate

Flag Post

Topic: Game Programming / GiTD #45 *Creating Skeletal Wasps*

Well, damn it all… I go to compile, and FlashDevelop tells me it can’t find Air SDK. It seems that when I updated FlashDevelop, everything silently buggered up. Now I have to troubleshoot and fix, so I’ll miss the deadline…

That’s what I get for waiting so late to get started. The part of me that is overly optimistic (left pinky toenail) wants to think that I will learn my lesson.

Flag Post

Topic: Cardinal Quest 2 / Post Your Made Up Class Here!

Not sure how feasible this is, but I’ll put it out there anyway (using ghtwerjk’s layout)…

Name: Celt

Very high: [none]
High: Speed, Stealth
Medium: Attack, Faith
Low: HP, Intelligence
Very low: Defence

Starting Skills:

Absorbing Aura: Takes a turn to charge magical energy based on terrain. Recharge scales with faith.
Aura Shock: Short-range (2 spaces away or less) magic attack. Ignores armour. Status effects depend on aura’s charge (gained by using Absorbing Aura skill) — status effects always apply, even if no damage is dealt. Doesn’t miss. Must be charged via Absorbing Aura before each use.

Starting Items:

Weapon: dagger
Head: [none]
Body: skins (+ 1 def, + 1 stealth)
Gloves: [none]
Footwear: leather wraps (+ 1 speed, + 1 stealth)
Jewelry: [none]


Stealth is greatly reduced and speed somewhat reduced when any heavy weapon or armour is equipped (in addition to equipment stat augmentations). Crit chance is increased when wielding a dagger. Absorbing Aura’s cooldown is reduced when wielding a staff.

Skill Tree:

Absorbing Aura (skill x3) —> Animal Friends (passive) —> Ley Me Down (skill)

Precision (passive x3) —> Nature’s Veil (passive x3) —> War Dancer (passive x3)

Aura Shock (skill x4) —> Belief (passive x3)

Toughness (passive x-)

Absorbing Aura: Level 1: Charges magical energy based on terrain. Recharge scales with faith.
Level 2: Decrease cooldown. Status effects of Aura Shock last 2 turns longer.
Level 3: Decrease cooldown. Clears one random negative status effect (if any) from caster when cast.

Animal Friends: Chance to permanently charm an aware animal.

Ley Me Down (locked if War Dancer is chosen): Travel the ley lines (orthogonal-only teleport; recharge time scales with faith). If teleporting under an enemy and target location is adjacent to that enemy, attack (backstab if dagger is equipped; stun if staff or hammer is equipped)

Precision: Gain +1 attack per level

Nature’s Veil: Level 1: +1 attack, +1 stealth
Level 2: +1 speed, +1 stealth
Level 3: +1 def, +1 stealth
(ideally, these would only apply when on certain terrain such as grass or bushes)

War Dancer (locked if Ley Me Down is chosen): Level 1: Chance to dodge physical melee attacks.
Level 2: Chance to counter attack an adjacent melee attacker when hit.
Level 3: Double crit chance on counter attacks.

Aura Shock: Level 1: 2 damage. Status effects last 3 turns.
Level 2: Magic resistance of target is permanently decreased by 1 (stackable; can’t go below 0) after resistance reduces Shock’s damage. +1 range.
Level 3: Deals an additional 1 damage per 7 faith.
Level 4: If target is killed by Aura Shock, refresh Absorbing Aura. +1 range.

Belief: Gain +2 faith and +1 magic resistance per level.

Toughness: +2 HP per rank.


Will of Gaia: Gain extra morale for Aura Shock kills.
Familiar: Take heavy damage when a charmed animal dies; gain life when a charmed animal deals damage (portion of damage dealt, minimum of 1).
Mana Channeler: Effects of faith are doubled on certain terrain (e.g., grass), halved on others (e.g., pavement).
Wild Man: Chance for successful physical melee attacks to trigger another physical melee attack on a random adjacent enemy (can chain). Start with half faith.
Fey: Aura Shock can only target adjacent enemies (range stays at 1), but damage is doubled.


Druid: Start with a staff and cloak instead of a dagger and skins.
Beastly: Start with Animal Friends, but no weapon or shoes.
Just Trolling: Start with a heavy club instead of a dagger; gain double XP and morale for clubbing kills, no XP or morale for other kills.
Seer: Start with Gaia’s Eye pendant (sees living animals or humans regardless of sight line; +1 faith) and staff instead of dagger. Can only equip staffs.

Examples of Aura charges:
on bushes during absorption == Aura Shock’s target will receive [mild] poison
on rock during absorption == Aura Shock’s target’s def will be temporarily decreased
on snow during absorption == Aura Shock’s target will be temporarily slowed

Flag Post

Topic: Game Programming / GiTD #45 *Creating Skeletal Wasps*

I hope to have something done for this. I’m even attempting to integrate the 1-button mechanic (not entirely sure that’s a good idea, but I’m determined to try it). I’ve only just started, though…

Flag Post

Topic: Game Programming / GiTD #45 *Creating Skeletal Wasps*

Just to clarify (Shalmezad can correct me if I’m wrong):

The theme isn’t [necessarily] “creating skeletal wasps”, but “creating”, “skeletal”, and “wasps”; so your game could be, for example, wasps creating some skeletal thing, or wasps fighting skeletal creatures that are trying to create something, etc.

Not sure how much that helps…

Flag Post

Topic: Game Programming / How to access code in a main swf from a loaded external swf

Ah, yes. I didn’t notice that loaderGame wasn’t a local reference variable (for whatever reason).

Flag Post

Topic: Game Programming / How to access code in a main swf from a loaded external swf

Originally posted by runawaycode:

It seems the btn_exit isn’t in scope after I load the external swf, but I do have it in the swf and instance is properly named.

The loaded swf is a child of your movieClip instance, it doesn’t take its place (see mc_screen.addChild(loaderGame);), and therefore its btn_exit reference should be from that.

Instead of:

mc_screen.btn_exit.addEventListener(MouseEvent.MOUSE_UP, exitGame);


mc_screen.getChildAt(0).btn_exit.addEventListener(MouseEvent.MOUSE_UP, exitGame);

Note that this assumes nothing is added to your movieClip’s display list before the swf in question. You may want to have something more flexible to ensure you are referencing the correct object at any given time (such as the getChildByName function)…

Flag Post

Topic: Game Programming / GiTD #45 *Creating Skeletal Wasps*

In honour of the overwhelming response to this thread:
Adj.: Lonely
Noun: Crickets
Verb: Chirping
Game Mechanic: one-button play

Flag Post

Topic: Game Programming / Attention idle gme makers..

Well, if you aren’t bothered by the fact that an idle “game” isn’t actually a game, then you shouldn’t be bothered by an idle “game” having more to do than absolutely bugger all…

In any case, this would be much better suited in the Game Design forum.

Flag Post

Topic: Game Programming / Bitwise Operations

Originally posted by EndlessSporadic:

Can I test one number to see how many bits are the same as another number?
For example if I took the number 111 (7) and 101 (5) it would output 2 as bit 2^0 is 1 on both numbers and 2^2 is also the same.

Once again in a single operation, no. You would need to compare every bit and keep track yourself.

Bitwise AND (&) should do it.

var1: 00000111 (value 7)
var2: 00001101 (value 13)

result = var1 & var2; // bitwise AND
// result: 00000101 — matching bits

(I used 13 instead of 5 just so both numbers had bits to “mask out”; I thought it gave a more thorough example — the resulting value would be the same either way)

Edit: That will tell you which bits match, but it won’t tell you how many bits match. I think that’s what EndlessSporadic meant when he said you’d have to compare each bit and keep track. ActionScript doesn’t appear to have a way to save shifted off bits, so you’d need to mask all but the least significant bit (of the & result), test (increment counter if 1), right shift, and repeat until the entire int is evaluated:

var testmask:Number = 1  // to mask all but the least-significant bit
var testcounter:int = 32;   // number of bits to test (number of bits in an int) 
var matchcount:int = 0;
  var bittester:int = result & testmask;
  if (bittester > 0)
  result >>= 1;
} while (testcounter > 0);

…something like that…

Flag Post

Topic: Game Design / Some ideas for crafting/weapons

Obsidian was used for arrowheads by the indians, as it gives relatively easy (very) sharp edges and is light weight (I can’t recall now, though, whether the arrowheads were lighter or heavier than similarly-sized bone arrowheads). It may have been used for some other weapons in other cultures, but as far as I understood the indians mostly just used it for arrowheads. I’m not certain, but I think that is probably because large pieces would tend to shatter, so using it as a [hunting] knife (for example) would be risky. Might want to research that a bit…

Shaping rock is difficult, particularly without metal tools. Some rocks produce better edges than others, but most rocks are very heavy. Bone, on the other hand, is light, many times already shaped for weapon use (fangs, horns, claws, some ribs), and light. A club or hammer would definitely prefer rock (or a tomahawk), whereas a fast attack weapon (such as a dagger(-ish)) would likely prefer bone (or just wood, if it is hard enough).

Sinew could be used for bow strings (or plant fibre), affixing heads onto spears (or leather) — assuming the spears have separate heads (fire-hardened wood was also used), or the feathers onto arrows or blowdarts.

Originally posted by ArcStudios:

And I might funnel the player into being increasingly more powerful and only concentrating on gathering resources for newer weapons by providing player with a “spirit” version of each weapon that cannot be lost or destroyed or run out of ammo as they play the game.

Well, unless the player is going to need excessive amounts of materials, or the materials are hard to get, I’m not sure that this won’t be detrimental to having a crafting system. Having materials drop all over the place but only be useful on rare occasions actually feels worse than scrounging for materials (to me, anyway). Keep in mind you’re only talking about 5 different weapons (six if you include some kind of dagger, and 8 if you include ammo) — though all of them could have different versions, as you say. Others can weigh in on this, hopefully, and tell you if they feel the same.

Flag Post

Topic: Game Design / Some ideas for crafting/weapons

OK, so original posts were changed/deleted while I was responding. Now my response seems kind of weird…

Things other than rocks and sticks to collect:
Bone. Obsidian (volcanic glass formed as igneous rock, so I don’t know if you included this with “rocks”). Some form of vines, grass, or sinew for binding or bow strings, perhaps?

Originally posted by ArcStudios:

Things like leather or any materials that you wouldn’t just pick up off the ground would require me to add ways to process those items, which I don’t feel fits my design very well.

Well, considering that rocks and sticks are extremely unlikely to be picked up off the ground in a form immediately usable for weaponry, I don’t really see much of a difference. Kill an animal, get leather and/or bone. Or, if you don’t like that, maybe have a village/“shop” to transform collected animals to leather?

More complex and better items could be blocked until player has crafted enough of a particular type of item (gained enough skill at crafting).

I don’t know if those were the type of suggestions you were looking for…

Flag Post

Topic: Game Programming / AS3 help - removeChild of a different class

Anything that is a descendant of DisplayObject, which includes the ToolBar class, has a property called visible, which you can set to true or false. As you can probably imagine, setting it to false will make it not show up on screen.

Flag Post

Topic: Game Programming / AS3: Syntax error

Originally posted by player_03:
Originally posted by dragon_of_celts:

There’s no such thing as “!==”

That’s the strict inequality operator.

Oh, yes. Thanks, I stand corrected. Now that you mention it, I vaguely recall that popping up some time ago (and obviously I forgot).

Flag Post

Topic: Game Programming / AS3: Syntax error

There’s no such thing as “!==”; it is either “!=” or “==” (for “is not equal to” or “is equal to” comparison, respectively) — though as revenant___ says, it doesn’t make any sense for it to be “!=”, because it will always evaluate to true (unless you change the || to &&).

Originally posted by darkjonas8:

Im still having problems with the

if (level1data[j] !== 1){
part, i want to check what collumn a specific element is (the element at [i][j]), how would i do that?

Wait, so it’s a double-array?
To check the contents of a double-array (assuming you’re checking for “does not contain the value 1”, and that you have set the ints i and j to the correct indeces):

if (level1data[i][j] != 1)
  // do whatever

Please note that your subsequent checks for “not 0 or 2” should also follow the same form.

I also assume that the level1data double-array contains simple numeric values, correct (you aren’t attempting to access a property of an object contained inside the double-array)?

Flag Post

Topic: Game Programming / GiTD Timing

I probably won’t be around for theme selection at the end of November, but other than that its OK…

Flag Post

Topic: Game Programming / GiTD #44 - *Contrats I_love_you_lots/dragon_of_celt s*

I_love_you_lots and dragon_of_celts are neck-and-neck! Who will win the prestigious GiTD #44 contest? Everyone’s so excited they forgot to vote!

Originally posted by Shalmezad:

Voting ends October 4th at 9PM EST (later than previously announced due to a major US holiday and start of school for some people)

Uh… What major US holiday? The only “major” holiday in October I can think of off the top of my head is Halloween (which isn’t really “major” in my book, but the potential for time-consuming holiday shenanigans is fairly high, so I guess it’s “major” in that respect — but it’s at the end of the month, so it doesn’t really factor in). I even Googled “October holidays”, but didn’t get anything noteworthy.

Flag Post

Topic: Game Programming / [Solved] Serialization sucks - HALP!

Take a look at the comment and answer at the bottom of this page, regarding using IExternalizable to circumvent object serialization problems. Not sure if it will help you, but might be worth a try.

Just out of curiosity, do you serialize multi-dimensional Vectors anywhere else (ChapterData has aRegionData double-Vector)?

Flag Post

Topic: Game Programming / GiTD #44 - *Contrats I_love_you_lots/dragon_of_celt s*

Well, my first- and second-place votes go to I_love_you_lots. ;)

Just as a pre-emptive comment:
Cat Jihad
Sacred – well, they are supposed to be sacred stones that you’re protecting; but you can call anything “sacred”, so it’s kind of weak.
Territory – you’re protecting your territory, I suppose, but that’s even weaker than the excuse for “sacred”.
Helping – You can heal your allies (and if they moved, they could heal you, too) and empower the shrines, so maybe it qualifies.
Turn-based – complete fail

So overall adherence to the theme is abysmally low (in my defense, the original game I was working on actually met all of the above — though “sacred” would be unchanged).

Known issues:
No proper end (needs refresh)
Pushing not implemented (and no pits to push into)
Allies don’t do anything
No HP or XP indicators
Allies not repositioned after selection phase, so Brute is under the blank HUD

Flag Post

Topic: Game Programming / GiTD #44 Theme Suggestions

Originally posted by Shalmezad:
Originally posted by dragon_of_celts:

Cat Jihad

Right as I was typing the finale post.

Well, since you caught me before I clicked submit:

That concludes GiTD #44. Voting thread will be up shortly.

Fast SWF didn’t seem to want to let me upload it for some reason. It took me something like 6 or 7 tries.

Wow. Only two entries… and one being my pathetic crippled one. Well, I guess expanding the theme didn’t do much to help participation… or anything, really.

Flag Post

Topic: Game Programming / GiTD #44 Theme Suggestions

OK, so this isn’t at all what I was originally working on, and it’s nowhere near complete, but…:

Cat Jihad

I was working on a game heavily influenced by Monster Tap, which satisfied all of the theme elements (including being turn-based). Had a bit of a problem that I didn’t think I could take care of in time, so I scrambled to make Cat Jihad…

Pushing doesn’t work yet, and there’s only one enemy: the Rountwit… and your allies don’t do anything right now.

Click to move (when selected cat-thing is ready). You’ll do more damage if you bump into Rountwits when in attack mode (you go into attack mode when you click on or near a Rountwit). You’re supposed to protect the shrine stones from them… After killing some enemies, you can (theoretically) transfer some XP to a shrine stone by touching it. Once enough XP is transferred, the shrine stone will become warm. When the enemies touch the shrine stones, they drain warmth. If they get very cold (dark), it will take twice as much XP to warm them. If you can get a shrine stone to critical mass, it will light up, and any XP you have when touching it will go toward leveling you up and increasing your stats. Unfortunately, I didn’t get around to XP and HP indicators, so you’re playing blind.

If the allies were functional, you could heal them when they are wounded and vice-versa. Once you’re all knocked out, it’s over (well, not really, as it doesn’t check for that yet).

Flag Post

Topic: Game Programming / GiTD #44 Theme Suggestions

Originally posted by I_love_you_lots:

Am I the only one working on an entry?

I am working on one. I hope it will be ready in time (at least a simple version). One day left, but a lot left to do…

Flag Post

Topic: The Gate / new event, extended waves

You aren’t getting extra waves at all — the wave counter gets messed up some times. It’s been happening to me for ages.

Flag Post

Topic: Game Programming / GiTD #44 Theme Suggestions

Originally posted by dragon_of_celts:

Italicized items have been changed by me (to reflect current contest), and are subject to change by Shalmezad.

Originally posted by Shalmezad:

There’s 3 phases (write down these dates):
Theme selection: Now – September 21st
GiTD #44: September 21st at 9PM EST to September 31st at 9PM EST
Voting: September 31st – October 2nd 9PM EST
Winners announced: October 2nd 9PM EST

I just realized that I didn’t take into account that there are only 30 days in September, so contest end date should actually be October 1st, with voting from the 1st to the 3rd.

Flag Post

Topic: Game Programming / [Solved] Input text field acts weird when not put on stage.

I don’t know if this will help at all, but I was having difficulty with TextField cutting off text, and specifically setting it’s autoSize property fixed it (the default is TextFieldAutoSize.NONE, so set it to LEFT, RIGHT, or CENTER).

Here’s Adobe’s page on scrolling text in TextField — I didn’t read through it, but it looks like you have to “roll your own”…

Flag Post

Topic: Game Programming / GiTD #44 Theme Suggestions

Originally posted by I_love_you_lots:
Originally posted by Shalmezad:

Game Mechanic: “It’s like standing in the rain without getting wet”


…that’s not a game mechanic!

Isn’t it the equivalent of writing “bullet hell”? Alternatively, it could be a repellant or shielding force…