Author Topic: [Alpha Release] Ability Management Framework  (Read 15515 times)

0 Members and 1 Guest are viewing this topic.

Re: [Alpha Release] Ability Management Framework
SEXP's are restricted to only the host, but if my understanding is correct, this ability manager wouldn't have that limitation? Meaning that it's even multiplayer-compatible?
I have no idea how FSO handles scripting in multiplayer, so I don't know.

Quote
One of the biggest features of my upcoming campaign is that all the player-flyable Shivan fighters can do tactical subspace jumps. Can your ability manager handle teleportation? Getting reusable & combat-useful player subspace jumps with SEXP's was a bit of a challenge.
The framework can handle any type of ability that requires a single target, so as long as you write all the warping subroutines it shouldn't be an issue.

It's actually an ability I had in mind for Shivan fighter but never got around to write, so I'd be happy to help you out on that :D.

 
Re: [Alpha Release] Ability Management Framework
The SEXP jump system I have set up at the moment distinguishes between an attack-jump and a retreat-jump, based on whether or not you are facing a target. Unfortunately, because of the way FRED handles things, I have to make a list of combat-warp-attackable targets for every mission, usually capships.

An attack jump teleports you in the direction you are facing, to the distance to target, minus 2000 meters. It's great for rapidly closing the distance & making things dead, and also great for escort missions when you need to get back to your escort targets.

The retreat jump just teleports you 7500 meters in the direction you are facing, if you try and jump when the attack jump criteria are not met.

Currently the subspace jumps are hooked to a timer. After executing one, a ship can't use any of its other abilities until it's recharged. Depending on how flexible this new ability system is, I wonder if it's possible to set up an ability energy bar, and have stuff begin malfunctioning severely if it falls below zero.

In the campaign I'm designing, the Shivans are masters of quantum ****ery. If they need to extract 40 units of energy from a bucket that only has 30, they will find a way to artificially induce it by screwing with the fabric of space-time. Energy reserves 'going negative' for short periods of time are not that unusual.
"Obviously the meson bomb is a form of cat-toast-device, with the buttered toast inverted, so that the cat and toast both fly in the direction of gravity much faster than expected. By introducing artificial gravity, a pair of cat-toast perpetual motion accelerator units can be made to collide with one another, and they produce an unimaginably devastating explosion. Both cats are named 'Meson'."

 - Wikileaks 2383

 
Re: [Alpha Release] Ability Management Framework
@Erebus Alpha:
Sounds interesting, you've basically two sets of possible actions when the ability is triggered. Do you have a prototype mission/mod I could look at & see if I can reproduce the ability using the manager framework ?



In other news, I've given some more thoughts on "over time effects", ie. buffs, damage/heal-over-time & other things. (Now I need to decide whether I should try to implement the buff system before or after I rewrite the parsing script...)

Current TODO list :
- rewrite parsing script
- implement buff system
--> write armor/AI buff, DoT & HoT abilities
- add proper AOE support
- clean up modpack
- think about adding some generic sfx/vfx support
- expand targetting options
--> don't be limited to ships
--> don't be limited to ship types
--> think about more complex target selection algorithms

EDIT - derped that message instead of posting a new one
« Last Edit: February 20, 2017, 09:30:18 am by X3N0-Life-Form »

 
Re: [Alpha Release] Ability Management Framework
Indeed, I'll make a copy of my prototype mission, clean up the events so that there are no unnecessary half-finished things floating around in it, package up the mod in a .vp file, and post it on the net.

Only the Manticore has completed HUD elements at the moment, because I have been busy making exponentially prettier beam, weapon, and explosion porn.
« Last Edit: December 10, 2016, 05:04:47 pm by Erebus Alpha »
"Obviously the meson bomb is a form of cat-toast-device, with the buttered toast inverted, so that the cat and toast both fly in the direction of gravity much faster than expected. By introducing artificial gravity, a pair of cat-toast perpetual motion accelerator units can be made to collide with one another, and they produce an unimaginably devastating explosion. Both cats are named 'Meson'."

 - Wikileaks 2383

 
