Build: Gimel 10-September-2011 01:09

There’s not really anything new to see in this build, but under the hood, the code is a lot cleaner.  🙂  Putting my Effective Java reading to work!

Advertisements

Build: Gimel 8-September-2011 12:23

I am able to circumvent the ‘hacky boxes’ issue (mentioned here) by using a JFrame, which also allows me to have a nicely-resizable window.  However, I have a new issue now where the application is initially blank, until you either resize it larger or move it.  It will become blank again if you resize the window smaller.  I’ve been digging and am having a lot of trouble figuring out why this is the case.  Have yet to try it on another machine, though.  Maybe it’s just a problem with my video card or something.

I’ve also finished reading Effective Java, and will likely being doing a bit cleanup of Tako — most specifically of aui, which is supposed to be the go-to library for me for UI now and in the future.

Slick is a 2D library for Java written on top of LWJGL (itself written on top of OpenGL).  Eclipse is the IDE I use for developing in Java.  I love Slick for being able to get up and running quickly, but I’m fairly new to Eclipse, so setting things up has proven to be a bit of a repeated pain for me.  This tutorial will describe how I set up Eclipse for my Java projects, to serve mostly as a reference for myself when I next start a new project.

The source for this tutorial is available at Bitbucket (https://bitbucket.org/apocriva/tutorials).  Full tutorial after the break!

Read the rest of this entry »

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.