The First Ever Wayward Fanfic?

Written by blacklight

After three days of harvesting food, wood, and rock, I’ve finally gained enough supplies to venture by a makeshift boat. I push out to sea, beating back the sharks as I ran and dove in. I blacked out to find myself at another island much like the one I left. But wait… the inhabitants of this land seem much more hostile… Imps… Imps everywhere. I run to the nearest forest knowing that I can only hope to hide from the monsters in the great number that they are hunting me in.

I must quickly gather the supplies for a new boat. This savage land has no sandstone, the last ingredient I need to create my kiln. I will soon die without fresh water. These thistle seeds will keep me going for another day or two, but after that…Well, I hope it doesn’t come to that. I hit the tree with my fists again and again in a blind rage. “WHY. WON’T. YOU. DROP. BRANCHES?” I collapse in a ball sobbing and screaming my god or any being that might hear “Damn you Vaughn. DAAAMN YOUUUUU.”

A day and a night pass while I wail away at the nearby trees. The local monsters are getting bolder each night. First came the rats, and a sentient blob of slime. Too stupid to realize that a spear would make short work of them. Living nightmares come next, skin dripping from their faces. Faces that strike a chord somewhere in the recesses of my mind. I know these men must be my shipmates. I swiftly put them out of their misery with a couple of sick wet chops of my axe.

The bark of the trees of this isle is tough and thick, but flexible, I’ve tied it around my arms and legs and it protects me from these sad demons and their groans of despair. The sun is up again… The damn blistering sun is drying out my leather. A piece cracks and I clumsily destroy some materials. Luckily an inquisitive bear volunteers its hide as a replacement. My boat is complete and I’m ready to escape again. But what fresh hell awaits me on my new island? Or will I just sail endlessly for days until I’m too weak to fend off the assault of the abhorrent sea creatures?

I float in to a new island as dawn breaks. The bleeding seems to have stopped… I look for a nearby cove to take shelter in, maybe if I find some string I can sew these wounds shut. I find a dark stony corner mostly surrounded by trees. I roll out my makeshift leaf blanket hoping that some rest will make my head stop swimming. I dream of a town, my town, and my family waiting for me sitting on a chair by the fire. I can feel feet on fire. A red slime is covering them, I try to fight it off but am too weak. A terrified squeal is all I can release “No, not like this… Not like this”.

YOU ARE DEAD!

Subreddit & IRC, Why Not?

Got a couple requests to make a Subreddit, so, it’s now a thing – introducing the Wayward Subreddit. Not much there yet, but might be a cool place for some more interactive discussions.

