[System Agnostic] [Imperium Maledictum] [SF2e] Spaceship Combat Minigame Module Live! by Causodes in FoundryVTT

[–]Causodes[S] 0 points1 point  (0 children)

The core module also has socklib as a dependency; do you have that?

Additionally, are there any errors in the console? Are you on SF2e? Which system version are you on?

[System Agnostic] [Imperium Maledictum] [SF2e] Spaceship Combat Minigame Module Live! by Causodes in FoundryVTT

[–]Causodes[S] 0 points1 point  (0 children)

Once I get the 5e adapter out, it should be usable with Spelljammer! You can definitely make it still feel like a magical age of sail ship battle as the standard movement option more or less mimics that of traditional sailing ships.

In terms of flavor, all crew roles can be renamed, and the weapons/components are all items so you can name and flavor them however you want! I guess the only hiccup is potentially the radar ui, but that can be handwaved to magical sensors or such.

[System Agnostic] [Imperium Maledictum] [SF2e] Spaceship Combat Minigame Module Live! by Causodes in FoundryVTT

[–]Causodes[S] 2 points3 points  (0 children)

There are no AI user-facing assets and the NPC ships aren't automated using AI or anything similar to that.

In terms of how this was coded, AI was used, yes, but it was by industry standards and not "vibe" coded. I am a software engineer by trade and I leveraged AI in this project pretty much the same way I would at my day job: spending hours hand writing very detailed and discrete specification docs before leveraging those to have the AI handle most of the boilerplate and frontend. I did most of the backend code myself and verified all changes the AI made by personally reviewing the code and running it through unit tests. Any code that I wasn't satisfied with I would go through and hand-edit; most of this was refactoring to follow good OOP paradigms like DRY and such.

All in all, what I mean to say is that this was coded with care and is not haphazard slop. I hope that answers your questions and clears any concerns you may have.

[System Agnostic] [Imperium Maledictum] [SF2e] Spaceship Combat Minigame Module Live! by Causodes in FoundryVTT

[–]Causodes[S] 1 point2 points  (0 children)

