Saturday, October 3, 2009

Name Change

"Anachrony Online" seems a bit tacky. Here are some names I'm considering, keeping in mind that Dicaea is going to be the name of the world. (Dice + Gaia + Random transmutation -> Dicaea)

A) Dicaea Online
B) Dicaea: Conquest

I also want to incorporate a DND pun somewhere. Like, Dicaea: Necromantic Dominion. Or something. At some point a major race of enemies called the Thanati-- which are sentient undead (vampires, liches)-- will be involved in the story. I haven't decided all the details yet.

Progress
Attack bonuses, AC, and saves are now calculated. Now I just need to process them.

Tuesday, August 25, 2009

Heads Up!

I'm going to be busy with this wretched thing called "school" every Tuesday and Thursday from now until December. Furthermore, my weekends are continually booked thanks to Amtgard and helping Roswell73 come up with video ideas.

So progress is going to be severely limited to Mondays and Wednesdays, as well as the occasional update on Tuesdays and Thursdays during class, and on some Fridays when I'm not helping Roswell.

With that said, give a warm welcome to Diabolicomix, Wager Witch, and Irate Dog the official Anachrony Online illustrator, writer, and concept designer (respectively). Their work load will be practically nonexistent until I get the systems programmed, but their contributions to the project, both in content and in motivating me to get off my ass and program stuff, are a welcomed change to my "Program stuff, think about story and gameplay later" approach.

Tomorrow, I'll try to squeeze in the attack roll and armor class calculation algorithm in my spare time between my science and math classes.

Friday, August 21, 2009

Red Pill or Blue Pill?


Option A or Option B?

Some Progress

I haven't made a lot of headway in the past 24 hours, but I did define and tell the script to generate values for $GCHAR["saves"]. With this, characters' saving throw values are easily accessed without having to keep recalculating them.

Saving throws are equal to 1/2 your total level in all classes, plus the modifier derived from the appropriate stat, plus whatever your equipment grants you. Boots that give you a +1 to AC and a +1 to Reflex saving throws are not uncommon.

Since I don't have much substance to give you guys, here's a screenshot of the left menu when you're logged in so far:



Wow, is that sexy or what?

Tomorrow I'll work on incorporating attack rolls, AC bonuses, and such stuff to the combat engine. Then I can begin weapon techniques, range-handling, and magic. It should be fun.

Wednesday, August 19, 2009

Dungeon Combat System: 33% Complete!

Hazzah! I have completed the hardest part of the system: Determining who attacks first, collecting a large script together from each combatant to determine the damage dealt and other such effects, and displaying the output for the player to read.

Zombah! strikes voodooKobra with his fist for 2 damage.
Zombah! strikes voodooKobra with his fist for 1 damage.
Generic Cohort strikes Zombah! with his fist for 4 damage.


<?php
$GCHAR["d_data"]->player->hp -= 2;
$GCHAR["d_data"]->player->hp -= 1;
$GCHAR["d_data"]->cohort[0]->hp -= 4;
?>


Both of the above are generated by the server and executed in a single battle turn. You wouldn't believe how difficult I've made the process by which the server generates this in the name of flexibility, and the entire thing only clocks in at about 32 KB so far, but that's still a lot of code. And I'm not an efficient programmer, either.

Still to do:

  • Attack rolls, AC, etc.
  • Saving throws
  • Display the combat interface
  • Interpret player input
  • Specify -1 as the flag for "attack all enemies" and make it work
  • Spell effects
  • Appending to $COMBAT["script"]


Then, I'll move on to leveling up and character development, and FINALLY begin the dungeon itself. You guys are gonna love it!

Status Report: Combat System

Not much to say right now. I've picked up the combat system and I have it about 10% complete. The data-handling step of the combat engine is a real doozey. For example, here's the print_r() output for $COMBAT["cohort"][0] for an example cohort:


            [0] => Array
                (
                    [id] => 1
                    [hp] => 30
                    [sp] => 10
                    [initiative] => 11
                    [type] => human
                    [attack] => SimpleXMLElement Object
                        (
                            [min] => 1
                            [max] => 4
                            [properties] => SimpleXMLElement Object
                                (
                                    [prop] => martial
                                )

                            [closerange] => 1
                            [midrange] => 0
                            [farrange] => 0
                        )

                    [stats] => SimpleXMLElement Object
                        (
                            [str] => 14
                            [dex] => 10
                            [con] => 12
                            [int] => 10
                            [wis] => 10
                            [cha] => 10
                        )

                    [friendly] => 1
                    [ident] => $GCHAR["d_data"]->cohort[0]
                    [flag] => 1
                )


Looks easy enough, but the fact that I had to generate an identifier (used in scripts ran via gfmodulec) should indicate how process-intensive this is going to be. The "flag" is used in generating the Target field for User Input; nothing more. The player has a flag 0, each cohort increases it by 1, and the enemies continue where the cohorts leave off. Friendly helps determine whether or not to let the player cast healing spells on the target.

And now I return to my text editor.

Are You Talented?

I'm considering making an optional "plug-in" for the game that lets you choose what D&D 3.5 called Skills but I'm going to choose to call Talents for your character. This will be completely optional but implemented in the Arena and Character Sheet pages. It will automatically allow you to place X + IntModifier (X=2 for fighters/wizards, 8 for rogues, etc.) talent ranks per level in various talents.

They will not be used in the dungeon (as everything will be based on your base stats and saves), but the idea is to allow players to use this to make RPing convenient. When the plugin is enabled, they will be able to perform their talents (run, jump, swim, perform (lute), etc.) in the same way that players select spells during combat: Via a dropdown menu.

I'm still not 100% on this. What do you guys (and gals) think? It wouldn't be too tedious, and it should not hinder or clutter up the screens of people who aren't avid roleplayers.