Jump to content

  • Log In with Google      Sign In   
  • Create Account

IfThen Software

Devlog #12: The Mystery of the Vanishing Caboose

Posted by , 19 February 2015 - - - - - - · 568 views

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:

Posted Image

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:

Posted Image

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.

Posted Image

Devlog #11: Choo-Choo!

Posted by , 18 February 2015 - - - - - - · 588 views

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:

Posted Image

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.

Posted Image

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!

Posted Image

Posted Image

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

Posted by , 18 February 2015 - - - - - - · 997 views

Today's game development livestream is starting at 8:30am PST!


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!

Watch the Livestream

Click below to watch the game development livestream!

Posted Image

Posted Image

Devlog #10: A New Mechanic and Helpful Bug Fixing

Posted by , 17 February 2015 - - - - - - · 527 views

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:

Posted Image

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.

Posted Image

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!

Posted Image

Devlog #9: Holding Hands and Fast Iterations

Posted by , 17 February 2015 - - - - - - · 681 views

Engine Doesn't Allow Fast Enough Prototyping

Well, I have learned one thing over the past few iterations: Adding game mechanics takes a long time. A very long time. Just the framework for the grabbing feature has been in development for the past couple months.

So, I've identified a problem. Now what? Well I need to figure out how I'm going to solve it. I believe one of the major issues is the way the code is designed at the moment. It's desperately needing some large overhauls.

With that in mind, I'm going to try and spend extra time refactoring and redesigning. This will be in addition to the work I normally do on the livestream, and I'm not planning on livestreaming it.

One problem with deciding that a code base needs to be reworked is that you can easily get stuck only reworking it. This means you don't make any forwards progress on new features. Doing the redesign as extra work, rather than replacing existing work time, should help prevent this from happening.

Hand Holding Turns Violent

While on the livestream today, some players decided to form a circle and "hold hands" using the grabbing feature. This was all well and good, but then the circle was abruptly disrupted and the whole thing turned into a melee! Fists were swinging, characters were running all over the map... It was chaos! Also quite funny, haha.

Posted Image

Posted Image

January 2017 »

22 232425262728