Re: [Alpha Release] Ability Management Framework
Not dead yet ! I managed to find a bit of time this week-end to implement the "buff" system. It's pretty neat, although I haven't had time to test it in depth yet. I'd like to try mimicking some of the abilities I've come across in other mods, such as BP's One Future & The Blade Itself.

I'd like to implement a basic buff status HUD display, akin to what I did with abilities.

I've also looked into adding "casting" sound effects, to give it more flavor. "Impact" SFX + VFX in general are being shelved for now.


However, there's a bunch of refactoring I want to do before going further. Buffs & abilities share a number of similarities, so I want to switch to a proper OOP approach, plus reorganizing my scripts. And I still need to rewrite the old parsing script.


Current TODO list :
- refactor Buffs & Abilities into Objects
- reorganize scripting library
- rewrite parsing script
- implement buff system
- test buff system
--> write armor/AI buff, DoT & HoT abilities
- streamline ability library functions & remove redundancies
- extract constants into table parameters
- add proper AOE support
- clean up modpack
- add some generic sfx/vfx support
- expand targeting options
--> don't be limited to ships
--> don't be limited to ship types
--> think about more complex target selection algorithms

Priority levels: high, medium, low, very low, done, cute
« Last Edit: February 21, 2017, 03:42:45 am by X3N0-Life-Form »

 
Re: [Alpha Release] Ability Management Framework
*Meanwhile, two years later*

Yeah, I kinda got sidetracked...
In any case, I'm back to working on this apparently, which theoretically should go a bit more smoothly now that I solved the Lua-OOP stuff.

So what's new since 2017 ? Nothing really, I switched my dev environment to Knossos, and I rewrote bit of my table parser so that it doesn't destroy my brain every time I try to use it. Next step is converting all my table tables to table objects, then essentially do the same thing with all my ability stuff, then either expanding the buff system, or add proper vfx/sfx support, whichever feels more fun.


Current TODO list :
- switch all table horrors to TableObjects
- switch mod to Knossos
- refactor Buffs & Abilities into Objects
- add SEXP support
- reorganize scripting library
- rewrite parsing script
- implement buff system
- test buff system
--> write armor/AI buff, DoT & HoT abilities
- streamline ability library functions & remove redundancies
- extract constants into table parameters
- add proper AOE support
- clean up modpack
- add some generic sfx/vfx support
- expand targeting options
--> don't be limited to ships
--> don't be limited to ship types
--> think about more complex target selection algorithms

Priority levels: high, medium, low, very low, done, cute

 
Re: [Alpha Release] Ability Management Framework
switch all table horrors to TableObject - done

I am officially back to where I was at 2 years ago, only things are less vomit-inducing under the hood. I'd still like to refactor the buffs & abilities the same way I did the parser, but that should be much easier. Right now, I'm more excited about getting some sound and/or visual effect support in.

Current TODO list :
- switch all table horrors to TableObjects
- switch mod to Knossos
- refactor Buffs & Abilities into Objects
- add SEXP support
- reorganize scripting library
- rewrite parsing script
- implement buff system
- test buff system
--> write armor/AI buff, DoT & HoT abilities
- streamline ability library functions & remove redundancies
- extract constants into table parameters
- add proper AOE support
- clean up modpack
- add some generic sfx/vfx support
- expand targeting options
--> don't be limited to ships
--> don't be limited to ship types
--> think about more complex target selection algorithms
- Make support ships resupply ammo reserves

Priority levels: high, medium, low, very low, done, cute

 
Re: [Alpha Release] Ability Management Framework
Well then, I've had quite a bit of fun since the last time I posted here. I've had time to test the buff system quite extensively and started to go a bit nuts with it, giving me the opportunity to find & fix a few bugs here & there. I finished writing in a basic sound & visual effects system, allowing the modder to specify whether a 3d sound or animation should play when an ability is cast, or when a buff is applied, ticks and expires.

