Final Fantasy Hacktics

General => Archives => Tethical => Topic started by: lirmont on August 18, 2012, 01:04:22 am

Title: Client-Side Test Suite Development Discussion
Post by: lirmont on August 18, 2012, 01:04:22 am
Currently, I'm working on two rather invovled test environments to help support game development using Tethical's engine.

"Resource Actions (Test)"

The first test area lets you see all the characters (Tethical Format, XML format, or 3D Format) and effects (XML Format) you have available to your game, and it will let you cycle through and view actions. This is not a replacement for my Sprite Animator program (or 3D modeling programs), but it will alleviate the need to be on a specific OS or have specific software installed in order to, say, find the named animation you want to use during an event.

(http://darkabstraction.com/showOff/ffhackticks/tethical-resource-actions-test-001.png)

(http://darkabstraction.com/showOff/ffhackticks/tethical-resource-actions-test-002.png)

(http://darkabstraction.com/showOff/ffhackticks/tethical-resource-actions-test-003.png)


"Player Formulas (Test)"

The second test area will allow you to cycle through all registered player accounts, pick actors and targets from amongst their teams, and then run your formulas against them on a simulated battlefield in order to find out what the results would be. This is meant to be an alternative and closer to reality approach than Tethical's control panel application provides you with for formula evaluation. Whereas the control panel allows you to input any numbers and get a quick result, this will allow you to test many different situations both quickly and visually (when it's finished).

(http://darkabstraction.com/showOff/ffhackticks/tethical-player-formulas-test-001.png)

(http://darkabstraction.com/showOff/ffhackticks/tethical-player-formulas-test-002.png)


--

These two tests have come at the expense of significant rewrites and re-organization to the existing code-base, and there is still more to do. In the meantime, if you have an idea for a type of test you want to see (or ideas for enhancements), please use this thread to post them. As always, thanks for your continued interest in this endeavor.


--

Implemented Tests:



Proposed Tests:

Title: Re: Client-Side Test Suite Development Discussion
Post by: Lijj on August 18, 2012, 06:44:34 pm
This is awesome. It offers a lot of visual control. I like the named sprites haha.
Is that font from FFT?
Title: Re: Client-Side Test Suite Development Discussion
Post by: lirmont on August 18, 2012, 07:34:42 pm
Yeah, the font is the one Kivutar and I put together here: http://ffhacktics.com/smf/index.php?topic=7849.20 (http://ffhacktics.com/smf/index.php?topic=7849.20)

A lot of the letters are copied, but the punctuation (and some letters) were made up in the style of FFT on the way to completing the font. The only thing the font doesn't have is accent marks/special characters (i.e. unicode stuff for other languages).

--

(http://darkabstraction.com/showOff/ffhackticks/tethical-player-formulas-test-003.png)
Title: Re: Client-Side Test Suite Development Discussion
Post by: Choto on September 16, 2012, 12:53:25 pm
perhaps the ability to apply a status effect on a character and see how it appears visually would be of use down the road? That's really all I can think of. This may be covered in another part of your programs, but loading a map with weather/timeofday/etc?
Title: Re: Client-Side Test Suite Development Discussion
Post by: lirmont on September 16, 2012, 03:45:10 pm
Status effects haven't made their way in yet, and I don't know specifically how I'll do it yet. I feel like the graphics probably need to be handled by events. For instance, if you were to catch someone on fire, setting them red would not suffice, whereas having an event add some flames to the inflicted character and catch grass on fire if they walk into specific types of tiles would be interesting.

Weather and time of day is only available as hard-coding/map design at the moment, but it's something else that could take advantage of events (and probably should). They can probably wind up on their own lines of the map description files (re: weather-event ..., time-of-day-event ...) so that they can be called specifically (and tested).

I'll update the first post with a list of current and planned tests.
Title: Re: Client-Side Test Suite Development Discussion
Post by: Choto on September 21, 2012, 08:44:35 am
An ability-effects test would be useful to see how the effect looks in-game against the environment. It would also be helpful to make sure the nodes you set function correctly... although maybe whatever program is used to set the nodes would have this functionality? For example if you had something like the mortar effect I made... you could move the sprites around the map and see if the effect follows the sprite... or if it has any issues with hitting obstacles, etc.

nodes: locations on the sprite that the effect is anchored too.... like weapons being anchored to the sprites hand in weapon strikes.

Also, if it's meant to encompass events too, you could have it call a specific event to test it.

Also, testing different backgrounds or screens. For example, if I could load the formation screen and test the job-change particle effects, or the different menu/stat display graphics.

Not sure if these would be covered somewhere else, but I figured I'd throw them out there.
Title: Re: Client-Side Test Suite Development Discussion
Post by: lirmont on September 21, 2012, 10:24:34 am
For abilities, that's kind of encompassed by the Player Formulas Test, because you'll be able to potentially quick-select an ability to pick its formulas and see it on-screen. But, it's true that it's going to get more complicated when specific nodes are important, and maybe something more effect-focused will be necessary.

As for GUI-related things, it can't easily be done at the moment, but maybe a little later. If you read the other recent thread about reorganization, I'm going through the client code and changing this stuff up. To go a level of detail deeper than that post, I'm adding a state manager so games can pick their first state (say, a start screen or an intro video rather than the login screen) and the state manager will let your states ultimately make a game. States will provide me with a way to write the save feature, but it's not something I've done before. They will also provide a way to do things like split-screens and fading from one state to another (rather than just fading to black). States will ultimately let you write very targeted code, so you know where it is and what it does (provided you name things properly).

What's pushing that process back is that I also feel like I need to reorganize the client application to be like the server application. Right now, the main file of the client is 1.1k lines of code that does mostly graphics stuff. Compare that to the server which is 463 lines of code (including all the comments I added) and deals mostly with calculations and sending information to the client. So, ideally the client needs to be 1:1 with the server here, and so it's kind of a long process to make that happen, given some of the requirements.