After @urquan's recent post about participation on TheMotte not being as enjoyable anymore, I dropped a comment suggesting a group creative activity, to take our mind off the Culture War, and give people other reasons to come here. The idea to make a mod for Freespace 2 got fairly good feedback, so I'm making this post to give you my pitch, and to coordinate development.
High Fleet (in Spaaace)
Freespace is a space fighter sim that sends you to fight alongside massive capital ships duking it out with each other with giant beams, shells, and missiles. It does a very good job making you feel like you're a part of a bigger war machine, doing your part to fulfill a grander strategy... the problem is most of that is accomplished through good mission design, scripting, and storytelling. You might sometimes wonder if you could have turned the tide by knocking out a beam cannon, or disabling a ship's engines before it gets away... why yes, you could, and this is why these subsystems have been made indestructible during that particular mission. Such are the joys of story-driven games, so I'm not even mad, but this made me feel there's something missing in the game.
By contrast High Fleet is a part-strategy part-action-arcade roguelike, where you take your fleet behind enemy lines to strike at their heart. The combat mechanics are the least interesting part of the game in my opinion, but the strategic view in which you spend most of your time feels very compelling. You can split your fleet, and have your detachment clear up the area to prepare for the arrival of your flagship, gather intelligence, or look for allies. You do all of this while dodging patrolling enemy strike groups.
So why not combine them? FS2 had been open sourced, and now features an extensive Lua scripting API, and an optional libRocket based interface. It is possible to implement a High Fleet-like strategy game in libRocket, and dynamically generate a combat mission upon encounter. The lore of Freespace has a few things that lend themselves to this sort of strategy game:
-
FTL is done through subspace jumps. Throughout the vanilla campaign there are references to ships needing to power up their drive before they can make a jump, and while to my knowledge rules governing subspace drives have never been hashed out (and may in fact be contradictory, in service of the storyline), setting up something simple like “bigger ships need more time to charge their drives” will already create quite a bit of strategic depth. Maybe you have a destroyer that's more than enough to deal with a threat you detected, but if you use it, it'll be comitted to that battlefield for an extended period of time, what if they're just luring you away from their true objective? Do you scramble a few fighter wings, and send them instead, since they'll be easier to recall if necessary?
-
Inter-system jumps rely on “jump nodes”. This limits where you can travel to from the current system, and allows for blockades which you might need to break through (or set up yourself if you want to make sure your enemies won't escape).
-
Subsystem mechanics. Each ship has a bunch of subsystems, typically: weapons, engines, sensors, and navigation. You might not have enough firepower to destroy an enemy ship, but maybe it's worth it to sacrifice a few fighters to knock out a subsystem? Maybe you're want to raid a freighter convoy, but there's a patrolling anti-fighter cruiser nearby that will make mince meat out of you. If you knock out it's engines it will give you enough time to deal with the freighters. Maybe you're trying to lose a pursuit, and there's no way you can jump out of their sensor range - why not knock out their sensors then?
-
Ship specialization. It's hard to give justice how much room to play there is here, even with just the vanilla assets. Some capital ships are very good at taking out fighters, some are very good at taking out other capital ships. Bombers are a threat to even the biggest capital ships, but are vulnurable to fighters and interceptors, and need to get into point-blank range or there's a high chance their payload is intercepted. Reconessaince will be very important, and the player will need to adapt their strategy to what they have vs. what they're up against.
Hopefully, the result will be the best of both worlds - dynamic strategic gameplay, with a fun combat system.
What we have, and who/what do we need?
-
I'm a developer, and I'm happy to handle to coding side of things, although the more, the merrier
-
@FCfromSSC has offered to handle the 2D/3D art. I don't know if you can/wan't to handle this side in particular FC, but we'll need someone who can design a nice interface.
-
@netstack has provisionally offered to join in unknown capacity.
-
a writer would be nice to have. A strategy game could still be fun with no/minimal story, but if we're cloning High Fleet I think it would be nice to have a storyline. If nothing else, can someone please come up with a title for this project!
What's the plan?
-
I'd say step one would be the UI, and the intra-system strategic gameplay, and dynamic mission generation.
-
After that we have to decide about the inter-system/"high level" strategic gameplay. Do we indeed just copy High Fleet, or are we adding/changing something?
-
Do we use the Freespace universe or make our own? The former is easier, and we can reuse existing assets, but maybe our artists want to run wild?
Jump in the discussion.
No email address required.
Notes -
Coding Update 002 - Something Resembling A Game
I took @netstack suggestion, and implemented a whole bunch of things that should now let you fight every ship visible on the strategic map:
If a ship dies in a mission, it dies in
real lifethe strategic view.At the end of a mission, ships' health is persisted.
After leaving the mission, you're brought back into the strategic view.
At the moment, the above means that if you try to warp out without killing the enemy ship, or your ship dying, you'll be thrown right back into the mission.
If all friendly or enemy ships are eliminated, you are greeted with a "you lose/win" dialog, which will throw you back into the main hall.
Though the odds are against you, I've found you can actually win. That Shivan corvette has superior firepower, but sometimes your cruiser can get it in a headlock and pommel it, from outside the reach it's cannons. If that happens speed up the time as much as possible, because that sort of battle takes over an hour to resolve.
Starting the campaign again from the main hall resets the game state.
Which means we have an actual game loop!
More options
Context Copy link
Coding Update 001 - Initial Commit
Ok, I cleaned up the code to a somewhat presentable state. I created a github repository for the project. I think Knossos offers hidden releases, but I don't want to pollute the FS2 community's hub until we have something we can show off.
The mod is based off the SCPUI Test Mod, so I included 2 branches with that in the repository for reference - one with version 0.6.0, that seems to work without issues and off which I've actually been working, and one with the current 0.9.0 version where a bunch of stuff seems to have been refactored, but it doesn't work for me when I try to run it.
Install instructions are in the README, you basically just need to clone it into the FS2 data directory (i.e. where all the mods are).
Right now all we is the implementation of the points @netstack's proof of concept comment:
This is what it looks like. Left click to select, right click to move (only works on friendly ships). If the ships end up close enough to each other, it triggers a mission where they are spawned and start fighting each other. As the player you are still in a fighter, since having a player ship is the minimum requirement for an FS2 mission to work. Later on I'll figure something out for putting the player in the ship that's actually present on the scene.
Next up... I'm not sure, there's a bunch of things to tackle:
Reading / writing the world state from/to files instead having it hardcoded in scripts
Fleet management. It's would probably be hell to micromanage every unit on the strategic map, so they should be merged into fleets. Part of the management could be to set up their initial deployment formation on mission start
Tactical mission view - a handier way to give orders during a mission than the vanilla comm menu.
@FCfromSSC, for the moment I'll be using the SCPUI mod's graphics as placeholders, until we design something that's going to fit our universe better.
Great work!
I was able to download the mod and run it. No issues loading, opening the campaign UI, or completing a single mission. (I haven't figured out how to run it at the same time as other mods, like MediaVPs, but that's probably for the best.)
Was it intended to "end" the campaign after one fight? I expected to have one battle for each enemy icon.
Your script for managing the UI was clear and easy to understand. I feel like I could take a swing at adding strategic travel time this weekend, if you want:
Add a play/pause button and hotkey
Right-clicking chooses a destination
While unpaused, the player fleet moves towards that destination
Getting close enough (possibly indicated by a circle around the target?) triggers the battle
In theory, enemy fleets could move, too
My only other note is that I would prefer HighSpace to SpaceFleet.
It's a small update not worthy of a top level comment, but I just added a MVPS compatibility package to the mod
More options
Context Copy link
The mod.json I uploaded is set up to run standalone, but I think this can be changed by adding other mods as dependencies. Another option is to use the
-mod
switch as per the readme. It accepts a comma-separated list of mods (i.e. the names of directories their data is in).But yeah, you will run into issues with this. MediaVPs is not compatible with SCPUI that our mod is based on (the font sizes will get all out of whack for some reason). I'm planning to get to the bottom of it at some point, but for the time being, it is what it is.
Yeah, it was intended, in the sense I just wanted to test jumping into procedurally generated missions from the strategic view, but I can't believe I didn't think of the latter. "Cleaning up the map" is already a basic functional game, so I'll try to add that over the weekend.
Please do, the only thing I'm wondering about is this:
FS2, as well as all the mods I've seen use subspace jumps for FTL, which would imply more of a turn based strategy mechanic. I was also thinking of something more real time, in the vein you describe. The other day saw a reference to other "Warp Types" in the FS2 source code, so maybe they have other warp effects that will lend themselves to more linear, and we could use those for in-system travel. That said, I don't know what would be more fun from a gameplay perspective. I had some ideas bouncing around my head about part of the game being trying to triangulate the location of the enemy fleet based on the jumps that happen within sensor range. Then again, the idea is still very vague in my head, and I don't know anything will come out of it.
So all this to say - go ahead, just keep in mind we might rework it all later.
Another thing I can't believe I didn't think of. I already changed the name of the repository (which means you need to update your git remote - sorry), I'll update the readme now.
More options
Context Copy link
More options
Context Copy link
More options
Context Copy link
Art Update 002 - Ship Concepting
I spent the morning knocking out my first rough concept model. (now with annotations). The idea here is a smaller capital ship, a slow-moving anti-ship missile boat with a significant sensor package for detecting and targeting at extreme range.
The model is rough and highly unoptimized. the Wiki recommends 6k to 12k tris for cruisers, and this one looks like it's going to hit around 10k once a lot of the little detail bakes out. It's a reasonable first-look at one of the styles I'm going for, drawing on the chunky utilitarian style of the High Fleet ships, with exposed scaffolding and chunky hull plating, exposed fuel tanks and radars studding the structures.
Thoughts welcome.
/images/1687906522770697.webp
Whoa. Missed this when you posted it, but that's a hell of a chunky design. Nice. Looking forward to seeing it in action.
Thanks! :D I've just posted up a bunch more in the August thread, so check 'em out and tell me what you think!
More options
Context Copy link
More options
Context Copy link
Heh, this takes "High Fleet in Space" a little bit more literally than I meant it. I really like the design, but I'm a bit obsessive about having art, mechanics, and narrative in relative harmony, so the giant fuel tanks make me wonder:
Is fuel-to-rest-of-ship ratio a constraint all factions are subject to?
High Fleet was using 2D to cheat with exposition a bit. You could see the tanks from the screen, but they were covered by armor from the sides. If it's so exposed in 3D, how vulnerable does that make the ship? Is landing a blow on the tank going to destroy the whole ship? Just lose it's fuel?
I guess one way out of the above dilemma would be to say - the ships are carrying anti-matter, if you blow up the tanks, the whole thing goes to hell, but most of the tanks are armor, and redundant containment mechanisms, so it's extremely hard to punch through.
Otherwise the concept of long-range missile artillery should work pretty well with the FS engine, I've seen ships in action that work on the principle.
Or, if by "extreme range" you meant "effective even from outside the scope of a typical battle", we could have the missiles launched from the strategic view (like the A100's and Kh15's in High Fleet), which would force the target to scramble interceptors and hope they can take them down before they hit.
With appropriate caveats that I'm just the artist and am not trying to dictate game design...
I was thinking of it as a strategic-view cruise missile platform, but it could just as easily be used as a pocket carrier or a short-range missile-spam platform, as needed. I'm thinking of it as the sort of ship that really does not want to take a hit or mix it up with enemy fighters; it wants to harass from long range, and then skedaddle while its more capable escorts deal with any pursuers.
uh, maybe? Or maybe there's different sorts of drives, with a cost/compactness/minimum-practical-size/thrust tradeoff going on, and bigger classes of ships can use much more efficient and less vulnerable engines. That's what I'm leaning for here, with this being one of the smaller options that maximizes cheapness at the cost of pretty much everything else. Maybe different factions have different varieties?
...Can we do hit-location-based durability/armor/damage? subcomponent damage? Assuming the ship isn't just a brick of hitpoints, I'd say it's probably a good thing for ships to have weak points, even just from a theory standpoint. Evenly-distributed all-aspect armor is never going to be as effective as selective armor; all aspects aren't equally likely to take hits, and putting the armor where the hits are most likely to come from and around the things you least want to take damage means you get thicker armor where it's likely to do the most good: particularly the part you're aiming toward the enemy's guns, which is generally the front. Here's an annotated example of how I'm thinking about the subcomponents. The red section and green sections surround the bulk of the reactor in fairly dense armor, with the drive blocking damage directly from the rear. There's a relatively small area from the rear 3/4s angle that would be particularly vulnerable, with seems reasonable for a ship like this, but of course we can rework all this as needed for fluff or game mechanics.
There's also the question of what protection is relative to. the thin black rectangles spiraling around the hull are my stand-ins for the missile launch ports, to give an idea of relative scale. I'd assume a standoff anti-ship missile hitting pretty much anywhere on this ship is probably a catastrophic kill; the main hull is full of ordinance, and a big anti-ship missile can probably penetrate the reactor cladding regardless. Ditto for things like spinal-mount railguns or beams, or other dedicated warship weaponry. Presumably the armor it has is for fighter-class weapons and other light ordinance, but that's really a game design decision, not solely an art one.
I'd say puncturing the tanks just means a fuel leak (or disposable coolant for emergency heat disposal while rapid-cycling weapons or driving the reactor harder, if that's a thing mechanically or in fluff). tanks of this sort could even be a sort of armor, if they're loaded with inert gas or liquids used for reaction mass or coolant or similar; the old St. Louis cruiser used its coal bunkers in a similar fashion, if lore is to be believed. Reactors seem like the better "puncture this and the whole ship goes up" target. for this one, the reactor's buried under some pretty thick plating from the sides, and by the drive from the direct rear. So we could have:
tanks as volatile weak points
tanks as ablative armor, with no penalty to the ship's short-term performance
tanks as subsystems, debuffing or status-effecting the ship when struck.
...And then mix and match these as desired for a given hull. All this is just spitballing, though.
Don't hold back. I like the way you think, and brainstorming is good even if we run into a dead end occasionally. Worst case is that something sounds too complicated, and I'll put it on the "nice to have" list.
I didn't originally think of this when I was considering which parts of High Fleet to clone, but I think it's a great idea. Cruise missiles were pretty fun in HF. I think it might work pretty well with Freespace mechanics too - like I said fighters and "AA" guns can shoot down bombs. Also, fighters have afterburners that give a short boost, so if we balance the speed of cruise missiles, so fast fighters on afterburners can just about keep up, we could set up something like the missile intercept minigame from HF. You'd get two shots at the incoming missile - once facing it as it's coming at you, and the second time when you turn around and hit the burners, but if you don't shoot it down before they run out, the missile leaves you behind and hits it's target.
Oh, I completely misunderstood the design. I thought the main hall was a giant exposed fuel tank. This pretty much resolves all the doubt's I had.
I'll have to check what's available out of the box, but I know for sure there's a component system, and you can arbitrarily assign hit points to each component. I think you can also trigger reactions if they get destroyed. There's also a dedicated class of damage for them, so some weapons can be better at taking them out, than the generic parts of the hull.
There might be an armor system under the hood, but I'm not sure. If not I saw a mod that was advertised as having some new armor - based damage system. I haven't played it but it light be worth looking into.
Yeah, since this is long-range artillery it makes sense for it to be fragile, if anything bigger gets it's hands on it.
I like the second, and third option. Worth playing around with.
More options
Context Copy link
More options
Context Copy link
More options
Context Copy link
More options
Context Copy link
We've long had a blood in the clocktower discord group. Although we've allowed dramanaughts and the like to join for numbers if fighters aren't your jam. The games are asynchronous with each in game day taking place over 24 hours. Botct is a hidden role game where you'll be given a special role on the first day and either a goal to protect or kill the player who is given a demon token. We're getting ready to start our 42nd game.
Fighters?
It’s too much to hope that this is secretly a 2D fighter discord, right? I enjoy me some Guilty Gear….
Nah, board games pretty exclusively.
More options
Context Copy link
More options
Context Copy link
More options
Context Copy link
@arjin_ferman - Was busy driving all weekend, but I've bought Freespace 2 and am going to be trying it out this week. I can take a crack at interface assets if you can lay out what you need. Are we planning on the sort of heavily-skeuomorphic UI stuff High Fleet does?
On the art side, I've been putting together a compilation sheet of reference art of cool-looking space ships, as well as some examples of the High Fleet ship sprites: Ref-Sheet-01-Copy.png
I'm starting on modelling a spaceship component kit of modular pieces we can use to build hulls from, and putting together some rough concepts of unique ship designs. If anyone has ship designs or ideas they particularly like, post 'em up, and I'll try and add them to the mix.
If there's more important art stuff needed, let me know.
[EDIT] - If you're polling for what we wanna do, I wanna make ships and guns and missiles and explosives. space stations are good too. the spaceship kit stuff should generalize to interior environments for the UI as well, if we're doing the freespace environments thing.
Provisionally yes, but I'm not married to any particular vision yet. What I liked about the High Fleet UI was that it really made you feel like you're manning a giant airborne ship. I want something that reproduces that feeling for a starship. At first the basic functionality of the UI would be the same - a map, fleet management, maybe target info.
My main question is how many do you think you can do? If we can pull off a couple of designs for each class of ship, then we can drop the FS universe and you can let your creativity run wild, and @Mantergeistmann will be a lot less constrained as well. If you don't feel up for it, we should either stick to the FS style of ships, so we can reuse vanilla assets, or at least find a relatively compatible mod that we could fall back on. I do love the idea of making it modular, then worst case scenario we can hack something together from the stuff you've done.
@Mantergeistmann, while we're discussing this, do you have preference for the scope of writing your want to do? Would you want to write a whole new universe, or just create a story set in one? Any preference for the main quest? I was thinking of more or less lifting the one from High Fleet - break through enemy lines, and strike at their heart. If we go with FS, we'd need to adapt it a little bit, because the BigBad (the Shivans) of that universe are an eldritch horror beyond our comprehension, and I don't like the idea of striking at their heart, so the idea would be something like: due to a subspace jump accident, your fleet found itself deep in Shivan territory - find a way back home, and don't go insane in the process. Any preference, or ideas of your own?
I'm not sure what you mean by that, how would that work?
My goal at the moment is to do custom ships for all classes and at least a couple of distinct faction styles, but I want to get a handle on the implementation process for freespace before I start making promises. I'm currently working my way through the shipmaking instructions in the hard light wiki. Unless I hit a serious roadblock pretty quick here, I'd vote for ditching the FS stuff completely. I'm gonna try to have my first ship built and in this week, family engagements permitting.
Freespace does that initial hub interior shot with the various sub-menus selectable by various doorways. I haven't looked through all the menus yet, but at least the initial hub is a full ship-interior environment. A lot of the structural and utilitarian kit pieces I'm working on can be recycled for interior environments as well, I think.
For the moment, I'll assume we're just reskinning the existing UI, and we can go from there as plans develop. That sound workable?
I think we could push through even if you do hit a roadblock, we'd just split the work in that you'd make the designs and I'd take care of doing whatever adjustments are necessary to make them compatible with the game.
I do like the idea of ditching FS lore, it will give us a lot more freedom.
I wouldn't work on the assumption of mere reskinning, I think we'll need to revamp the whole thing. The FS interface has a specific workflow that works for a fighter sim, with mission-based campaigns. I don't think it's going to work well for something more open-world-ish. Even boyond the High-Fleetesque strategic view, I'm not sure the ship selection, and weapon loadout screens are viable for a fleet with more than 3-4 fighter wings, and other capital ships in tow.
I think @netstack had the right idea about where to start:
So I'd use the stragic view as the entry point, and build everything else around it. Main halls might be a nice idea for story/immersion but to be honest my first thought was to ditch them for a classic menu.
By the way revamping the UI is probably a lot easier in practice than it sounds. The library they're using works on something like simplified HTML+CSS, so it's not much different from designing a website.
I'm game for ditching the FS lore and starting from scratch, from a writing standpoint.
More options
Context Copy link
More options
Context Copy link
More options
Context Copy link
More options
Context Copy link
More options
Context Copy link
If you're looking for a writer with (very) basic scripting knowledge, count me in.
Yes! I'm not very good at the nuts and bolts of story writing, so any help here would be greatly appreciated!
More options
Context Copy link
More options
Context Copy link
I don't have the time to put in actual work, but I am happy to follow this project and contribute commentary. It will be highly qualified commentary, since I have played Freespace 1+2, the excellent Blue Planet mods, and Highfleet, and I have read several works of Science Fiction. I am adequately intelligent and only moderately drunk. Yes, you may be very glad to have me in an advisory capacity.
Seriously though, I'll be curious to see what you guys cook up.
Your resume is impressive, but we cannot be associated with a consultant who is only moderately drunk!
More options
Context Copy link
More options
Context Copy link
Awwww yeah.
I downloaded Knossos and FS2 this weekend and I’ve been playing through the campaign. So far so good.
My day job is software engineering. I’m happy to contribute code once I get more familiar with Lua…previously, I’ve only used it for sleuthing around in Cortex Command mods.
Curious as to what interface FSO provides for strategic choices. Everything I’ve seen so far has been on the battlefield or on the ship mainhall. I think the sine qua non for a Highfleet type game has to be
ability to move ships around on a larger stage
ability to trigger missions using those ships.
As a proof of concept, we could aim for (1) and change the “next mission” button to load different campaign missions. Or a skirmish with the listed ships.
Once I’ve got more experience with the campaign, I will look further into the skirmish options, I guess.
Very excited for this project!
The mainhalls and briefieng / debriefing screens are just the stuff that comes from vanilla. Like I said, they integrated libRocket, which is also scriptable with Lua. Both Lua APIs are integrated (by which I mean you have full access to the game scripting API from the UI scripts). If you want a look at how it works, and some of what it can do, there's a mod in Knossos called "SCPUI Test Mod". It's aim is to recreate the original UI in higher quality, but what you can do with it is essentially unlimited.
Already on it! I already tested launching a skirmish from a UI script, and spawning arbitrary ships, now I'm trying to make basic strategic map where you can move your ships around, and which will trigger a mission if you run into an enemy.
@netstack the code is a bit of a mess, and the UI is very basic, but I got the proof of concept to work! Hopefully by next weekend I'll manage to clean it up, and will be able to show it off.
More options
Context Copy link
More options
Context Copy link
More options
Context Copy link
If you want a universe for this and care to make new assets, there is already one tailor made: that of Honor Harrington.
It has it all, from complex tactical missile warfare with ECMs and point defense galore at ranges that allow the opponents to parlay between salvoes, a bunch of nuclear warhead types to do it with and the "knife fights" in laser range where you eviscerate your enemy by blowing up fusion reactors in the blink of an eye.
It has the adventurous decision making borrowed from nautical tales. It has martial arts, dueling and antique firearms. It has the weird uniforms and culture inspired by Anglo-Euro-American history.
Hell it even has a somewhat gamey FTL system designed to make blockades and other naval entanglement interesting. And a million ways to justify commanding a detachment against hordes of coordinated and overwhelming foes that can be defeated in detail. Usually the French UBI Soviet Republic, since that's what the novels are originally about.
The first time I played High Fleet I was almost disappointed because even though post-apocalyptic Dune Kazakhstan is cool, it's not futuristic Napoleonic naval adventure cool. And I always wanted to play or make something like it for the honorverse. It's a crime it never got a proper video game.
I honestly have no idea how the Honorverse hasn't been picked up for a ton of licensed movies/games/everything yet.
More options
Context Copy link
That's sounds interesting, and not too different from the feel of FS mechanics. The big issue here is that I haven't read any of the books, so I have no idea what changes would need to be done to adapt the game to the HH universe.
The first book is available free on the publisher’s site. It’s not bad, and certainly evokes some of the same tech level as Freespace—while also setting up the Space Napoleonic Wars.
More options
Context Copy link
More options
Context Copy link
More options
Context Copy link