#Expanse-inspired space combat game

1 messages ยท Page 1 of 1 (latest)

solemn lodge
#

Hi, I am developing an Expanse-inspired space game in my free time. I am a big fan of The Expanse show and wanted to make a game that reflects the feeling I get when watching it.

#

I have been working on the project for like half a year now and I am slowly getting to a point where I have a lot of the basic systems implemented. For example I have a damage system where components can be individually damaged (as shown in the first picture), projectiles, a very basic enemy movement, aim predicitions for the Point Defence Cannons and a Heat (Thruster) and Mass Signature system.

#

Found some time today and implemented torpedoes. They use an algorithm called "proportional navigation".
Quite happy to get this done :) So next up is a hitbox system

#gamedev #indiedev #screenshotsaturday #expanse #godot

โ–ถ Play video

Today I implemented Lens flares in Godot using Compositor Effects.
Thanks to pink_arcana's project on Github for helping me understand those effects
github.com/pink-arcana/...

#gamedev #indiedev #expanse #godot

โ–ถ Play video

I think I FINALLY managed to fix the PDC aiming after struggling with it for MONTHS.

They should be able to align themselves way more consistently with the target now.

What you're seeing here is my test scene for them.

#indiedev #gamedev #godotengine #expanse #TheExpanse

โ–ถ Play video

Worked some more on the combat (improved projectile hit detection, added spread to PDCs, added hit VFX, improved aiming logic factoring in acceleration and more). Also improved thruster visuals.

Here is how it looks in action ๐Ÿš€

#indiedev #gamedev #godotengine #expanse #TheExpanse

โ–ถ Play video
#

And this is my latest progress: I improved the asteroid visuals by quite a bit IMHO

solemn lodge
#

And here is another pass on it. I also made the background a bit brighter

solemn lodge
#

And here's yet another iteration over the asteroid. This time I completely replaced the models.

solemn lodge
#

Screen space god rays implemented into the same compositor effect I already used for the sun/ sun flares

solemn lodge
#

Oh I just saw @floral mantle is here too! I credited you in the README as well. Your project was a huge help on getting started with compositor effects.

warm yarrow
#

This looks so dope!

#

Are you doing all models yourself as well? They look very well-made

echo magnet
#

The effect is really good. But a bit of fog should be present even if the camara is not looking at the light source to not loose the effect completely

#

what do you think?

solemn lodge
# warm yarrow Are you doing all models yourself as well? They look very well-made

Nope I am just a programmer not an artist. While I do know my way around Blender and Audacity, I am not super artistic. So I mostly search for fitting assets online and in the case of the ship model I am talking to an artist right now, so maybe soon I will have a high quality replacement for the Rocinante model (because of copyright issues)

solemn lodge
warm yarrow
solemn lodge
# warm yarrow Ah I see. Iโ€™m still impressed with the animations for aiming

Yeah for the PDCs I did some reparenting, transformation etc. in Blender (I also optimized the model in terms of draw calls). The PDCs are split it into a couple different part which can each rotate independently. So I then spent months programming to correctly calculate the rotation of all the pieces. So it is not a premade/ keyframed animation but purely code calculating angles and smoothly rotating towards them

#

Theres some clean math involved in that as well. Like projecting the target point onto a plane and finding the angle between it etc.

warm yarrow
#

nice nice

solemn lodge
#

Improved the godrays once again so that they look more like volumetric god rays. The biggest difference is from the angle shown at the very start of the video (when looking perpendicular to the sun direction). Also some small adjustments to the coloring

solemn lodge
#

And here are a couple more screenshots with some different settings. I have updated the repo too

solemn lodge
#

So yeah I looked into it and after some tweaking made it look good even when not looking towards the sun

solemn lodge
#

Worked a bit on the UI and the player input. Right now there are basically two input "modes" the game can be in:
Control mode toggled using CTRL. If enabled, your ship aligns with the direction the camera is facing. Else it doesnt rotate.
Freelook mode enabled while holding ALT. If disabled, you have an orbit camera around the ship. If freelook is enabled, you are able to look around and better view the details of signatures (heat/ mass) as shown in the second part of the video.

solemn lodge
#

Starting to feel like a real game now! ๐Ÿ˜๐Ÿš€

#

UI is of course just the first draft and not final at all, though I am quite happy with the signatures.

solemn lodge
#

Added a world boundary. Currently I set the size arbitrarily to a radius of 5000 km. That means that two ships can be at most 10000 km apart. Which I believe should be enough to get some nice long range combat ๐Ÿ™‚

I also set the ships max speed to 10000 m/s. Also an arbitrary number but I think clamping it will help the physics engine ๐Ÿ˜…

