Devlog #16: The Bugs are Fixed… I Think

Well, the good news is that this works!

Volund - 2D MMORPG

I finally managed to fix pulling across map borders. You still aren’t moving your target… But at least you are not longer getting stuck.

I still had a host of small bugs to fix today, this being one of them:

Volund - 2D MMORPG

Fortunately, I managed to get most of the bugs fixed. The last remaining glitch is causing you to be unable to enter “pulling mode”… But it’s so difficult to replicate that I can safely leave it alone for right now.

I also redesigned part of the movement system.

Volund - 2D MMORPG

Previously, the UI was using polling to issue move and change direction commands to the logic layer. This code really did not need to be running at 60Hz.

I redesigned the code to issue those two commands based on different events. For example, the move command will now be issued when the “I want to move” event is raised, among others.

Devlog #15: Pulling is Buggy

The Pulling Mechanic

So, today I started work on the “pulling” mechanic. This mechanic allows you to pull other characters around the map.  Such a feature would be useful in combat, and would also aid in forcing characters out of choke points.

I decided to get it working in a simple situation first: Neither the target nor the grabber is moving. I expected this to take two hours, tops… I am currently well over 5 hours into this task. So much for simple!

I keep coming back to this, but one of the big reasons why adding new mechanics takes so long is the state of the code base. But, I am gradually redesigning it.

The Bugs

I don’t have much more to say on the subject. So, I’ll leave you with a sampling of the sort of bugs I had to fix today:

Volund - 2D MMORPG

Volund - 2D MMORPG

Volund - 2D MMORPG

Devlog #14: The World of Volund has been Mapped!

Grabbing Sprite

Today started off with a relatively easy task: Add in a “grabbing” sprite for when a character grabs on to another.

I started off with getting things setup to add the sprite to the character’s spritesheet. This went well, however I discovered something surprising: It was already there! Wishing I had noticed this sooner, I quickly moved on to adding in the simple logic for triggering the new sprite.

Bugs Fixed

two new bugs

I managed to squash three bugs today. Two of these bugs are currently present in v0.3.3.

  • When being grabbed by two other characters on opposite sides, it was impossible to escape.
  • Characters were jittering back and forth when attempting to move into a blocked tile on a northern map.
  • The character’s sprite wasn’t being set properly after grabbing another character. This bug was only present in development builds.

Badly Needed Refactoring

layers

I spent the rest of the day refactoring/redesigning the server’s movement code. A majority of this work involved moving methods out of the VolundServer god object and into separate classes.

The code was separated based on whether it handled synchronization or game logic. Currently I’m just throwing synchronization-related code into the PacketHandler class. Game logic code winds up in the GameLogic class, which is at least a bit better.

Community Report

Captain Argentina and Pema99 have mapped out the world of Volund! WARNING: These maps contain spoilers!

Later in the evening, Red Squirrel returned to his house to find…  A gigantic “R” spelled out in characters! Who could be behind this?

RedSquirrels House Invaded

Devlog #13: New Version and Lots of Fan Art

New Version

Volund - 2D MMORPG

Version 0.3.0 of Volund Prototype #1 was released earlier this morning. You can find out more here: http://www.ifthensoftware.net/volund-p1-0-3-0-released/

Name Tags

Due to popular request, “name” tags have been added at the last minute. The name is simply an incrementing number, but it allows you to identify each other while playing.

Fanart by SurvivorTuga:

Fanart by SurvivorTuga

The Caboose has been Found

I finally fixed the bug that was causing the third character in a dragging train to disappear! Apparently, the create character packets were being sent before all of the character’s state was set. This was causing the character to appear outside of your screen.

AoD’s Fan Comics

AoD, a regular on the livestream, has created several comics related to the game and the various bugs that we’ve been trying to fix. Enjoy!

Fanart by AoD:

Fanart by _DracoWyrm

Fanart by AoD:

Fanart by _DracoWyrm

