Chase's Blag About Nothing

11Jul/11Off

Redirection

After recently being invited to Google+, I had to come up with a way to take advantage of the situation. While I didn't want to clutter it with the random nonsense I post on my Facebook account, I decided to make it more of an informal tech-related blog. Basically my higher level thoughts, those above "I'm bored and watching reruns of Adventure Time", will be posted to my Google+ account. Things like what I come across on tech blogs and find interesting, or notes/ramblings regarding my current projects, or just neat stuff that wouldn't interest anyone on my Facebook whatsoever.

But the question becomes, what to do with this blag? Since I'm not at the state to start making detailed development posts regarding certain projects I'm undergoing, all posts can be sent to Google+. So this blag becomes dead.

Solution? I'll probably change the front page of Sybolt to something non-blag-related for the time being. Maybe an advertisement for the game that won't come out for a year. Or maybe redirect to my Google+. I don't know. We'll see!

Filed under: Random Comments Off
25Jun/11Off

Downtime

Server downtime was caused by a hard drive failure. While the server was repaired, for some reason the IRC server that fro is hosted on is behaving oddly, and refusing connections. Users will be temporarily redirected back to Rizon until I can figure out what happened to my software.

Thanks for your patien- oh wait, there's nowhere for you to complain. What a shame. :p

Filed under: fro Comments Off
10Jun/11Off

Optimization Woes

It's 4 AM, I've been trying to fix a lag issue in fro for the past few hours. It basically drilled down to this:

Have about 100+ NPCs on the map (The same as any player, as far as the engine is concerned), each one constantly jumping or moving to guarantee that it places at least two rectangles of it's previous/current positions into the Render Optimizer each frame. This would amount to about maybe, 200+ rectangles, okay, doesn't seem like a big deal. But then the optimizer, through witchcraft beyond my own ability (It's one of the very few things in my engine I didn't personally write, and honestly, I haven't done a decent enough stress test until now) it will perform a bunch of calculations to break these rectangles up into smaller ones that do not overlap one-another.

Eventually, it pumps out a number potentially exponentially larger than the original amount of rectangles, assuming it even gets to that point. It starts taking it's time (and stealing precious cpu cycles, causing fro to hang) after it reaches some threshold of internal rectangles that I have yet to identify.

But, long story short. I attempted to add some functionality that would try to lazily expand rectangles (at the cost of updating parts of the screen that never changes) in order to reduce the number, but I have yet to get it to work properly for all cases. So! What did I do? I tossed in a flag (that can be set in lua) that let's us turn on/off the optimizer on a map/situation specific basis!

Too many players joining? Too many NPCs dancing about? No problem! Turn off the optimizer and let it redraw the entire screen each frame!

Honestly, it's the best compromise at the moment. If you think about it, if we're updating so many things on the screen, the total area updated would be more than the total area preserved in most cases, so why not just say fuck it to all the rectangle intersection/union/etc mathematics and redraw it all!

I've said it before, and I'll say it again. This is the last time I roll my own engine. Imagine if I didn't even use SDL for the extreme low level stuff. I'd probably shoot myself. But I learn from my mistakes, and I know not to be too foolish in the future and just write on top of OGRE or something. Anything that handles entity management for me.

31May/11Off

1.5.2

Changes
  • Exported a bunch more internal garbage to Lua
  • Added persistent block lists. If you block someone, they'll stay blocked (Unless they change their IP).
  • Improved client-side detection of disconnects. It was built to passively handle hiccups in the network, but at times it'd sit idle and not realize it's actually been disconnected for hours. Now it'll time out after 2 minutes of no response from the server.

Other nonsense

Started working on a framework for NPC conversations, based loosely around the Diskworld MUD NPC scripting method. At least in terms of idle chatter with NPCs. And since I'm trying to do it without a server, and having conversations between NPCs visible to all players, instead of just the player in the conversation, it's become a little more complicated.

But that's more passive work, my real focus is on Cubic Space. I really want to get something tangible done this summer. Most of the basic logistics of combat is worked out, just trying to structure modules in a nice enough way, and avoid the whole "Whoops, I gotta restructure all the classes again". Aka, how I spent too much time on fro's codebase.

26May/11Off

fro 1.5.1 is out…

... a month later than predicted. Between college finals, emotional distress, and the unnecessarily long period of drunkenness that followed, I haven't had a chance to push the update out. But things have chilled down a bit, and I've managed time to deal with it.

The Good News

  • New updater! And this one should work for those that had issues with the old one. One guy even made a YouTube video to express his troubles, which I found rather amusingly sad.
  • Switched servers to a server that I actually run. So no more dealing with Rizon. We're a little more free with what's possible, and shouldn't have any foreseeable throttling issues (Although I have yet to stress test it).
  • Honestly... looking over the changelog, it's really nothing that you guys would be interested in. Just a bunch of internal improvements. If you want a copy, here you go.

The Bad News

  • You will have to re-download the client (Boohoo, 4 MB)
  • Your avatars list, once again, will not work. But don't worry, I swear this is the last time. The changes I've made are in place to ensure this doesn't happen again. And, frankly, all your avatars sucked anyway and you know it. Start fresh.

New client can be downloaded here, on a website that hasn't been updated in a year. But, hey, at least the download link is current.

So what's next for fro? I have no idea. Will either dabble with allowing users to upload their own rooms, or random minigames. I also need to do a tutorial map for new users to get acquainted with the system. Although, frankly, I'm tempted to go work on my newer project, Cubic Space. So, who knows. It could go either way.

Filed under: fro Comments Off