mild meadow
#

Love this! Excited!
. Would be so cool if the world boundary was the ring network ๐Ÿ‘€

solemn lodge
#

But thank you so much for the positive feedback!

solemn lodge
#

Finally another update from me. I completely redid the enemy pathfinding from scratch. They are now able to roughly follow a path of checkpoints, each having a target speed. It also has an "emergency brake" if things go wrong ๐Ÿ˜„
Its not perfect yet, but huge progress for me and I am happy about that ๐Ÿ˜€

solemn lodge
#

I've made some progress: I rewrote my Bullet system as a C++ engine module. I now use very efficient pooling and a multimesh for rendering. The attached images are:

  • System before (no pooling, each sphere in a separate scene) with 500 spheres
  • C++ engine module with pooling, multimesh but naive raycasting each frame per bullet with ~5000 bullets (10x more than before!)
  • C++ engine module with ~6500 bullets but additional raycasting only if a square distance check to potential targets is successful beforehand
solemn lodge
#

I started implementing bullet penetration into multiple hurtboxes. Here you can see how a bullet hits all three hurtboxes in a row. I still need to implement proper damage falloff but that shouldn't be too hard ๐Ÿ™‚

#

And Performance is still really good! (Even stays the same even though I spawn more bullets each frame. Screenshot was taken at around 5000 bullets)

solemn lodge
#

(Posting the bluesky link this time since the video is 24MB)

solemn lodge
#

And not only is it faster, but theres also a lot more calculations going on. I now calculate not only ricoshet (as seen in the video) but also have a proper damage model in place where the damage depends on velocity and armor of the collider. For example a bullet with 100% Penetration will do 20% of its base damage when hitting a collider with 80% armor.

small crypt
#

is this space infinite because if so i already love it

solemn lodge
# small crypt is this space infinite because if so i already love it

Well for gameplay purposes I have limited the "gameplay area" to a sphere with a radius of 5000 km so two ships can be max. 10000 km apart, but thats really just an arbitrary number. Its not fixed at all but it helps with certain calculations if theres a max. size. I hope you still like the project though ๐Ÿ˜…

small crypt
#

im sure it'll still be good without being infinite lol

solemn lodge
#

๐Ÿ˜ Hopefully, yes. Gameplay is still entirely up for debate. I only wanted to recreate the feeling of The Expanse space battles. Anything around that is entirely flexible. I might also just introduce some new weapons/ tech which isnt used in the show but could be fun.

small crypt
#

Ooooo

solemn lodge
#

But yeah right now I am just laying the groundwork upon which I can hopefully make a fun game

#

The long range combat will be interesting to develop. But we will have to see if I can also make it fun to play

#

Its less dogfighting and more slow paced tactical decision making

#

Also stuff like setting, missions, gameplay loop around the combat is not fixed at all

#

So yeah if you have some ideas or feedback, please let me know ๐Ÿ˜… I am open to ideas that fit the vibe

ancient cedar
#

I'm just stumbling on this, but love the idea! I also love The Expanse and think it would be a cool setting to build out. When it comes to gameplay ideas have you played Nebulous Fleet Command? I love that game but it is hard to convince friends to play it cause it seems so complicated(and it is). When I saw your game pop up it reminded me of Nebulous with a more detailed model. you could make a more personal version of that game where you only really have 1 ship that you command multiplayer is always hard to add but in a game more about tactics I imagine its 'easier'. If you haven't played Nebulous Fleet Command though I would pick it up just for ideas/inspiration alone its a very cool kinda niche game.

solemn lodge
# ancient cedar I'm just stumbling on this, but love the idea! I also love The Expanse and think...

Hi, thanks for showing interest in the project! Yes, I have heard about Nebulous Fleet Command in my bit of research I did. I haven't played it yet though. I am a bit hesitant to play though since it looks very complicated. But maybe at the end of the day my game will be just as complicated ๐Ÿคฃ So yeah I should probably get it. Just from the steam screenshots it looks like its more short-medium range combat? The goal with my project was to enable long range combat over more than a thousand kilometers. Not sure how much time the player will spend in that phase when the gameplay is finished, but that is at least my idea. Right now I am thinking a lot about how I want my game to play. And NFC might be a good inspiration for that.
Maybe since I have you here: What do you like most about NFC and what are your biggest pain points with it?

#

Oh and also right now I haven't thought about multiplayer at all. Like, it would probably be cool and fancy and all that, but I am very hesitant to commit to multiplayer as there are so many problems that come from that decision. The biggest benefit for me would be not having to program that damn enemy AI ๐Ÿคฃ
But also if theres just a small playerbase (which is to be expected for an Expanse game with tactical focus), then multiplayer might not even be viable since finding lobbies etc. would take a while.