Also new to the discussion front is the Wayward IRC channel (#wayward on freenode.net) – started by nefD. Again, not much going on there currently, but just another way to “hang out” with fans of Wayward. Don’t have an IRC client? Launch the web-based client (link will automatically go to the #wayward channel).

Want to subscribe to this blog to receive updates through RSS readers or email? We got you covered for that as well.

That’s all for now.

Wayward Alpha 1.4 Released!

It’s been a long time coming, but after some bug fixing via my team of testers and donators, I think I finally managed to squash them all. Some of the biggest things in this version is the re-introduction of caves, mouse movement, game saving, equipment qualities, past crafting log, and smarter AI. Oh ya, there’s like 40 new items! Those nasty performance issues have also been addressed. There is a huge number of other changes in this version as well, take a look at them in the changelog. I think in the future I will make the releases a bit more compact so I can push new content, much faster. Opinions?

This release also features a brand new track from Will Phillips.

Play it here:
http://www.unlok.ca/wayward/

Download the offline version (that may or may not have sound) here:
http://www.unlok.ca/wayward_alpha1.4.zip

A Better Offline Version

Recently, I have discovered an interesting project called Awesomium, a windowless browser framework based on the Chromium/WebKit engine (Chrome/Safari). This has finally lead to HTML5 game developers (a rare breed at the moment) to reach offline targets without developing their own wrapper. My offline version currently consists of supplying the raw source files and expecting the user to know to run the index.html – which just runs in their browser anyways, and due to security settings, some users don’t even experience the sound and music.

Hopefully coming up, I will have a real offline version that doesn’t run in your browser and isn’t dependent on having any browser at all. Unfortunately it’s a bit over my head still as there’s no examples out there to just run local resources in a wrapper and requires some C++/C/C# coding.

On Performance

Performance is getting to be a real issue here. I have chipped away at it each release by improving many different aspects of the code; however, the issue still lingers there – becoming more apparent the more you play Wayward. Could it be the monsters? Could it be the particles? Could it be the environmentals? All of these things do impact the performance, yes, but the performance is actually being hindered from another factor – the technologies that the game exists on itself. The slowdown (from what I have tested), is actually coming from drawing images (through HTML5’s drawImage) – all the different graphical elements on the screen: layered tiles, character, enemies, environmental, items, lighting, particles, text/item animations, etc.

Each movement we have to render a brand new screen – 13×13, 169 tiles. But not only 169 tiles, we have to loop this 13 times (since there’s 13 layers of tiles – some that overlap others). The looping surprisingly takes no time at all – the thing that takes the time is the drawImage functions being called 169 times per move. This doesn’t even include the other stuff I mentioned above like the monsters, lighting, and animations for example. I mention those three examples because these ones in particular take more resources than anything else. How could this be? Aside from HTML5’s drawImage not being the best for performance in it’s current state, if you want to do other more complex things like opacity (lighting/animations) or image mirroring (monsters), this can reduce performance up to 50% depending on the browser.

To put this in to perspective,

  • Want to draw a colored square 1000 times? Okay, cool, that will take a measly 6 milliseconds.
  • Want to draw a simple image 1000 times? Okay, well, that will cost you 19 milliseconds.
  • Oh you’re the fancy type? You want to draw an image with opacity 1000 times? Well, now we’re talking 40 milliseconds.

I suspect something else weird is going on here too aside from canvas specific performance. The performance degrades over time and garbage collection doesn’t seem to be firing in the correct instances. The CPU keeps going up and up. I understand some of these issues, and I can try to work on some of these issues about by buffering and pre-rendering certain things; however, pre-rendering isn’t the solution as different browsers have opposite results. Not only that, but pre-rendering will actually hurt me in a world with manipulative terrain. Right now I just have to re-draw the screen when I dig some dirt. Imagine regenerating that pre-rendering of an even larger portion.

So i’m kind of stuck here. If any technical HTML5 programming types happen to stumble upon this, I would love to hear your thoughts.

Wayward Alpha 1.3 Released

As always, you can play it at the normal place/link:
http://www.unlok.ca/wayward/

I code-named this release “Gameplay” because many of the changes were in effort to help aid game mechanics and an overall increase in fun/enjoyment. There’s quite a lot of tweaks and fixes in this release as well. Read them all, over on the Changelog.

New to this release is the ability to download an offline version. For some reason, even though I am making a browser-based game, people would still rather download it… then… run it in their browser anyways? Not sure about that one, haha. Download it here.

The biggest changes in this release is the re-introduction of procedural world generation, changes to the goal or “win” mechanic, monster spawn scaling (rather than monster difficulty scaling), and overall less grinding. As always, I’m already looking forward to the next release where we will see a huge amount of new items, recipes, and other content.

This release also features some amazing artwork from Dusty Melling. There’s a few of them to see for yourself in the game.

A Fond Farewell to the World Map

Coming up in Alpha 1.3, we will be departing with the much beloved, world map. It’s replacement is procedural generation. Unfortunately procedural generation won’t replace everything – that special designer’s touch will be missing, something that code can only attempt at imitating. Furthermore, in Alpha 1.3, caves and dungeons will be missed the most, as they won’t be here anymore. Although I plan to add them back in, in some form in Alpha 1.4 and beyond.

In memory:

A Fond Farewell to the World Map

No Screenshot Saturday/No Updates?

I know, what’s up with that?

Well, for this release, most of the stuff I am working on is back-end, tweaks and other fixes, so really, there’s not really all that much to show off visually. As for the updates: I have been doing weekly and sometimes daily updates via the changelog. If you want to be notified of anytime it is changed, just subscribe via your email at the bottom of the page.

As for a current update: I am trying to figure out what is causing slowdown on late-game (on some machines, on some browsers). Also known as, the most boring part of making a game.