Fanart by AoD:

Fanart by _DracoWyrm

These next two comics need some background information. So, I was in the middle of adding the name tag feature mentioned earlier. While doing this, things got a little…  Uhhh…  Crowded.  Here is a screenshot I took during the chaos:

And here are AoD’s comics related to this incident:

Fanart by AoD:

Fanart by _DracoWyrm

While testing the nametag feature, it was noticed that the spiders also had the “shouting” name tags. This gave both myself and the livestream viewers a rather creepy mental image…

Fanart by AoD:

Fanart by _DracoWyrm

Community Report

Territory lines are being drawn up. Armies are forming. The prototype lands of Volund are barely under control!

The two main factions vying for control are Survivor and RedSquirrel.

Survivor has claimed this land. He even seems to have spiders guarding it! How far does his control extend?

RedSquirrel claims the rock enclosed space south of the spawn point. (note: unfortunately, the image cannot be embedded at this time, sorry!)

The propaganda machines are running, and there is already a poster floating around in Survivor’s favor!

Fanart by SurvivorTuga:

Fanart by SurvivorTuga

A fight broke out in RedSquirrel’s house. Our camera crew was on the scene, but due to an unfortunate equipment malfunction the video is being withheld.  Investigations are ongoing as to whether or not Survivor was behind this.

Volund Prototype #1 v0.3.0 Released

Play Volund p1.0.3.0

Volund - 2D MMORPG

Version 0.3.0 of the first pre-production prototype for Volund has been released! You can try it out here: http://www.ifthensoftware.net/volund/

Changelog

  • You can grab another character by facing them and pressing space.
  • When you grab another character, you are dragged behind them when they try to move directly away.
  • Characters that are being grabbed run away at half their normal speed.
  • Fixed a server crash from version p1.0.2.0.

Known Bugs

  • Sometimes when being dragged across a map border, your client will crash/freeze.
  • If there are three characters grabbing in a row, and they are all dragged across a map border in either the north or south direction, the character in the back will vanish.

If you have any further information on these bugs, or if you have a new bug to report, please post it on the official bug reports forum located here: http://www.ifthensoftware.net/forums/forum/bug-reports/

Devlog #12: The Mystery of the Vanishing Caboose

It was a dark and stormy night…

No, not really. Although the morning certainly started off cold!

Bugs, Bugs, and um… Bugs

Today was full of bug fixing, which I expected going into it.  The day started off with implementing the final part of the “grabber dragged along” mechanic: Slowing the speed of the target’s movement.

Things were going quite well, until this happened:

Volund - 2D MMORPG

I spent most of the morning fixing this fun little bug, and part of my lunch break too! The problem wound up being related to storing the grabbing direction and the movement direction as two separate states.

Storing them separately wasn’t the problem, necessarily. However, the code that handles dragging the grabber behind his target was using the wrong one!

To recreate the problem, you had to first grab another character. Let’s say that you grab them while facing north, like in the animation above. You then press the down arrow key to “move” south. Because you are grabbing another character, you don’t move. But! Your character’s movement direction is still updated.  When the character you grabbed tries to move, you’ll be “dragged” in the direction you are “facing”… South!

The Internet Destroys Everything

The latter half of the day consisted of lag testing. This involved deploying to the staging site, and then seeing how badly latency would affect the new grabbing mechanics.

Sadly, it was pretty bad. One bug which I spent four hours solving was allowing characters to run right by grabbers. If there was enough lag, you could run right by another character who was trying to grab you.

This was being caused by some code in the server which would correctly grab the character, but then immediately cancel the grab! I added some additional checks, and the glitch seems to have been resolved.

The last bug I ran into, and the one which I didn’t manage to fix, is demonstrated here:

Volund - 2D MMORPG

If you have three characters, with two of them grabbing two others in a row, the last one in the chain will disappear when switching maps! I suspect the “caboose” is being teleported into the map’s border, but I have yet to prove that theory.