#

Maybe I can also watch some gameplay videos about NFC so I don't need to actually learn to play it myself ๐Ÿ˜…

solemn lodge
#

Also watching a video about NFC, I feel like I want it to be more streamlined and less... simulated? Like theres soooo many stats and values and things to be aware about and I wanna try to make it a bit more straightforward. Also I am not sure if possible, but I want a stronger connection between a single ship and the player. Like you should care about the ship you have and make you care a bit more about keeping it alive.

ancient cedar
# solemn lodge Hi, thanks for showing interest in the project! Yes, I have heard about Nebulous...

I think for me personally I like the tactics of it and the builds you can do, I like preparing for a specific engagement or playstyle and executing my plan and changing the build if it didn't work out. I've probably spent more time in the ship customizer than the actual game, deciding what weapons, defenses and radar to have, that kind of thing. It feels cool piloting your freshly made ship and testing out if you had a good idea or not. NFC has been talking about adding a campaign for a while. I think its focus will stay multiplayer, but I imagine your game could fill the gaps that I'm sure the campaign will have.

It is a weirdly complicated game but once you get the basics of naval combat down its not so bad lol. It does look harder than it is, the amount of control you have over your ship is what makes it seem hard.

When it comes to range it sounds like you do plan to be a bit farther out which personally I am all for, I'm not sure how much you watched on NFC but a big thing in the game is radar so you are trying to detect ships maybe which makes it feel bigger than it is the max distance ships are from each other is probably around 20km but in a game like this that can all be pretty relative, I personally think you could throw a few extra 0s on it by how slow the projectiles move, in a game like this the scale of everything is really based on how long it takes for things to move in space.

ancient cedar
# solemn lodge Also watching a video about NFC, I feel like I want it to be more streamlined an...

Yeah that's exactly what I thought looking at your game, make the more user friendly personal experience. The campaign for NFC is rumored to be mission based where the player buys things for their ship between missions, I think you could lean into that idea and do it better for single player NFC is at its foundation a competitive game almost an RTS, so moving the the ship itself is just.. click here, I think just simply 'flying the ship' would be a more personal change. but personally for me the idea of adding ammunition or weapons or engines or whatever, some kind of customization is what would draw me in.

solemn lodge
# ancient cedar I think for me personally I like the tactics of it and the builds you can do, I ...

Yeah the movement in NFC did feel very RTS like, with just clicking a position or drawing a path and your ship moves there. I was planning on giving full control to the player, like how to orient your ship, when to flip and burn, how much to accelerate etc.

Yes regarding scanning and detecting: I already have a scanner system in place, but I think in NFC it even takes into account shape and crosssection and whatnot? Currently my system is purely based on Signatures (Heat and Mass) meaning their strengths (reaching the scanner over the distance) and if they are obstructed (by an asteroid for example). It isnt done at all and could probably be expanded and improved upon, but its a base ๐Ÿ‘

solemn lodge
# ancient cedar Yeah that's exactly what I thought looking at your game, make the more user frie...

Regarding gameplay loop: Its entirely up in the clouds rn, but I did think about missions where you get dropped into an area and have a specific objective like investigating an area, finding and destroying a ship or maybe protecting a carrier. The standard stuff. And you are able to flee from the mission to save your ship by some measure. Not sure how exactly it will work. Until now I didnt work at all at ship customization but I think it should be very doable and probably should be an integral part. As customizing and upgrading your vessel makes you feel more connected to it and allows the player to try out different strategies. But yeah as I said, I am still currently working out how gameplay could play out, so once I have a clear idea of that, then I will work on adding more content to it like customization and mission types

#

So if you have some ideas or wishes of things you would like to see, please let me know! I am open to suggestions ๐Ÿ˜„

#

Right now I am just doing whatever feels fun and just seeing what comes out of it.

#

Right now I want to improve how bullets are visualized (with the opposite of trails where you see a path where a bullet will travel). This is so that you can clearly see where enemy shots will come and are able to decide how to dodge them or how to orient your ship to avoid/ tank them

#

This is quite a difficult problem to solve, as adding too many trails might result in a lot of visual noise, so I was thinking of only visualizing a subset of the bullets.

#

Also I need to program the actual enemy decisionmaking which I am dreading ๐Ÿ˜›

ancient cedar
# solemn lodge Yeah the movement in NFC did feel very RTS like, with just clicking a position o...

