ramblings and rants from the Shadows dev team

.. seems as if there’s a never ending stream of them. Finished area effect resolution and FX firing, including a neat little hack that will let players hear sounds the round they die/get knocked out, so you can hear what does you in if it makes noise. Fixed a few bugs with player corpses, corpse object names, corpse object placement (one of those “geez, did I write this code half-asleep?” things), and finally added a global cooldown (GCD) for invokables — activating or using an item has a GCD of one round, GCD for spells is 1 round per 10 mana spent, Power GCD is TBD. They’re all shared for now, so if you chug a potion you have to wait a round before you can cast a spell or use a power. This could be a fairly important design point but it is quite easy to change both client and server if need be.

– Silas

Category Dev Ramblings | 0 Comments »

.. is the sound of the first few fire spells being tested. The “invokable” code is about 95% done, complete with a nice-looking client overlay, hotkeys for spells,powers, and items, spell difficulty color coding, and all six different target types (cones were annoying!). Stuff kind of works how you’d expect; if you toss a fireball towards a tree it will blow up on the tree (actually, 1 cell earlier), and objects on the other side of the tree will be shielded from the blast, unless of course you destroy the tree — in which case some residual damage will still be dealt to those who were formerly in cover. Same goes for walls, etc.

Also tidied up some armor calculations, got spell focii working (your own bound focus now shows up with a purple highlight), laid in some invokable feedback for spell failures and target damage, and also left a few too many “TODO”s in the code.

None of this is live yet (see the above “TODO”s), but it will be soon — not like anyone knows or cares at this point. :D I’ve decided I’m going to finish the engine, or nearly so, before I send any emails to the old crew. Too many false starts in the past.

–Silas

Category Dev Ramblings | 0 Comments »

.. thanks to Andrex for helping me iron out some kinks on Windows Vista/7/8. For a non-privileged user, Shadows will pop exactly one UAC dialog, during install, which is nothing unusual for any type of software. After that, Shadows can be run as an unprivileged user and UAC should never pop again (though you will get a dialog on the first run asking where you want to store Shadows data files).

I’m quite happy with how invokable things (spell, powers, items) are working out, the client page is roughed in but no spells will actually fire from the GUI just yet.

–Silas

Category Dev Ramblings | 0 Comments »

.. after almost 2 years. Yoinks! So far I’ve just refamiliarized myself with the engine, tidied up spell and power targetting (thanks Andrex!) and come up with a pleasing and organic way of learning new proficiencies.

Why 2 years? Well, my kids are older, work has backed off a bit, and I’m pretty happy with my life in general. So now its time to scratch this itch and finish this sucker, even if its just myself and a handful of oldschool RPG nuts that end up playing it. :)

Next up: implementing spells, powers, and proficiency learning/skill gains.

–Silas

Category Dev Ramblings | 0 Comments »

.. of work, work, and more work. Haven’t had the time or energy to work on Shadows at all, half my team is burning out and it really feels like IBM is trying to wring the very last erg of productive energy from us before we all drop dead.
On the bright side, Hurricane Earl might knock the power out for a while and I’d get some vacation. :)

–Silas

Category Dev Ramblings | 0 Comments »

There’s an altar near 100,90,0 if you find yourself needing one. Only a few things left to do:

  • fix the Light Emitting Ghost bug (try dying while holding a torch or admin light.. oops!)
  • allow ghosts to teleport to a nearby altar (some mechanics here TBD)
  • probably a couple more little things that I’ve forgotten

    So, I’m delighted that another major system is “done-ish” (there’s still things TBD like death affecting skill, etc). It was a long road and caused a lot of other minor systems to be done along the way. Speaking of minor systems, double-clicking on overmap items is now supported. It “does something reasonable” — such as activating altars, opening and closing doors and chests, etc.

    – Silas

    Category Dev Ramblings | 0 Comments »
  • Corpse stuff is finished, very happy with how well it went. Killing someone will now leave a properly named corpse with their inventory in it. Doesn’t sound like much, does it? :D Also fixed some minor ghost buglets and am now moving on to finishing off ghost stuff — right now they can’t move, “talk”, or do anything other than sit around.

    – Silas

    Category Dev Ramblings | 0 Comments »

    .. finally implemented dynamic string tokens and proper client encoding/decoding. Basically, for dynamic strings that live server-side, instead of sending the whole string anytime it was needed I am sending a 4-byte token. If the client doesn’t recognize that token, it asks the server for it. So a string like “Admin Mog”, which actually took 12 to send, now takes 4. This saves me a ton of bandwidth.

    I also fixed client string encoding, from crude “chop everything off but the last 8 bits” to “encode to US-ASCII” (because that’s the only charset serva speaks, and that’s not changing in the forseeable future). Unrecognized characters will now show up as “?” instead of random garbage. If at some point the international Shadows community demands UTF-8, well, maybe. It’s been tested, albeit not very thoroughly.

    Back to death… would you believe I did the above because dead bodies are going to be named “X’s corpse” and it motivated me to finally tackle reasonable string handling? :)

    – Silas

    Category Dev Ramblings | 0 Comments »

    Kind of crazy how I can look at an algorithm I sweated blood over several years ago, and see immediately that it’s got not only one bad flaw, but several. So, I’ve fixed up water flow again, and am continuing work on boring guts like string tokens (yes, you’ll finally see player names!) and one way containers, with an eye on finishing death & resurrection.

    – Silas

    Category Dev Ramblings | 0 Comments »

    .. Booga the bloody elven punching bag was beat to death on Hell today. He took it well, immediately pointing out several bugs relating to client screen updating, ghost visibility to admins, and a laundry list of little niggling things that are probably going to take a couple weeks to clean up.

    Until some more coding is done, Death is kind of, well, unrecoverable. So this won’t be going live for some time, but it’s a big milestone that required a lot of other systems to be in place.

    – Silas

    Category Dev Ramblings | 0 Comments »
    « Previous Posts