#General aero-space games showcase
296 messages · Page 1 of 1 (latest)
I'll begin. Currently working on UI, trying to sort it all out.
Touchscreen layout is pretty much finalized, while desktop one will be tweaked a bit, but in the end the layout should be less or more the same (minus touchscreen controls, obviously).
Menu will be sorted out into tabs, so it will not be all-in-one-place.
Also worth mentioning that UI is now scale-able (stretch and shrink while retaining proportions on necessary controls).
Technically speaking, now it can be played on any screen size, but I will consider adding a GUI scale factor someday.
This is really cool. I saw your Open World fork of Godot on github. Do you plan on updating to Godot 4?
Maybe it will not be necessary with all the depth buffer implementations that are currently discussed by devs. Maybe we'll have an option to switch between them at that time, and the only tweak in such a case would be to make sure z-near and z-far limits are properly tweaked.
Actually I will just drop that notice in the issue.
To have options to switch to inverse or log depth would make Godot have a foothold on 3D open-world genre games, not just 3D.
In fact, I would much prefer to not to use a fork, but an official release with such features.
Preparations for 0.11 release! One of the key aspects of this release is proper user interface. Basic, but less or more polished. A few more tweaks are left to be done (mostly for desktop GUI layout) and this part of the work can be considered to be done.
Github page: https://github.com/roalyr/GDTLancer
Support: https://www.buymeacoffee.com/
Tw...
Desktop GUI
Comparison
Great!!
I have some naive intuitive implementations of PID controllers all over my code, but I guess it would make more sense to make it right and proper at once.
Another interesting thing that I have discovered for myself is autoload feature of Godot engine. Now pretty much all the nodes have moved in there and the tree is free, because, well because this suits my needs perfectly so far.
I am considering using the tree for something situational, like spawning local NPCs and whatanot, while everything that is in autoload will be used for a game state less or more, and thus it all would have to be saved and loaded.
Due to complex coordinate systems layout loading ad saving a game is a bit of a nightmare now, because I have to save the state of universe translation due to having muktiole origin rebase systems working all at once.
One wrong move and you can mess up the universe 😅
I can't imagine how complex a real-time multiplayer would have been in this case, and it is good that I am not going for this ilementation.
Ah the thread is back
Well I started again working on my block-based building prototype, ported to Godot 4. Not much ship to show yet, but I'll eventually get to it
Very early build, unfinished, flies but only downwards
Moved everything to autoload. Tree root will be used for some situational locally spawned things, that are not worth saving, I guess.
UI will go to root so that it could be reloaded (when changing language).
Complete separation between UI and mechanics.
For now these are in the game
They are also scalable
👍
Love the look of this so far. Flying but only down... so, falling? 😂
Oh yay new channel!
Love the blocks so far Zylann. Going for a full on Space Engineers / block 'n voxel construction game?
Yeah, although technically I dont think we can call it voxel, since it's not using voxel storage of any kind for ships
Finally refactored the whole project to make it work with autoload, while keeping Ui In the root tree.
I am making a star chart reference sheet in order to make an easy to use databank of stars. It will be a spreadsheet which will have both actual star data (generated) as well as editor-ready values for easy implementation.
I'm using this one as reference
and this one too
I am going to make it to have geometric and light data rather.
A binary star system test. Textures are only used for star surface noise, the sprites are meshes with vertex paint and shaders.
Made for upcoming 0.11 release.
Project page: https://github.com/roalyr/GDTLancer
Support: https://www.buymeacoffee.com/roalyr
I have kinda figured out the qpproximate set up for star omni light.
For our Sun I assume range 1e13, attenuation 5 and energy 2.
For other stars only range will be adjusted according to their luminosity (square root of luminosity in Sun units multiplied by 1e13 range).
Now I will make a spreadsheet for main sequence stars and slightly randomize them.
According to distribution, there should be 80% of red dwarfs, but in my opinion that'll be way too boring.
So I guess I will make a set of ration which are more game-friendly, as well as add some "exotic-ness" to stars in order to make them, well, less boring.
First test using the Yale Catalog of stars
🤔
Something like this.
I could have automatized it with scripts and get the output right into the Godot scenes, but I feel like handcrafting it all.
So the star chart will be just for reference.
You can see that this nebula is rather small in this approximate local star group.
In fact I want to rework the nebula.
I've sent you an invitation to the SpaceGameJunkie server. It's a dev-friendly place with a lot of devs and space game lovers
I don't see a message from mobile, for some reason.
Sent again, as DM
The star shader is amazing. Great job!
Wow, all three of those are so pretty! 😗 👌
Is it better to render targeting informqtion directly over the object, or below in the fixed position of the window?
hot and sexy
I personally prefer having it in a fixed location because it adds less visual clutter.
I will do middle option.
Targeting readout - over the object (like selecting), autopilot and combat targeting readouts - in the bottom.
Attached: 1 image
Progress with universe generator: https://github.com/roalyr/GDTLancer/blob/master/Doc/Universe_generator.py
#укргеймдев #gamedev #IndieGameDev #indiedev #indiegame #godot #space #spacegame
does this count too?
space/astronomy game which also has building rockets and flying them too
Attached: 1 image
Here is a test list of main sequence stars from M0 to O9 (70 types in total).
Each star will be visually depicted by the color code in the near proximity (which allows exotic apparent in-game colors for stars for gameplay purposes) and usual apparent color at distance.
https://github.com/roalyr/GDTLancer/blob/master/Doc/Unive...
Here is a test list of main sequence stars from M0 to O9 (70 types in total).
Each star will be visually depicted by the color code in the near proximity (which allows unusual apparent in-game colors for stars for gameplay purposes) and ordinary apparent colors at distance.
https://github.com/roalyr/GDTLancer/blob/master/Doc/Universe/Star_types_test.md
First version of the board for a crazy space strategy game idea
Oh my
open-source semi-realistic space shooter I'm working on
still in early prototyping phase
bro, I though it was KSP2 for a sec 😆
Interesting! Looking forward to see more.
The prototype is almost ready
that's cool
Added traits to ship captains. Traits affect the ships' stats and the ships' behavior in battle. Captains can even run out of battle ignoring orders
That's some solid progress going on out there, good!
heyyy I get that reference~
In times of war, the law falls silent.
heres a thing ive been working on
i think that counts lol
its a complete overhaul of this game I made
Space Triangle Royale is a multiplayer 2D shooter game inspired by retro arcade games. Your goal is to shoot down the opposing space-triangles and climb the space-leaderboard. Meteoroids can also be destroyed for extra points and power ups! Watch where you're going though, or you might fly into a black hole!
Sure thing!
Weapons test
Shields, explosions, ship damage...
Adding formations. Players will be able to arrange all the ships in one formation, split the fleet into two formations, or manage each ship individually. It will also be possible to detach some ships from the formation
Chaos and destruction 😅
https://www.youtube.com/watch?v=53f49mSARDI
A space simulation thingy I've been working on for the past two weeks 🙂
It uses the Danby-Stumpff method to solve the Universal Kepler Equations for the two-body problem, which in turn drives the celestial bodies (and also the "vessels" that I spawn during the video).
From what I can tell it's very stable, even on obscenely high time scale (ie. 32768x) it still behaves accordingly.
I'm also employing SDF shaders to draw the orbits of the vessels, which performs a lot better than using vertex based splines.
Showcase of a Space Simulation project I've been working on.
It uses the Danby-Stumpff method to solve the Universal Kepler Equations for the two-body problem.
Early testing seems very promising on the accuracy, stability and performance of the simulation.
I am interested in how traces are implemented with shaders.
Hope you don't mind a little code dump lol
I'm attaching this shader to a PlaneMesh (on a MeshInstance3D) with it's orientation set to FACE_Z
There's some redundant code there, you can ignore everything disabled by the '#define's
Godot 4 shader?
Yep
But should be fairly easy to convert to 3.x just removing the #defines should work
Besides that, I'm using Orbital Elements to size and position the ellipse in World Space, not sure if you are dealing with values like these in your game
This seems to work in 3.x
Not sure if I will need to build the orbits visualization, but traces might come handy.
Meanwhile, since missiles and drones are still in airspace, I haven't slept and was moderately productive. Decided to test how stars look up close (in LOD0 range) with 2 omni lights on poles instead of 1 in center. A poor imitation of light surface, but still better than point source in center.
Looks good!
Added a faint outer halo as a final touch.
Maybe will add some protuberances and loops later on.
A lens flare effect could be nice too
Those are the first stars that will be within the Moirai star cluster.
Release of the version 0.11-alpha is soon.
Project page: https://github.com/roalyr/GDTLancer
Support: https://www.buymeacoffee.com/roalyr
I know, was thinking of it too.
Will you add sound to the game?
Yes. First I'd want to write an ambient theme for it, then ship and "environment" sounds.
Massive destruction 😆
I guess they all have the same InfiniTorpedo tubes installed as the Intrepid-class did, neat! :D
Sadly I will have to replace the ships if I finally turn the prototype into a game 😔 ... but I can try to add support for mods, because every space strategy game should have a Kobayashi Maru scenario 😆
You could just include it without calling it that, just name the level "No-Win Scenario" and you're good :D
Ship commanders will have different personalities and traits. This one is just for testing 😇
In case anyone is interested, I ended up scraping the idea of using SDFs for the orbital traces.
While they are relatively cheap to compute/draw (mostly GPU bounded), they have some shortcomings which ended up being a deal breaker for me, namely:
- They have those aliasing artefacts from afar (which are hard to get rid of)
- While 2D SDFs are really cheap, they don't have thickness, so the effect break when viewing from the side. And although 3D SDFs don't have this problem, they're significantly more expensive, since they basically require ray marching in order to be drawn
After a lot of experimentation and testing, I ended up settling with using a MeshInstance3D with an ImmediateMesh as it's mesh, to which I add the orbital positions as vertex in a line strip.
100 orbital traces barely cost 30MB of RAM, have no noticeable performance impact, and have none of the previous shortcomings, seems like the optimal choice
For the record, I also experimented with using a MultiMeshInstance3D and while it worked it still had the aliasing problem, which although fixable, was quite finicky and unreliable
The result (ignore the random death-spirals, probably a bug in my orbital path algorithm lol)
That's a possibility, but I'm not sure the complexity makes it worth it
Dealing with projection is not my forte
Super new to Godot (like 2 days), and I made a basic N-body simulation. The planet would be moving too, but I locked it for the sake of the simulation not moving off-screen lol
The higher moon is in a retrograde orbit because it just flung itself and the other moon out of orbit otherwise
Cool!
Which algorithm you used?
Just my boy Newton's law of universal gravitation. This is my code (it's probably not the most optimized it could be, but again, I'm new):
func _physics_process(delta: float) -> void:
var bodies = get_tree().get_nodes_in_group("Bodies")
for body in bodies:
if body != self:
var direction: Vector2 = (body.global_position - global_position).normalized()
var distance: float = global_position.distance_to(body.global_position)
var force: float = Universe.G * body.mass / distance ** 2
apply_force(force * direction)
Universe.G is some crazy value like 250,000
And I have time sped up to 5x I believe
Nha, we all gotta start somewhere, that's fine
Anything I could do to optimize it or make it more "standard" for how people code? I'd like to learn early on so I don't have to correct it when I've already built habits with GDScript
Not really, I guess you could use more "standard" functions, like:
instead of computing the distance by subtracting one position from another and normalizing, you could use "body.global_position.direction_to(global_position)", like you did with the distance
But other than that, it seems pretty good
Oh, direction_to is a thing?
Godot has some useful built-in functions
I'm not used to these luxuries lol
Well, now to make the planets big
Floating point rounding errors here I come...
Does Godot have doubles?
Yep, but you gotta build from source
Which is a lot easier than it seems
Just clone the repo, install the needed deps (they have a page in the docs listing what you need depending on which OS you're in) and run "scons precision=double" to build the Editor with f64 support
That's what I use daily
Oh man, I've never been good with building from source, dunno why
It just confuses me for some unknown reason
It's really straightforward, in which OS are you in?
W11
Right, one min
But I might move over to Linux again soon, the only reason I moved over was because I wanted VR and Unreal, neither of which I use anymore
I just love Plasma too much
There you go
https://docs.godotengine.org/en/latest/contributing/development/compiling/compiling_for_windows.html
Requirements: For compiling under Windows, the following is required: Visual Studio Community, version 2017 or later. VS 2019 is recommended. Make sure to read "Installing Visual Studio caveats" be...
Me too, rocking OpenSuse Tumbleweed with Plasma rn
Endeavour is my favorite by far
Gives the benefits of Arch (the AUR!!!!) without the, uh, struggles
Yeah, Arch has a reputation....
Endeavour is the best of both worlds imo
In fact, I will just install it now. Got nothing of value on my PC anyways.
Sorta been wanting to for a few weeks now
For programming Linux is the most versatile option IMO
If not straight up for faster compile times, for the fact that you have a central software store/repository, which makes it sooo much easier to install your tools
And here comes the Linux struggle... for no reason my monitor is flickering black
Amazing as always
Are the planets/suns procedurally generated?
No, hand-crafted and manually placed. But according to procedurally-generated 'blueprints'.
Alright, I know this is sorta unrelated but... Oh my god I just spent like 5 hours trying to get this to work and it ended up being a single setting on my monitor. Lord help me
Anyways, yayy, I can make space things again
@granite ledge Sorry for the ping, but is there any way I can check for sure that I built it with double precision enabled?
Sorry for the delay, but yeah, you can just use the OS.has_feature("double") method to check for that
Have a look at the documentation on feature tags to get a better understanding on what feature tags are: https://docs.godotengine.org/en/latest/tutorials/export/feature_tags.html
Introduction: Godot has a special system to tag availability of features. Each feature is represented as a string, which can refer to many of the following: Platform name., Platform architecture (6...
Just glad to be of help
So I just use the normal type "float" and it'll have double precision?
Yep
Great
Well, floats already have double precision by default, so what you're really gaining are double precision Vectors (both 2d and 3d) and vertex handling
For the "vertex handling" Clay John wrote a nice article explaining how they implemented double precision support for vertices https://godotengine.org/article/emulating-double-precision-gpu-render-large-worlds/
Oh, I see
Equally as important
Definitely, doesn't really matter that you can store a planet-sized number if you can't show it lol
I'll definitely read that article
All in all, if don't plan to support mobile, double precision is basically free
Even in terms of performance, AFAIK it doesn't really eat you perf budget
@frank ice this actually bit me once, was trying to make certain vertices constant size relative to the camera and for that I was using the camera position... in world space.
Go far enough away from the origin and because the shader itself can't use double precision you get all sorts of issues lol
How can I increase my far clipping plane further than Godot typically allows? When dealing with really big things like planets, it's sometimes not enough
For now I'm just going to have to make it 1:1000 scale, but that's not necessarily ideal
I was unjustly pinged but I was given a cool little lesson and I’m very pleased by the experience 👍
This is where I'd start implementing tricks, particularly viewport layering. It's a bit too complex for me to describe in a Discord reply, but to simplify, you'd put your planets and backgrounds into a viewport that's rendering at a smaller scale, but set up in such a way as to look massive in comparison to the main viewport's output.
I'm an amateur game dev (never even really finished one...) so I'm not 100% sure what you're saying, but I think I get the general idea
You have to recompile the engine. https://github.com/roalyr/godot-for-3d-open-worlds/blob/3.x/editor/plugins/spatial_editor_plugin.cpp
In that file in the bottom there is also a limit for the in-editor camera option, it should be adjusted too.
Or just grab this fork. But it is 3.x, not Godot 4.
https://github.com/roalyr/godot-for-3d-open-worlds/releases/tag/3.x-2023.03.06
It doesn't support double-precision floats.
So only origin rebase.
I see
Ships now try to escape when under fire. I still have to fine-tune the weapons and AI behavior, but the battle system is almost complete
@hoary iron Logarithmic Depth might be something worth looking into also
I believe @neat palm implemented it in his fork on the engine, but as he said it's only available for 3.x, so on 4.0 you'll have "to do it yourself", which tbh shouldn't be that much of a hassle
The basic idea is that by default (due to the way float works) you have a unbalanced amount of precision closer to the near plane than far away. That makes it so the further your far plane is the less precision you have to resolve objects.
Using a log function to encode you depth in the depth buffer, you get essentially a linear relation between distance and precision, which translates to a lot more precision when dealing with far objects.
I find this video particularly useful in explaining how it works and how it can be implemented: https://www.youtube.com/watch?v=8bRS9RRWfSs&list=PLRL3Z3lpLmH3PNGZuDNf2WXnLTHpN9hXy&index=9
Support me on:
Patreon: https://www.patreon.com/simondevyt
Follow me on:
Twitter: https://twitter.com/iced_coffee_dev
Instagram: https://www.instagram.com/beer_and_code/
Github: https://github.com/simondevyoutube/
In this project, we look at floating point precision, logarithmic depth buffers, and the problems that come with planetary scale re...
I'll take a look when I have some time
Oof, that's some stuff that's a little advanced for me lol
All it takes is finding shader file and tweaking it in places where there are depth buffer declaration, but I don't know how different it is for vulkan.
Also if you are intetested - there is an issue on github about this, you can read what devs say. https://github.com/godotengine/godot-proposals/issues/3539
This comment from @vital otter esp.
Neat!
I have implemented death zone threshood based on aluminium melting temperature, coating albedo and star flux.
This is the safe distance for stars of B7 and G8 types.
Getting close to O0 star will be tricky.
I've also made a simple targeting rectangle.
Impressive! Great job!
Green star? Well, it is a pseudo-color. Peak wavelength of star emission (which depends on its temperature) was ranged and mapped onto a visible spectrum palette. Why? Because why not.
Project page: https://github.com/roalyr/GDTLancer
Support: https://www.buymeacoffee.com/roalyr
Attached: 2 images
I have added fake stars as placeholders to see how it would look like when there are many of them, and I really like it.
Those are not background dots (you can distinguish camera decoration light as more faint), rather, those are star sprites in the space.
#укргеймдев #gamedev #IndieGameDev #indiedev #indiegame #godot #spac...
This video showcases how multi-layer origin rebase works. 2 cubes, placed 30 km apart in the vicinity of a planet, remain in their positions no matter how far away you move.
This video showcases new alignment of stellar bodies (Viakata system is now moved to the global coordinate origin, you start at Viakata b planet orbit now, not in empty space).
Also added "fake" stars (which are star sprites) and are a sort of placeholders to finetune the look and feel of populated space.
With that I have also tweaked camera F...
My design documents are a lot more confusing 😄
So long as it works and help.
The campaign editor
Testing normal map decals.
Testing very tricky solid clouds. They can be lit and should appear voluminous.
Shader works fine, but self-transparency requires convex meshes, and having blob clouds is not entirely what I want.
Project page: https://github.com/roalyr/GDTLancer
Support: https://www.buymeacoffee.com/roalyr
Finally nailed down an approximate look of how I want it to be. Especially the opaque shadows.
Still a lot of room for improvement.
I think I have done my best with this triple-pass opaque nebula shader. The final look will depend of the nebula mesh itself, which will require proper structure, tweaked normals, right amount of vertex density and custom vertex colors for variety in different regions, as well as to imitate light and shadow.
Project page: https://github.com/roa...
This rather complex mesh (~40k triangles) was made out of metaballs, that were placed via particle system on the mesh that was derived from vdb cloud, converted to mesh and then inflated and twisted with sculpting tools. Additionally, some colors were added to vertices as well.
Since it has properly enclosed volumes, I have decided to make the ...
Music and sounds are very important to make a right atmosphere. Alas I went a bit too dark and heavy on this one, but nevertheless it seems okay.
One day closer to next release!
Project page: https://github.com/roalyr/GDTLancer
Support my efforts: https://www.buymeacoffee.com/roalyr
After so long I have finally nailed down the process, that produces the best result, which is both fast, easy to implement and is visually appealing. The gaming space thus can be expanded in a modular way, by making even more of such environemnt "bubbles". For now there are just two nebulas as you can see on the video.
Project page: https://git...
I have looked at it again with a fresh eye and decided that the scenery here is too dark. I have added color channel tweaking features for my shaders and now it looks better.
#screenshotsaturday #ganedev #укргеймдев
Here is the playlist that has a history of GDTLancer videos https://www.youtube.com/playlist?list=PL5HQBxf078iSKaV1UpvDNYjngWsKmMIfF
Started making a 2D strategy/RPG game, got carried away with making the planets look nicer...
Oh yes, I know this feeling.
Happy accident.
Oh my, a proper editor, seems comfortable.
It does the trick, relatively good results fast enough, and can export the .tscn of the planet that you can open back up in the Godot editor itself if need be
But will work on random generation next
Resuming my tests on making the outer appearance of nebulas look appealing and organically blend with the darkness of space.
Project page: https://github.com/roalyr/GDTLancer
Support: https://www.buymeacoffee.com/roalyr
The core code of the planet effect for 2d textures:
https://github.com/PDeveloper/Planet2D
Amazing!
that's beautiful
Finally satisfied with the global nebula layout. It will have smaller nested nebula caverns, and everything outside of this cavern will be just dark fog, since this volume is large enough.
Next step is implementing all the small fancy nebula environemnts hidden all around the place in their separate bubbles.
Project page: https://github.com/ro...
Just added an updated video of my space game. I'm finally getting into making some combat Let me know what you think! https://youtu.be/tpof4vCBXBg
This latest update on my Godot engine space game I've been building for the past 18 months shows the main menu, character customizer, and gives a quick look at space combat.
#godot #godotengine #gamedev #programming #3ddevlog #spacelegs #elitefeet #starship-interiors @GodotEngineOfficial
Good stuff, plenty of progress!
I have tested vertex lighting with normal (also AO and specular) maps.
Took atlas from decal machine for a quick test.
What I am surprised about is that normal maps work with vertex lighting, albeit poorly. I am resorting to vertex lighting for the sake of performance here.
Also I think I will be switching to a new thread dedicated to my game, since there are quite a lot of updates coming in next 2 months.
wow bro, i love this