Yeah when it comes to NFC idk exactly what they do under the hood but I've thought about it a little I think a good way to mimic it is to just grab global rotations and if they are along the same vector it's a 'low' accuracy reading then any variation off of your ships vector adds more accuracy. Skips any fancy raytraced surface area detection but to the player it's going to feel almost the exactly the same... I think lol

ancient cedar
# solemn lodge This is quite a difficult problem to solve, as adding too many trails might resu...

You could do a large cylinder of probability fire or something, sort of like the large aoe affects of mmos. But I'm not sure how many or bullets you plan to have on screen but there are some pretty in depth methods to by passing nodes for every bullet and using the physics renderer to just show the bullet, that could be useful for you, especially if your game is more deterministic. Technically the bullets don't physically need to travel the whole distance between the ships they just need to look like they did ๐Ÿฅธ

#

On the game play note, I think missions is a great start because it can always be expanded on, ppl love a game they can decide to play for 20 mins or 6 hours and feel like they aren't stopping in the middle of something. Plus it sets you up for putting the player in specific scenarios if you want which is always fun as a dev lol

solemn lodge
#

Hehe yeah I agree.

Regarding bullets: I think its less about bullets on screen, but rather how many bullets are active. I do want them to travel more or less physically and so theres probably a lot more bullets active than visible on screen

#

But yeah a cylinder could also be a good idea. I think I just gotta experiment a bit ๐Ÿ˜„ ๐Ÿ‘

ancient cedar
#

Gotcha, for sure experiments are key to fun gameplay. GL on the game in general! I'll keep an eye out for it, I love space games that focus on immersion so expanse style game does sound very cool.๐Ÿ‘Œ

median halo
#

ayo just stumbled across this. Looks sick! I'm a huge expanse fan so this is right up my (and my friends) alley

solemn lodge
solemn lodge
#

Oh and @median halo and @ancient cedar: For future reference: Where should I have posted so that you would have discovered this earlier?

ancient cedar
#

Probably reddit for me, r/Godot and r/indieDev

#

But here you at least have your own space/thread that ppl can look up at any time with reddit it's more of a timing thing. And you probably have to keep posting every month or so

solemn lodge
solemn lodge
#

I thought I should probably post on r/Expanse (or r/TheExpanse; whatever the right subreddit is) too. But I want to wait with that until I have replaced the Rocinante model and got some more gameplay. Even though the Roci model would probably draw more attention there ๐Ÿค”

solemn lodge
lyric ether
#

Wow... Dude... Congrats for the amazing work you have been doing! That's incredible ๐Ÿ˜ฎ๐Ÿ‘๐Ÿ‘

#

Like, working on a 3d game is hard by itself, but you're constantly messing with physics... You deserve more recognition!!

solemn lodge
#

But one flipside is that I dont have pathfinding available ๐Ÿ˜„

solemn lodge
#

Its been a while, but I've been busy ๐Ÿ™‚ Until now I used a 3D model of the Rocinante which is of course not allowed due to copyright. So I asked a ship designer from the game Space Engineers to design a ship for me, which I can use as a reference to model a new ship. Here are some pictures he sent me as reference

#

And here is what I made out of it (completely by myself, even though I am more of a programmer). As you can see its not done yet, but I am pretty proud of how far I got ๐Ÿ™‚

#

Of course this is still WIP and some stuff is missing (like PDC and railgun models)

solemn lodge
#

I just wanted to let you guys know, that I am looking for a 3D artist! So if you think you can do better than me and improve upon my model, then just hit me up ๐Ÿ˜…

old beacon
#

Peak ๐Ÿ‘

stark portal
#

I've been lurking for a bit in this thread, and have to say, extremely impressive work. That you're pushing the limits on the physics side is even more amazing. ๐Ÿ’ช

solemn lodge
# stark portal I've been lurking for a bit in this thread, and have to say, extremely impressiv...

๐Ÿ˜ฎ bromeon, The godot-rust guy himself! ๐Ÿ˜„ Ive always been intrigued by godot-rust since I love using Rust outside of Godot. But I decided for C++ engine modules for this project to practice C++ and ease of use. But thank you for the kind words! Lately ive been busy with some other stuff, but I hope I can return to this project. I still think its pretty cool (and also a ton of work) ๐Ÿ˜› But hearing positive feedback like this is always motivating to hear โค๏ธ

stark portal
#

I thought I've seen you before! Likewise thanks for the nice words, and for your inputs to the Rust community ๐Ÿ˜Š
Would definitely be cool to see this project go somewhere ๐Ÿš€

solemn lodge
#

I think the issue I am having is that I like programming, making systems and tinkering with graphics, but I don't like thinking about game design. I guess if I had someone knowledgeable to do that, maybe that would help ๐Ÿค”