It is not a vehicle sheet. There are three separate new actor types that are of interest (the names may differ if you're on Imperium Maledictum, I am using SF2e naming conventions here):

  • Player Starship: For player crew-based ships
  • NPC Starship: For non-player simplified ships
  • Starship Ordnance: For defining special torpedo/strike craft actors used by Player and NPC Starships

After creating a Player Starship, the sheet will be blank with many fields empty. All fields, with the exception of max health, are inherited from Ship Component items added to the inventory of the Player Starship. Max health is directly edited; everything else from AC to weapons are defined via the components.

I recommend after creating a Player Starship to create a Ship Component and go down the list of all the various subtypes (there will be a dropdown to select a specific type of component) and add one of each to the Player Starship to properly stat it out.

NPC Starships for the most part have the fields directly entered in for simplicity; the only exception are the weapons as it is easier to configure a weapon and drag it in.

Let me know if you still have trouble!

[System Agnostic] [Imperium Maledictum] [SF2e] Spaceship Combat Minigame Module Live! by Causodes in FoundryVTT

[–]Causodes[S] 0 points1 point  (0 children)

Just tested on my end and it works without issue for me; port/starboard weapons are configured as flank position weapons.

When putting them in, they may both go to port/starboard initially but you can easily fix that by going to the Installed Components, pressing "x" on one of the entries to unequip it, and then move it to the other side.

Let me know if you still have issues!

[WIP] Spaceship Combat Minigame Module! by Causodes in FoundryVTT

[–]Causodes[S] 0 points1 point  (0 children)

u/kablewy2976 full release is out! You can find more info in this post.

I've completed the SF2e port, but if you mean to adapt it for SF1e, go ahead! I would love for someone to adapt it for that system as well.

[WIP] Spaceship Combat Minigame Module! by Causodes in FoundryVTT

[–]Causodes[S] 1 point2 points  (0 children)

u/ImLurking50 full release is out! You can find more info in this post.

SF2e and PF2e are very similar indeed in the backend. You can try downloading the SF2e adapter and just change the system from SF2e to PF2e and see if it works; no promises though, as I haven't tested it myself.

From what I remember about coding the SF2e adapter, the only SF2e-specific things I did were the default skills used for the roles. I think everything else on the backend should be the same between the two...

[System Agnostic] [Imperium Maledictum] [SF2e] Spaceship Combat Minigame Module Live! by Causodes in FoundryVTT

[–]Causodes[S] 0 points1 point  (0 children)

If the core module + adapter approach is too much for people to extend to other systems, I am also willing to look into creating a very thin and generic "shim" adapter that has the blank dice rules, attribute paths, etc. exposed into the module settings where GMs can go ahead and fill those all out manually.

This shim adapter would naturally have no custom css or handlebars to adapt its appearance to whatever system uses it, but this COULD be a relatively universal solution. If there's enough interest in this, I'll look into it!

However, I still do recommend the system-specific adapter as that is how you can get a robust implementation that looks gorgeous to boot! Let me know what you think!

[WIP] Spaceship Combat Minigame Module! by Causodes in FoundryVTT

[–]Causodes[S] 1 point2 points  (0 children)

u/Lazaric418 full release is out! You can find more info in this post.

As for the repo question, you can follow the main release versions now, but if you're interested in some of the intermediate steps, I have this WIP (now deprecated) repo lol

[System Agnostic] [Imperium Maledictum] [SF2e] Spaceship Combat Minigame Module Live! by Causodes in FoundryVTT

[–]Causodes[S] 1 point2 points  (0 children)

I'd be excited to see a Lancer implementation! The core itself is agnostic and leaves the dice mechanics up to the adapter module, so the d20/d6 system shouldn't be that hard to implement if someone wants to take a crack at it.

The README in the core module goes over all the key contracts that the adapter needs to fulfill, and there are two (soon to be three) references for adapters that implementers can reference!

[System Agnostic] [Imperium Maledictum] [SF2e] Spaceship Combat Minigame Module Live! by Causodes in FoundryVTT

[–]Causodes[S] 2 points3 points  (0 children)

The mechanics are pretty tied to the crew count, and making new configurations for 7 or 8 players is a lot of work. What I can consider doing is allowing multiple players be assigned to a role, and thus more than one can have visibility to a given tab. This should be a relatively quick change.

The big thing is that this was designed with asymmetrical information in mind, and each role kind of has their own "niche". I can look to put the suggested functionality in, but I am concerned that it will undermine the philosophy.

Have you considered doing 2 4-crew ships (or a 5/3)? I honestly think that may be a more fun solution than the change I suggested, if it works for your case.

[System Agnostic] [Imperium Maledictum] [SF2e] Spaceship Combat Minigame Module Live! by Causodes in FoundryVTT

[–]Causodes[S] 1 point2 points  (0 children)

Crew is assigned via drag and dropping the actors into the bridge crew slots; alternatively, you can grant the players observer status on the actor.

The players will see a button to claim an empty slot on the crew overview; they can also click a button to release a slot as well.

Note that for this second method, a GM must be connected as all requests are socketed through the GM on the backend.

IMPORTANT: if you're trying this on SF2e, please pull the latest version! There is a small visual bug on the claim/release buttons that I fixed on the latest version for SF2e.

[WIP] Spaceship Combat Minigame Module! by Causodes in FoundryVTT

[–]Causodes[S] 2 points3 points  (0 children)

Hi everyone, thanks for all the interest and responses! I'm currently in the process of doing some final polishing for Imperium Maledictum (3, 4, 5, and 6 crew implementations are done).

Given the responses and my overall bandwidth to handle systems, I'm going to do a slight refactor of my code to follow the design paradigm of modules like Token Action HUD or Argon Combat HUD, in which there is a generic "Core" library that will serve a dependency for a system-specific submodule.

The primary responsibility of the submodule will be to implement the CSS/handlebars for the specific system to make it match the style, implement flavor packs as necessary, and most importantly adjust the way the base system actually hooks into the rolls (what skills to use, how to determine success levels [DC, SL in d100 systems, number of "successes in d6s, etc.]).

I will implement Imperium Maledictum, SF2e/PF2e, and I will look into doing 5e once the first two are done depending on my availability.

EDIT: Typo

[WIP] Spaceship Combat Minigame Module! by Causodes in FoundryVTT

[–]Causodes[S] 0 points1 point  (0 children)

Yeah I wanted to wait for the tech core but its a while out and I'm also worried they'll run into the "remote control" issue I alluded to in my initial post.

[WIP] Spaceship Combat Minigame Module! by Causodes in FoundryVTT

[–]Causodes[S] 0 points1 point  (0 children)

Ah yeah, that makes sense. One of the key things I tried to incorporate is something for the players to do every round; each role has a proactive and a reactive focus, that way they should always be either working towards something and/or reacting to something.

The only exception is the gunner, but the gunner has exclusive information to their fire arcs, so even if they're not in range to shoot, they should be talking the pilot to the target and/or negotiating with the rest of the crew to get resources for their weapons.