My Space Combat / Boarding Game: Shadow Sails

Hello. So for a brief intro, I have very little programming experience, and am only a hobbyist. I don’t expect to ever release anything (who knows where life goes, but) or anything like that, mainly just for fun and to learn. I’ve found however I’ve been lacking a bit of motivation - I know that sounds silly, lacking motivation for a hobby I like, but I think a part of it is how solitary it is. I enjoy working in groups (generally) and that helps me be accountable. Anyway, I’m not skilled enough to work on an actual team, but why not document my work here? I might get info on how to do things better or something like that, while taking care of the social/accountability aspect in the process.

Anyway, on to my actual game. What’s implemented so far:

Space flight controls - Forward and reverse thrust with different speed limits, mouse aiming, faster pitch rate than yaw (and faster pitch when rolling up) for a skill-based flight system. Numbers still need to be tweaked but the framework is there.

Procedural Asteroids - can control min/max amount of asteroids easily in the editor, max size, min size, etc. To do: Add higher resolution texture (right now it’s increasing the size of the rock model, and applying a metal texture to it. For some reason the m_rock texture fails to load when the editor starts… not sure what the deal is with that, but either way I bet I can find a nice higher res free metal texture that will look much less blurry. I can worry about that after more gameplay though: materials is an area I need time to get into and learn)

Battlestar Galactica style Flak Fields - It just looks cool. I don’t know why space media always seems to use laser weaponry, when craptons of metal flying everywhere looks so awesome. Need to fix minor bug with potential for field to exist forever if you fire another one at another time (although flak fields won’t be a weapon for a fighter, I will need to add machine guns as well. For now it’s to test, but bug needs to be fixed regardless)

Short term goals:
Importing assets from some of the various example maps. I’ve struggled a bit with how to import some stuff, doesn’t seem to be copy and paste like I’d hope.

Develop test spaceship map and implement switching between the spaceship and FPS on board a ship

Add 6DoF - ability to strafe. If I get that in before next month, my game will have better controls than Arena Commander! (I couldn’t resist the cheap shot ;))

Add turrets - watched a video on this, doesn’t seem too difficult to add turrets that track and fire.

Add collision to ship, asteroids, add health, death states.

Periodically work on levels and level assets as the mood strikes me (thinks like ships, interiors, weapons, doodads and so on)

Long term goals:
Implement all of the above in a prototype map that allows you to fly around a combat zone between two fleets, wherin you dodge turrets and defences to crash into a ship (use this opportunity to create a cinematic and learn the cinematic creation feature) and after the cinematic you will be playing an FPS game inside the ship.

Create metagame to select levels - “lore” is two factions of pirates and space cops. Meta game will allow you to, as a pirate, select different missions that give resources you steal (attack mining station? Minerals to build ships. Attack transport? Get credits). Implement system where harder missions require you to have a fleet, which you build with acquired materials. Longer term, split into two factions aesthetically, explain the police faction gets a percentage for what they defend, etc. Add attack and defend missions for both sides - attack pirate base (defend if pirate), attack space station (defend if cops). Eventually, split this into multiplayer with the metagame of finding transports/stations etc working as the lobby/match finder - but i don’t want to fall into the trap of getting ahead of myself. It’s fun to think about, though.

If I make it to this point, start improving significantly the art assets. See if maybe i can find an interested modeller or artist with my prototype.

I like the idea.

I am working on something similar with a less action oriented and more strategy focused gameplay. I was also thinking about adding some kind of spaceship boarding/Shooter elements in the very end. If I ever get that far, maybe we can share some of the workload. Although, I don’t expect to get there within the next 12 month.

If you are interested in tracking turrets, I can give you my Blueprints. Is is really straight forward as soon as you find the right node. I would also be interested in sharing some of the more generic space art assets like debris, asteroids and stuff like that. Making these can be quite time consuming and after the 10th debris mesh it probably gets boring.
Let me know if you are interested.

So I ended up having to move really quickly last month, and as a result I was super busy. I’ve only really gotten back around to this now. I do intend to keep working on it though. I think the direction I want to go for now though, is working on the space combat primarily. I might make a DOTA-in-space type deal, at least in terms of two bases with spawnings NPCs. That’d be a good test. Maybe the boarding could be to take the last structure?

Anyway, here’s what I’ve finished since my last post:
Revamped flight system. Completely changed, made it more simple (blueprint wise), but it actually feels better. It’s also a lot more modular - I’ll be able to very easily, for example, add items that increase your roll speed, or turn rate, or max speed or acceleration. I can also very easily make different spaceships with different flight stats (Although I need to research how to switch which pawn you possess, couldn’t find this at a cursory glance)

Added duel mini-guns to the front of the ship - two streams of projectiles fire, add physics impulse if they hit, emit light (which will look awesome when I tweak it some more). Can hold the button down to continuously fire or click to fire.

Added metagame and following features:
Space station to spawn in. In the future this will be a customizable “home”
Started foundation for inventory - credits, reputation, etc.
Added Transport NPC - it just flies around, is a larger, and longer spaceship, and if you fly within its bounds you will start to earn credits, to imitate robbing it and test inventory.

Metagame Camera/Flight system: When hitting F, camera zooms out and above to a top down view. All inputs except thrust and yaw are disabled so player is stuck to a 2D field.

This allows me to seamlessly move from my 2D “overworld” to the 3D space combat. I want to have the overworld be a kind of lobby or mission finder, or what not. With gameplay elements itself.

Next goals:
Add procedural mission - do this by using the procedural asteroid fields I’ve created. Create an algorithm that will generate a field with random stats, move itself, generate another field, etc. Spawn random transports within this field. Make the mission require you to rob 500 credits from a few of them, then make them explode. Once you have 1500 credits, do the zoom out and destroy the level, and reload the overworld.

When I create my asteroid field designer though, I’m going to test and experiment with how resource-heavy that method is. I’m not really sure how that will pan out… I do plan to keep the levels “smallish”, for a space game. We’ll see. If I find that it’s not good enough to seamlessly transition from 2D to 3D, fair enough I can keep it as a unique once in a while thing, and use traditional level changes for future missions.

Hey, thanks for the reply, and sorry it took me so long to get back to you… a day after your post is when I learned I had to move in a week!

Absolutely I think sharing resources would be a great idea. I’d love to do that. One idea I had was to work on a game communally, but I kind of abandoned that as I think it would be more frustration and effort than it would create benefit. I suspect it would turn into a 20 officers and no soldiers type scenario that I don’t really have the inclination to control. That said, sharing resources between projects that we’re individually working on, or what have you, would be a great idea!

Something that sharing models, and then developing blueprints to procedurally generate which are then shared, or things of that nature, could be an amazing way to save time on things that are commonly used, like asteroids and ships and such