Open comments for this post
JSP
Unfortunately hackatime doesnt support blender so the ~2.5 hours i spent modeling the assembly building for the spacecraft editor sandbox will not count but its fine. I’ve also done some deep debugging to the engine as it now supports embedded materials even when they dont have any texture, before this change everything looked like a wierd artifact in black/purple colors (check out the second image if ud like to see it, its pretty in a way)
what was added/changed
-
Created a not-final but decent model for the assembly building you will be creating your custom spaceship in
-
Added first person camera control, that is used by this gamemode to get a different “perspective” on your awesome creation. you can toggle between the normal orbital view and the fp view
-
some engine-level optimizations
This now means im FREE… to actually start developing the spacecraft building sandbox, so we are back to it
lol. im hoping it doesnt take me that much but i still need to finish to understand how exactly i want this to be as this is probably the only shared code that the campaign game mode will use, so i better make it good as it “counts” double
PD: already said this, but the second screenshot is just so you comprehend what ive been struggling with for the past 48 hours :(
Open comments for this post
JSP
Huge progress!! (yes, really) I’ve made some cool stuff an this game now looks a lot more professional, these last changes we’re surprisingly fast and fun to do (finally for once lmao), although the following changes, most of them, are still work in progress. I’ve officially decided that I’m not gonna be updating the engine’s repository solely for this project as im a bit more focused on making my game work rather than making the engine reliable and well-structured for any usecase, even tho the engine will still recieve updates any way cuz i really need them for the game, but the main focus is to not suffocate the engine with specific jsp stuff.
new stuff
-
audio system: custom imgui wrapper that lets me make sound effects for buttons on hover and press + background music system that lets me control simple fade out and transition to other songs, currently only in the main menu
-
user settings: instead of making the same json slop ive made for the rest of the load/saving stuff, i made a fancy system that lives in the engine’s core and that lets you save any kind of settings a lot easier. user settings are now correctly saved when changed on user/settings.json
-
created a simple intro text for the first run that explains a some information
-
made the settings window accessible from anywhere, not tied to the main menu anymore
-
FANCY TRANSITIONS between gamemodes, it now fades in/out to black with a little loading icon in the bottom right corner, this took longer than id like to explain unfortunately
-
added a color history for the paint tool in the planet sandbox
-
improved atmosphere UI controls in the planet sandbox
-
fix water shader sometimes rendering on top of an atmosphere
As you might be able to guess, some of these changes weren’t really necessary but im sort of procrastinating so that i dont have to model the assembly building for the next game mode cuz i really suck at it and will be painful most likely
I’ve though of adding a “first person view” move mode to the spacecraft sandbox as it would be cool to see your creation from an engineer’s point of view and also because that way i already will have coded the controls for the campaign :))
Open comments for this post
JSP
Currently finishing the gravity sandbox gamemode! I still need to make quite a big change as im thinking of unifying the “gravity body” struct i use in the sandbox with the “planet component” i use in the rest of the game, so this will probably take a while but, for now, the sandbox game mode seems to be the next thing to be finished!
new stuff!
-
the gravity sandbox now has gravity!!!! note that it is not super realistic nasa-level simulation, i was thinking of something a lot more arcade. this is very well reflected in the fictional scale (its around 1:100000), because games must be fun first, then realistic if possible
-
separated the gravity sandbox file to hold the built-in planet’s registry in a different file (its around ~1300 lines of code rn lol, after the simplification…)
-
added a nice destroy animation for the planets, improved the velocity tool and made the selection tool follow the planets
-
the intro animation now locks into the sun, which is now the origin of the scene + changes to the style of the sun
-
added trails to the planets in the simulation (that you can toggle, of course)
-
small UI improvements
Whats next u say? applying the same load/save system that i used in the planet builder sandbox, only that now i wont have to create a vertex data to file system (yay)
Im also starting to 3d model in blender the “assembly building” where you will be able to build your spaceships in the other game mode, but im really bad at it so ill leave it for later, once the spacecraft builder game mode is finished i will probably ship the first version
Open comments for this post
JSP
I’ve officially finished the planet builder sandbox gamemode finally, probably will tweak a lot of things but the main stuff is done. i spent quite a lot trying to fix a problem with the depth texture that isnt even fixed right now lmao, quick explanation: distances are huge and so the depth texture loses a lot of precision, to combat this i decide to add reverse-z to the engine’s renderer but this didnt really solve the issue as it probably needs even more work adding an inifinite “far” plane or logarithmic depth but i think its fine for now, ill explain this more in depth with the next devlog on the origin engine.
new features
-
added oceans to the planet builder, very simple for now but as a first version i think it works just fine, i spent at least 8 hours with this already lol, added basic controls to the ui to modify the shader’s uniforms and hopefully its good enough
-
added loading/saving to the planet builder and to the sandbox, you can now save your projects using json serialization, a geometry-to-file algorithm and a texture-to file algorithm. note that the planets you create in the planet builder can also be used in the gravity sandbox
-
added the terrain tool so you can now modify the geometry of your planet as you like, creating mountains, valleys or oceans
Next up is to finish the gravity sandbox gamemode, hopefully that should be a lot quicker as most of it is already done, but you know how this usually goes
HELP: if you have any ideas on how to make the depth texture more precise given the huge distances please let me know, theres not a lot of information out there
Open comments for this post
JSP
I’ve been stuck with a super upsetting bug with the engine’s render class and the ownership of the output buffer that made the engine’s sandbox editor be completely unusable for however long this “postprocessing pipeline update” lasted. it is now fixed and i could continue developing this game finally.
As the engine now supports adding many layers of postprocessing on top of the main render pipeline, i started cooking up atmospheric and star shaders, although only the first one is finished. i ported the atmosphere shader from a tutorial posted by nvidia on atmospheric scattering from a many years ago but the end result is honestly amazing, way better than what i had in mind. This is supposed to give the same feeling as the atmospheres from outer wilds, which is part of my inspiration for this project (and also my fav game in general)
new features
-
add “Has atmosphere” option to the planet builder mode, with a lot of options and parameters to control and make your own planets, showcased in the video…
-
made all entities with the planet component now have an option to show an atmosphere, although it is disabled by default. this results on the earth shown in the main menu to now also have a atmosphere
I will be focusing on finishing the planet builder game mode first, as it is ~60% done (probably less), i just need to add the entire terrain tool and save the planet settings to a file to be able to use it later or use it in the gravity sandbox
PD: i know it seems like im focusing too much into the small/extra gamemodes but this is supposed to function as a base for the campaign mode, which i dont think will be released in the first public version unfortunately
Open comments for this post
ORIGIN ENGINE
This is my custom engine that im using for my other big project, the Janitor Space Program (go check it out!: https://stardance.hackclub.com/projects/14066), most of these changes come from having to create or update an engine feature so that the game im building is easier and faster to develop, and in the meantime im also upgrading this engine to something more powerful and mature, although i feel like im making it also a bit more complex or spaghetti, ill work on that later
over this last 2 weeks ive added so many features like:
- improved logging library, allows you to use formatting directly
- support for embedded textures in .fbx models
- added a
lookAt() method to the camera component
- fixed web support for the audio system
- added more features and functions to the in-house math library, like the cross and dot products, a 4x4 Matrix and other small stuff
- scenes now can be either “.json” or “.scene”
- sandbox: shortcut to align an entity to the sandbox scene view camera
- added color tint to the skybox component
- added quick line rendering for fast debugging, probably needs refactoring tho
- added
LateLoop(), which obviously happens after Loop() and its mainly used for UI and stuff
- added
setTargetFps() so that gpu doesnt work to 100% if vsync is disabled
- changed the builtin shaders path to
assets/shaders/builtin
- wip: added imgui support to the web builds
Most relevant new features:
- added instanced rendering! still sort of a WIP
- added real-time texture editing, allows the cpu to have ownership of a texture instead of the gpu and do whatever it wants with it, currently just paint it
- wip: huge refactoring of the render class to allow for different postprocessing layers to render on top of each other with custom shaders, this allows for any kind of postprocessing effect to be made without much issue, i managed to get a simple vignette shader working quickly! the render class still needs some cleanup tho
This was fun but if they gave me an euro for every seg fault ive endured elon musk would be small next to me. i love to see how this small side project i started long ago is now something a lot bigger than i expected, this literally started as a learnopengl tutorial :))
Open comments for this post
JSP
Good but slow progress (im not finishing this game before stardance ends probably) I want to focus on having the 4 main gamemodes ready to have a good base for the camping, which is gonna be epic!
new features/changes:
-
wrote the story for the campaign mode, yet to be showcased, but it is pretty cool, more on that later
-
removed the explore mode, this was a thing i had in mind at the very beginning of the development but it doesnt really fit my view right now, will make a comeback at some point, but the previous implementation was just a bunch of dead code
-
created a simple spaceship building scene, wip as you can see in the video
-
added a very simple splash screen
-
improved the planet creation sandbox, now with a paint tool (a bit buggy, for now) that lets you generate a real-time texture and save it to a png file, biggest progress here was made in the engine itself actually. This took so much time fighting with translation of screen-space coords to world-space coords to UV coords, im actually impressed it even works lmao. this was almost gonna get scrapped till i realized the UV unwrapping of the sphere was a cubic projection and that was messing everything up
I am struggling so much with blender and my sandbox, it looks like they hate each other, also WHY DOES BLENDER USE Z+ UP, anyway, stay tuned!
Its hard to make devlogs when progress is so slow but i hope you like it
PD: I just fixed the colors looking like confetti (look at the color of the blue paint brush), apparently i was multiplying the alpha channel by 255 in the texture class because of a previous implementation and that was causing some sort of overflow in the shaders, thus the weird colors, so paint tool is officially finished, hopefully
Open comments for this post
J.S.P.
I’ve been making some progress in every direction while i find out exactly what i want this game to be. ive started writing the story for the campaign mode that i hope is about 3 to 4 hours.
Overall the main progress of this devlog is summarized in a finished early version of the sandbox, although theres a lot to fix in it, the main stuff is done. Ive also started with the planet creation sandbox and focused on working into instancing even though it is not quite there yet (im thinking of removing the explore mode entirely or do it completely different)
new features:
-
improved sandbox mode with actual simulation (very early), a new intro animation, different tools to select, move and change the starting velocity of each planet
-
set a base for both the planet and spacecraft creation sandboxes as these mechanics will make the development of the campaign a bit easier, hopefully
-
created a simple logo, probably to be changed, i dont really like it but id appreciate feedback
-
refactored the scale system to make working with different distances and planet’s radius a lot easier, this new system is so clean i actually love it
As you can see progress is extremely slow, i want to make this right and also make sure that the project is well structured enough to hold up.
Also did a simple check on performance and after a couple tweaks, average fps sit around 3000, fr, on my little rtx 3060 so thats great
Open comments for this post
JSP
Today’s devlog is not so much focus into the progress but into some design decisions that made me had to restructure the project a quite a lot, ive got a new view of the project that i think will make it a lot more fun
gamemodes:
- campaign: top secret for now
- explore: you can explore, find, filter and search up real-life satellites at their real position, this is mostly done already but i need to work on adding instancing to the engine because rendering ~14000 satellites is not something my little tiny engine can really handle right now, performance drops from ~1700 fps to 9 fps lol
- sandbox: no more real life stuff, distances are too big and not fun to play with, this is the main change. this means that the idea is to now not only allow to play around with 3d gravity and make solar systems, but also to create and design custom planets and spacecrafts (and save/load them to a custom json file that you can share or reuse)
new features
- I want to showcase how the current sandbox mode is like right now, this is only a part of the final sandbox mode tho (read the previous paragraph for more info). I added this cool animation from the main menu, simple movement that scales with distance, and a placing-editing system that took way too long (i had to do matrix calculations lol, math does be useful sometimes), right now the only object you can place is the Earth, but you will be able to place pretty much anything and modify their mass, velocity or anything really
I will now start with making instancing something real and not just a dead branch in the engine’s repo, but this means im gonna have to read some opengl documentation :(
PD: the visual bug in the video is completely intentional
Open comments for this post
JSP
I’ve been working on a lot of things and the project is taking a really nice shape! ive organized the game into different game modes that independently manage their needs in an organized way. Also ive made some progress with the real life satellites and made some nice main menu!
new features:
-
WIP: explore real time satellites and see them move as they are in real life, with custom orbit calculations, still in the works, getting fetched directly from the internet and cached every 24 hours
-
Added a main menu, as the engine doesnt have any in-house UI system, Im using a modified dear imgui version that is holding up nicely, also added some placeholders for settings etc…
-
Started a new gamemode: gravity sandbox, where you can play around with custom objects and real life planets and their gravitational interactions
I also had to update the engine a bit to make it be able to handle quads and their operations. the idea is to finalize a working sandbox gamemode as that would set the base for many more complex features incoming
Open comments for this post
JSP
A 3D pixelart videogame about space exploration where you have to save humanity from the Kessler effect, currently working on the “exploration” mode where you can find and explore all the satellites of earth (and later on the solar system) at their real time location.
Current Features!
-
I’ve made a simple system that gets the real life data of these satellites from CelesTrak’s Public TLE Text Files, which than caches them and are refreshed every 24 hours, so you can see the real-life position of, for example, the ISS
-
Built using my own custom engine, actually been updating the engine while creating this because, lets say the engine isnt very “mature” yet, but its holding up nicely!
-
Check out the ORIGIN engine at: https://origin.aloyak.dev
The game will feature this little 3d pixel art style that i really like honestly. The hardest thing to do so far was to setup a fork of the engine so that i could work on the game without actually contributing to the engine itself at all.
All these models used currently are from NASA themselves, so they should be pretty accurate!
I’m thinking of maybe adding a web build but the more i try to make it work the more it breaks lol :(
🚀🚀
Open comments for this post
I’ve created a really nice UI with a simple controller layout that allows you to monitor the input from the steamdeck with a fancy imgui interface and also tested the performance a bit and its honestly pretty good. I managed to get around 8ms latency with 20ms spikes which is pretty good, also battery life is around 7 hours!!
It currently only works on linux as windows is trying so hard to make my life suck, so ill be adding windows support later on. It currently uses a custom driver with uinput that creates a generic virtual Xbox 360 controller that is automatically recognized by my pc and also by steam so thats great!
The process to make this work is pretty simple:
-
Add the steam deck side to steam as a non-steam game and make it use proton compatibility layer
-
Run the PC side
-
Run the steamdeck side
That’s it, the PC side recognizes the steamdeck instantly and there’s no setup required at all from that point on.
I would also like to add some sort of usb support but i think that will be a lot harder that im expecting :))
Open comments for this post
Huge progress!!
Wifi connection is working nicely. Right now the best way to do it is by connecting the steamdeck to your pc with a hotspot and the latency is actually pretty nice! Theres still some small bugs but the setup is stupid simple so thats great. You just open the app on the steamdeck, and then the pc finds it right away
I now should start developing the drivers to make the pc recognize this program as a generic controller but FIRST, Im going to make the UI of the desktop’s app fancy because its cool and fun to do.
The idea is to fully recreate the steam controller based on an actual steamdeck, so you have all the features of the new steam controller, although its obvious that some stuff will be missing (like haptics, but I’ll see what I can do about that). And well, I also should research a bit how to make this through USB as well, but that will be done in a long time
YAY
Open comments for this post
First ever post on stardance!
I’m making a program that allows you to use your steamdeck as a generic pc controller. I’m sort of learning how to do this in the process so I can’t really showcase any future features but so far its going great!
I created a simple program using SDL3 in C++, being my first time updating from SDL2 to SDL3, but not much changed honestly (at least that I noticed) that reads the steamdecks controller input and saves it to a light struct that will later be sent using either wifi or usb to a target pc.
What I’m most proud of so far is how I managed to get a simple working environment to develop and test code on the deck quickly. I code on my computer and with the press of a button my mouse and keyboard now control the steamdeck, also being able to quickly send and receive files to test new builds etc… Thanks to KDE Connect and a few other tricks
I will know start researching how to make any sort of wifi connection reliable enough, wish me luck!
I also created a simple logo using gimp (probably not the last version, hopefully)