DEV Community

Cover image for enchantedForest [6]
Kevin Hsu for enchantedForest

Posted on


enchantedForest [6]

Alt Text

After a 3.5-hour conference call of intense programming (dubbed war council by yours truly), the enchantedForest now has proper background images (the ones posted here were drawn by me) AND plot-relevant dialogue written by Alek. Although it is debatable whether the in-game dialogue is canon to our 20,000-word WIP story. Or maybe the game is canon and our novel with a 20k word-count is fanfic. It's open to the reader's interpretation I guess. Anyway, in those 3.5 hours, we accomplished A Great Deal of Thingamabobs, as Alek would say.

There were many mentions of using "very hacky methods" and terrifying the crap out of each other, an intro message with code taken from the questBanner functions, and implementation of coin caps cuz you can't possibly carry that many coins (no we don't talk about credit cards here). We also came to the realization that the mobs weren't actually reading from the stats JSON and fixed that.

One issue we encountered was that the players could kill the mobs in the room BEFORE receiving the quest from an NPC, and completing that quest is the requirement for accessing the portal to exit the tutorial room. Some ideas we came up with include:

  • Player does 0 damage before talking to the npc
  • Cancelling attack keys
  • Temporarily replacing the player.projectiles array with a -1, causing a trivial error whenever the game tries to insert a fireball object into player.projectiles

    (^ the last idea is absolutely horrible I'm so proud of myself for coming up with that)

In the end we implemented two solutions. Alek disabled the attack keys prior to the acceptance of the tutorial quest, while I made the server grant the admin account a completed quest list that included "tutorial" on player spawn (this is to allow more convenient testing).

Notable dialogue during the war council:

Alek: no actually making the if statement check for typeof strings won't wor-
Kevin: try catch
Alek: ...
Alek: fine but only this one time
Kevin: only this one time huh. Oh wait you had another try catch statement in that line there
Alek: that's not me I did NOT write that
Kevin: oh... in that case i am so, so sorry *laughs guiltily*

*me while writing the try-catch statement*: i am just indulging in ALL the bad practices today yeaaaahhhhhhhh

Alek: wait no restart the server
Kevin: *restarts the server*
Alek: log the output from the developer console
Kevin: *logs output from the developer console*
Alek: now restart it again
Kevin: okay now you're just in denial *restarts again without changing anything*
Alek: did you type the variable correctly?
Kevin: you know what? to satisfy your paranoia i'm even going to open this up in incognito mode and cycle through the whole process again
Alek: at this point I'm just desperate

me freaking out over another bug and realizing:
"huh its my turn to be in denial now isn't it"

Kevin: at our current rate of committing stupid things we're going to end up with about a thousand commits on the repo
Alek: i'm fine with that honestly

Alek: *pushes to master without testing his changes*
Kevin: did you actually just do that

And yes, the war council thing is a reference to Madoc from The Cruel Prince.

Lastly, here is a gorgeous screenshot of a bug I accidentally created:
Alt Text

Thanks for hanging out with us~
- Kevin

Top comments (1)

awestover profile image
Alek Westover

work of art