Quick post because I haven’t posted since being on vacation!  I’m working on a couple Slick/Eclipse tutorials, mostly for my own reference, but which may prove helpful for others.  I have also been thinking about doing some refactoring of the Tako/aui code, since it’s largely a mess and I’m in the mood to clean it up.

With that in mind, I’ve started reading a book called “Effective Java“, by Joshua Bloch, which is proving to be an invaluable source of best practices!  I’m head-over-heels in love with Java coding, and learning how to code Java properly is filling me with nerdish glee.  🙂

It’s amazing how, even after only a couple days, my mind is already beginning to feel refreshed!  I wonder if it has something to do with how little coffee I’m drinking compared to a typical day.  We’ll have to fix that!  lol

In any event, I’ve been thinking about Tako — primarily in terms of “traits”.  Traits are essentially just textual tags that are applied to agents via their mantles or via actions taken ingame.  Mantles can be restricted to certain traits, so for example you might not be able to equip the Paladin class (trait: “good”, restricted to “not evil”) to the Kobold race (trait: “evil”).  Events and agents will be able to query the party for traits to make decisions, so a Paladin agent won’t want to join your party if you aren’t “good”, and may attack you outright if you are “evil”.  Some encounter-options could also add traits to agents, so if the player chose to do something like slaughter a bunch of innocent people, their avatar would acquire the “evil” trait, and lose the “good” trait, if they had it.  Agents in the party may then choose to leave, or even to attack the player.

To make this kind of “vengeful defection” actually matter (instead of turning into a three-on-one massacre for the defecting agent), I reckon I’ll have something along the lines of giving the defecting agent a massive buff, turning them into something of a boss fight.  A defecting paladin might get a buff like Righteous Fury, granting improved stats and some kind of ultimate ability.

The trait system can be applied much more generally than this, though.  I’ll be able to assign personality traits to agents, and apply them in whatever means makes sense.  So I dunno, maybe one agent is particularly lazy (and won’t be eligible for skill checks).  Maybe one is wrathful, and gets a stacking buff every time the player does something wrathful themselves.  I suppose this implies that actions in encounter should be able to have traits as well, and allow agents to respond to some kind of trait-events…   hmmm!  More to think about, I suppose!

Ah, maybe traits can tie into combat encounters too!  Perhaps an agent with the “threatening” trait is more likely to be the target of attacks in combat.

Well, I suppose I should get back to vactioning.  🙂

Build: Gimel 16-August-2011 01:21

I have managed to slog through inventory and get something in place.  I’m not 100% happy with it, because it ends up requiring far too many clicks to get stuff equipped and unequipped, but it works, and that’s the most important thing.

Maybe it’s because of how gross this whole inventory debacle felt, or maybe it’s because I’ve been pushing myself too hard, or maybe it’s because I’m leaving for vacation on Friday for a week, but I’m dreading moving forward on Tako.  Not a dread-that-makes-sense — a dread kind of like the dread I feel when going to click “Quick Match” in StarCraft 2.  The kind I feel before diving into something potentially stressful, but almost certainly going to be fun.

There are two sections remaining under the Tako-Gimel label: objectives and agents.  After that, it’s a matter of tying off a couple loose ends and calling Gimel done.  By that time, you’ll be technically able to win and lose campaigns, and with some work done on producing content (and hooking up the metagame), Tako would be a fairly-complete game.  I wonder if that’s a good reason to consider switching milestones Daleth (Combat Encounters) and He (Metagame)…  Probably not, I guess!

Well, either way, I’m very much looking forward to a week off in PEI!  Maybe I should just relax between now and then, and really let my brain unwind.

No build posted this evening, because there’s not really a nice way to see the results of the hours of work I’ve put in tonight.  Encounters can now define skill-based options, but I don’t have any encounters or skills yet to show that off.  The other thing I worked on tonight was inventory.

What a nightmare!

The way I had originally planned inventory was something very traditional and WoW-like, where you’d click an artifact to pick it up, and then drop it wherever it was that you wanted it equipped.  Since I have the left mouse button bound to the mantle info popup, and I really like that, I decided to do something a bit different.  So now when you have the mantle info popup open, it will have an “Equip” or “Unequip” button as is appropriate.  Clicking ‘unequip’ will result in a screen like the above, where the artifact has dropped off the agent into a common inventory.  Clicking ‘equip’ will result in a popup that I haven’t yet made that will bring up a list of your party members so that you can click one, which will bring up the agent info popup, which will then allow you to click ‘select’.

This whole thing feels really gross right now.  I’m not sure if it’s because I’m overly tired tonight, or because it’s raining outside now, or I’m unhappy with the inventory management, or if I’m just ultimately burning myself out, but this whole thing just feels really gross.