Now I'd really like to SEXP-fy my FRED scripting calls, as it would make things sooo much cleaner in there, as well as finishing my Object refactoring.
I'd also love to have buff-placing weapons, though I'm still not 100% sure how I'm going to go about it.
Plus, there's some new abilities that I'd fancy implementing :P

(Also, I'm thinking this thread would be more at home in the Scripting Workshop rather than in releases)

Current TODO list :
- refactor Buffs & Abilities into Objects
- add SEXP support
- test buff system
--> write armor/AI buff, DoT & HoT abilities
- extract constants into table parameters
- add proper AOE support
- add some generic sfx/vfx support
- expand targeting options
--> don't be limited to ships
--> don't be limited to ship types
--> think about more complex target selection algorithms
- make support ships resupply ammo reserves
- *new* add custom key support
- *new* improve player ability display
--> ease up on the debug log prints when necessary
- *new* implement new abilities
--> *new* Kage Bunshin no Jutsu
     * need to poof the clones before expiration (eg. make buff expire on death)
--> *new* Tracer-style Recall
     * needs to look & sound more impressive
     * need to test how it scales up to more ships
     * need to restore primary & secondary ammo
--> Tracer-style Blink
--> Bloodlust
--> Destructor Ray
--> Oh look at it go!
--> Time stop
--> In-mission jump
--> Warp-in respawn
--> Dispell
--> Metamorphosis
--> For Khaz Modan!
--> Diva's Defense Matrix
- *new* add buff placing weapons
- *new* address buff stacking
- *new* add *.tbm support to the table parser
- switch all table horrors to TableObjects
- switch mod to Knossos
- clean up modpack
- rewrite parsing script
- implement buff system

Priority levels: high, medium, low, very low, done, cute

 

Offline Darius

  • 211
Re: [Alpha Release] Ability Management Framework
As with all script releases, I would be very glad for sexp support, it provides an accessible way to quickly work out how a script works which in turn increases confidence for someone not script-savvy (like me) to add in custom parameters later  :yes:

 
Re: [Alpha Release] Ability Management Framework
I've added SEXP support for the most important functionalities of the ability framework and ship variant system, though I haven't had time to verify that everything works as intended yet.

Now I'd like to finish up my object oriented refactoring to bring the buff system in line with everything else. I think it's also time I take a look at bringing in area (volume?) of effect and buff-placing attacks, then dive back into spell-making a bit for a little while to have fun with that.


Also, could this be moved back into the scripting workshop ? This is more of a development thread that happens to include an "alpha release" as proof of concept rather than a proper release.

Current TODO list :
- refactor Buffs into Objects
- add SEXP support
- extract constants into table parameters
- add proper AOE support
- expand targeting options
--> don't be limited to ships
--> don't be limited to ship types
--> think about more complex target selection algorithms
- make support ships resupply ammo reserves
- add custom key support
- improve player ability display
--> ease up on the debug log prints when necessary
- implement new abilities
--> Kage Bunshin no Jutsu
     * need to poof the clones when dying before expiration (eg. make buff expire on death)
--> Tracer-style Recall
     * needs to look & sound more impressive
     * need to test how it scales up to more ships
     * need to restore primary & secondary ammo
--> Tracer-style Blink
--> Bloodlust
--> Destructor Ray
--> Oh look at it go!
--> Time stop
--> In-mission jump
--> Warp-in respawn
--> Dispell
--> Metamorphosis
--> For Khaz Modan!
--> Diva's Defense Matrix
- add buff placing weapons
- address buff stacking
- add *.tbm support to the table parser
- switch all table horrors to TableObjects
- switch mod to Knossos
- clean up modpack
- rewrite parsing script
- implement buff system
- add some generic sfx/vfx support
- test buff system
--> write armor/AI buff, DoT & HoT abilities
- refactor Abilities into Objects

Priority levels: high, medium, low, very low, done, cute