Support for party managment?

Chris H.'s Ultima / ACS-style game development system!

Moderators: Ice Cream Jonsey, Chris H

Post Reply
Guest

Support for party managment?

Post by Guest » Mon Jan 16, 2017 10:05 am

Hi guys,

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

Jens

kaelenX

Post by kaelenX » Fri Jan 20, 2017 12:28 pm

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).

User avatar
Tdarcos
Posts: 4966
Joined: Fri May 16, 2008 9:25 am
Location: University Park, Maryland
Contact:

Post by Tdarcos » Fri Jan 20, 2017 1:06 pm

The original message here has been moved, unedited, to http://www.joltcountry.com/phpBB2/viewt ... 0183#90183 as apparently it was posted erroneously.
Last edited by Tdarcos on Fri Jan 20, 2017 3:37 pm, edited 2 times in total.
The lessons of history teach us - if they teach us anything - that no one learns the lessons of history. tdarcos@tdarcos.com

kaelenX

Post by kaelenX » Fri Jan 20, 2017 1:09 pm

Thank you Tdarcos. But I'm asking about ACK, actually, not interactive fiction. Do you program in ACK?

User avatar
Tdarcos
Posts: 4966
Joined: Fri May 16, 2008 9:25 am
Location: University Park, Maryland
Contact:

Post by Tdarcos » Fri Jan 20, 2017 1:19 pm

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.
Last edited by Tdarcos on Fri Jan 20, 2017 3:41 pm, edited 1 time in total.
The lessons of history teach us - if they teach us anything - that no one learns the lessons of history. tdarcos@tdarcos.com

User avatar
pinback
Posts: 12828
Joined: Sat Apr 27, 2002 3:00 pm
Contact:

Post by pinback » Fri Jan 20, 2017 1:25 pm

Paul, can... can I talk to you, real quick, in the other base?
Above all else... We shall go on... And continue!

kaelenX

Post by kaelenX » Mon Jan 23, 2017 11:16 am

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!

Joe.Bonk
Posts: 10
Joined: Sat Feb 13, 2016 7:00 pm
Location: ISS

Party Management

Post by Joe.Bonk » Mon Jan 23, 2017 2:20 pm

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.
Coming soon: Ultima Abyss

Admiral Ackguh
Posts: 131
Joined: Sat Nov 03, 2012 11:26 am
Location: Canada
Contact:

Post by Admiral Ackguh » Mon Jan 30, 2017 11:19 pm

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.)
- A:A:

kaelenX

Post by kaelenX » Tue Jan 31, 2017 6:52 am

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

rld
Posts: 223
Joined: Sun Jan 25, 2009 2:17 am
Location: Dallas, TX

Post by rld » Mon Feb 27, 2017 8:47 am

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>

Joe_Bonk_guesting

Post by Joe_Bonk_guesting » Tue Mar 21, 2017 5:59 pm

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.

Admiral Ackguh
Posts: 131
Joined: Sat Nov 03, 2012 11:26 am
Location: Canada
Contact:

Post by Admiral Ackguh » Thu Aug 17, 2017 12:05 pm

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.
- A:A:

Admiral Ackguh
Posts: 131
Joined: Sat Nov 03, 2012 11:26 am
Location: Canada
Contact:

Post by Admiral Ackguh » Thu Aug 17, 2017 12:20 pm

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?
- A:A:

Post Reply