Page 1 of 1

Support for party managment?

Posted: Mon Jan 16, 2017 10:05 am
by Guest
Hi guys,

does ACK support any kind of party managment, or are the games made with ACK strictly "single-player"?

Jens

Posted: Fri Jan 20, 2017 12:28 pm
by kaelenX
I was going to ask about this as well, it's something I've been thinking about for a while but wasn't sure if it was possible (or was going to be possible).

Posted: Fri Jan 20, 2017 1:06 pm
by Tdarcos
The original message here has been moved, unedited, to http://www.joltcountry.com/phpBB2/viewt ... 0183#90183 as apparently it was posted erroneously.

Posted: Fri Jan 20, 2017 1:09 pm
by kaelenX
Thank you Tdarcos. But I'm asking about ACK, actually, not interactive fiction. Do you program in ACK?

Posted: Fri Jan 20, 2017 1:19 pm
by Tdarcos
The original message here has been moved, unedited, to to the second entry at http://www.joltcountry.com/phpBB2/viewt ... 0183#90183 as apparently it was posted erroneously.

Posted: Fri Jan 20, 2017 1:25 pm
by pinback
Paul, can... can I talk to you, real quick, in the other base?

Posted: Mon Jan 23, 2017 11:16 am
by kaelenX
Sorry, does anyone have an answer to the original question? If there is another forum I should use for ACK questions, please let me know. Thanks!

Party Management

Posted: Mon Jan 23, 2017 2:20 pm
by Joe.Bonk
ACK can't do it. It would need a complete rewrite. At least that was what I was told. Anyways I have worked in summoned creatures that can "help" you but it just isn't the same. It is possible to write a complicated macro in which the appearance and location of each party member is exchanged, and even store and replace the player's stats. But it would be a lot of trickery. A lot of variables to keep track of. Also it is possible to perhaps simulate a party. Make a trick "fight room" as Ultima5 had. And whatever party members one had, a summoned creature can represent the character. Again a lot of fancy macro work, but not nearly as much as the first one mentioned. For all that it is worth, I think the answer is no. If it is a must then use another program. Otherwise be prepared for a whole heck of a lot of macro and draw commands.

Posted: Mon Jan 30, 2017 11:19 pm
by Admiral Ackguh
If by "party", you mean multiple players, then no.

If by "party", you mean one player with a group of many characters (as in Ultima III and beyond), then maybe.

I experimented with a very simple system supporting up to four characters. Only in combat and other special situations does each character need to act on its own. Other times, the player controls the whole party. Even character names can be defined and stored, using 26 tiles for the alphabet.

ACK has only 52 general-purpose variables, not counting the HELLO pseudo-array (intended for NPC talk status). That severely limits the amount of space you need to store names (1 char for short variable, 2 char per long variable). Other data such as HP, max HP, stats, and weapon skills use up variables, even when packed. That leaves very little room for game-plot data.

The mega-patches have array-like scratch variables, and option settings - but these are not saved along with the regular variables. I was thinking of periodically saving these extra variables as objects in an unused region. I'm not sure if that will work, or if there is a way to trap game saves. (Game restores can be trapped.)

Posted: Tue Jan 31, 2017 6:52 am
by kaelenX
Admiral Ackguh wrote:If by "party", you mean one player with a group of many characters (as in Ultima III and beyond), then maybe.
Yes this is exactly what I meant. Thank you for the information

Posted: Mon Feb 27, 2017 8:47 am
by rld
Admiral Ackguh wrote: The mega-patches have array-like scratch variables, and option settings - but these are not saved along with the regular variables. I was thinking of periodically saving these extra variables as objects in an unused region. I'm not sure if that will work, or if there is a way to trap game saves. (Game restores can be trapped.)
Yeah, I wasn't sure how much interest there was in the scratch variables when I added them to the megapatch. It probably wouldn't be too hard to make it save them globally along with saved game state (like the HELLO[n] conversation flag variables) if I can find some time to work on it.

The option setting vars were intended to be a replacement (at some point) for the ad-hoc method of setting bit flags in the Z, Z2 vars to activate patch features, but I don't think I got around to actually using it for that in any of the patch versions. So it's basically just more scratch space.

<b></b>

Posted: Tue Mar 21, 2017 5:59 pm
by Joe_Bonk_guesting
Is it possible to write more variables into the game? Like a3 to z3, or a4 to z4?
Or is the variable format a permanent fixation?
Using the bitwise has helped me tremendously.
Thank you fo those.

Posted: Thu Aug 17, 2017 12:05 pm
by Admiral Ackguh
rld wrote:Yeah, I wasn't sure how much interest there was in the scratch variables when I added them to the megapatch. It probably wouldn't be too hard to make it save them globally along with saved game state (like the HELLO[n] conversation flag variables) if I can find some time to work on it.
I'd like to see automatically saved scratch variables and option settings. This would probably be easier for you than trapping game saves.
The option setting vars were intended to be a replacement (at some point) for the ad-hoc method of setting bit flags in the Z, Z2 vars to activate patch features, but I don't think I got around to actually using it for that in any of the patch versions. So it's basically just more scratch space.
I have found a way to use either the scratch variables or options as a stack. The main use of a stack would be for true subroutines (push stuff on stack, then call MACRO). I'll show you the code later. Since ACK never saves/restores when a macro is running, the scratch variables need not be saved.

Posted: Thu Aug 17, 2017 12:20 pm
by Admiral Ackguh
Joe_Bonk_guesting wrote:Is it possible to write more variables into the game? Like a3 to z3, or a4 to z4?
Or is the variable format a permanent fixation?
Using the bitwise has helped me tremendously.
Thank you fo those.
I'm not sure how the macro compiler stores variable names. If it uses 1 byte (0-255), then that would be the main limit to having more variables. Each new "generation" of variables means 26 new tokens. Already used are 52 for the general purpose variables, plus 30 or so special-purpose variables (such as HP). I'm not sure how ACK handles INV[] and HELLO[]; probably with 2 bytes; the first for INV or ACK, the second for the number.

So far, all the mega patches changed only the run-time modules (ACK02). Adding new variables will also require the macro editor and macro text exporter to be changed.

rld?