Volund Livestream for 2/19/2015 – 2D MMORPG Game Development

Volund Livestream - 2D MMORPG Game Development

Today’s game development livestream is starting at 8:30am PST! The livestream documents our work on Volund, the medieval fantasy 2D MMORPG.

Schedule

On today’s livestream, Mike will be finishing the “grabber dragged along” mechanic. The only thing that’s left to be done is reducing the movement speed of the grabbed character.

After that, the grabbing mechanics will be tested under normal networking conditions. What this means is that Jake and Mike will be testing the game on the private staging site. Up until now, the grabbing mechanics have only been tested on a local network, so things might break when testing over the internet.

There will be the usual break at 12:00pm PST, but we’ll return at 1:00pm and be streaming all the way till 5:00pm PST!

Devlog #11: Choo-Choo!

Uh… That Shouldn’t be Happening

So today started off with fixing a rather odd bug. You see, the- Uh… Well. This is easier shown than described:

Volund - 2D MMORPG

So. That was happening. Fortunately I managed to fix it (not without the help of the livestream viewers in the chat – thanks!)

The problem, like with most bugs, wound up being relatively simple: The character’s velocity was being incorrectly set after changing maps.

IfThen Software - Indie Game Developers

The real issue is that the server works with coordinates and velocity measured in tiles. The client, however, uses pixels. This is definitely on my “I need to refactor this” list.

All Aboard the Game Mechanic Train!

As you may know, I’ve been working on the “grabbing” feature. This breaks down into several mechanics, but here is the basic idea: You can “grab” another character and push them/pull them out of the way, or hold them in one spot. Very useful in combat.

One of the mechanics is that if the character you are grabbing tries to move, they pull you along with them. This will eventually result in slower movement speed, but that is still being worked on.

At the request of the livestream viewers, I tried grabbing the character which was grabbing the other character, and then moving… Thus was born The Train! Choo choo!

Volund - 2D MMORPG

Volund Livestream for 2/18/2015 – 2D MMORPG Game Development

Volund Livestream - 2D MMORPG Game Development

Today’s game development livestream is starting at 8:30am PST! The livestream documents our work on Volund, the medieval fantasy 2D MMORPG.

Schedule

On today’s livestream, Mike will be working on the “grabber dragged along” mechanic. He started work on this mechanic in yesterday’s stream, and it’s making very good headway!

The “grabber dragged along” mechanic will cause a character who is grabbing another character to be dragged along with them. In addition to that, it will slow down the grabbed character.

The stream will be going on break a little early today so that the team can participate in this week’s #IndieDevHour. The intermission will last from 11:00am PST till 1:00pm PST. Feel free to participate in the #IndieDevHour hashtag on Twitter though. The more the better!

Devlog #10: A New Mechanic and Helpful Bug Fixing

Hindering Movement is Finished

The biggest news I have today is that the “hindering movement” mechanic is finally finished!  Here is an animated gif of it in action:

Play Volund - 2D MMORPG

With this mechanic, you can approach another character, grab on to them, and then prevent them from moving away quickly. After grabbing the character, he is unable to move in any direction without a delay.

The hindering effect only lasts for a single tile. However, that could be significant, particularly in a combat situation.

Bug Fixing with Friends

Before starting work on the next game mechanic, I needed to exterminate a bug. The bug was first discovered last night right before the livestream ended. I didn’t have a chance to fix it then, so it got tacked on to today’s work list.

The glitch happened when a character grabbed a target character and then followed closely behind them. After only a couple steps, the server would crash.

Volund - Grabbing Bug

After a very long debugging session, two and a half hours in fact, the problem was found and squished: The server was issuing a grab command without first making sure that the grabber wasn’t…  Uh… Grabbing.

Thank you very much to the people in the Twitch chatroom, and Voidinc_ in particular, for helping me find the problem. It would have eluded me for much longer without your assistance!

Indie game development company.