So I’m done for the night!  Hopefully in the morning I’ll get that equip-artifact flow put in, and it won’t be as bad as I think it will be.  Well, if it does end up being too bad, I can worry about it later.  For that matter, I should really add “organize user testing” to my task list.

Oh, and another lesson learned from tonight: working without a mock done first sucks.

Build: Gimel 14-August-2011 08:30

Have implemented a relatively basic questline!

Anyone who has ever done quest design will know that even the most basic of quests have many states that, if you want the quest to flow smoothly, each have to be designed specifically.  These are the state present in the relatively simple fetch quest I just put in:

  • First encountered.
  • Quest declined.  (Permanent state — this will be a prominent feature in Tako, where decisions you make are permanent within the context of the campaign you’re in.)
  • Quest just accepted.
  • Quest accepted.  (Differing from the above in the sense that you’ve left and come back.)
  • MacGuffin found.
  • Just interacted with MacGuffin.
  • Interacted with MacGuffin.  (Same thing here, since you can interact and leave.)
  • Quest just completed with one resolution.
  • Quest completed with that resolution.
  • Quest just completed with another resolution.

And that’s a quest that’s literally “Go get me a thing!”

The quest isn’t currently tied to any agents or artifacts or anything like that.  In the final product, the NPC giving the quest would be randomly generated, and have a race, class, etc.

Lemme see, what’s next on the todo list…  Ah yes, skill checks!  What skills do in Tako is open up new options in encounters.  The example I typically use is a “Ambushed by bandits!” example.  The encounter normally has only one option: “Fight!”  If you have a character who has, say, the “Barter” skill, you would see an extra option other than “Fight!” — “Barter for your life!” or something.  Barter is tied to the Charisma attribute, which is used to determine whether the action is successful or not.  Generally speaking, if you have enough of a stat, the skill check is guaranteed to be successful, and if you don’t, the skill check will probably be about 50/50.

Encounters and skills together should already make Tako pretty fun to play, I think, if the random world generation and metagame/collection stuff was in, but there’s a combat element as well, which should make Tako even more fun!

Build: Gimel 14-August-2011 11:47

Took a bit of time today to whip up some new tiles, because walking around on a blank field of green doesn’t show off vision and movement functionality.

Today’s plan is to start adding events, so with any luck within in the next day or two, there will actually be stuff to do in the game!

(Also: lol Alkius!  😀  I always knew you were a hero!)

Build: Gimel 14-August-2011 01:24

Definitely a case where the screenshot says a lot.

The player can now click on any visible (or partially visible) tile to travel there.  Thanks in large part to being able to hook into Slick’s A* functionality, pathfinding has proven to be super-straightforward to add, even on a hex map.  Joy!

There are some issues cropping up right now that deal almost entirely with how I’m using raw mouse input in the gameplay window, and yet not using raw mouse input in the menus — instead using proper events and whatnot.  More than anything, these are just bugs, and I’m going to try my best to keep from dwelling on them, because next up on the list of things to do for Tako are events, and that should be a whole lot of fun/pain!

That said, I may take some time tomorrow to do more world tiles, so that I can push the limits of the vision/movement stuff that’s in place right now.  Even on the mostly-blank map in place now, I’m already finding it surprisingly fun to just travel around and explore.

Build: Gimel 13-August-2011 02:33

Have added in and tweaked a bunch of stuff, much of which is visible ingame.

Mantles and agents now properly have separate sprites, and likewise different mantle types (race/class/artifact) have been split off into their own sprite sheets.  Those little mantle icons you see there can be clicked to pop up the info for that mantle.  The agent portrait can be clicked on to bring up the agent info popup (which itself has those mantle icons, so you can see all the mantles on an agent, and hit ‘back’ to go back).

The party overlay is a single-select dropdown list, so when you click on one name, it collapses any other open frame.  I’ll have to see how this ties in with gameplay, because the player is supposed to be able to click on an artifact to pick it up…

(Oh, and I finally managed to generate an avatar named Renwald, who is an old favourite character of mine.  hehe!)

Build label: Gimel 12-August-2011 10:08

It’s funny the kinds of things you forget you need until you need them.  For example, an options menu.

It wasn’t until I had sound and music in place that I realized that I normally have my application volumes locally set to about 30%.  I didn’t even realize that until I listened to the Tako theme song at work in a playlist with some other music and went “Oh hey, that’s really quiet”.

In any event, Tako now has an options screen and config file saving.  Win!

Build label: Gimel 10-August-2011 11:37

Forgive the popping, I haven’t taken the time yet to finish or clean this up, but since I’ve been posting about Tako, which is in a draft state to begin with, I figured I’d share:

Tako Theme by Apocriva

I’ve also been giving some thought to an actual title, and I’m having some ideas which may in fact help focus Tako into a specific direction that I like.  We’ll see, though!