You are browsing as a guest. Sign up (or log in) to start making projects!

aloyak

@aloyak

Joined June 1st, 2026

  • 35Devlogs
  • 4Projects
  • 3Ships
  • 30Votes
4loyak!
check out https://aloyak.dev
Open comments for this post

7h 5m 23s logged

JSP

We are SO back! I thought it would take me weeks to solve this issue but it wasnt that hard, thanks claude lol. It’s not perfect just yet but its honestly crazy how my own engine managed to handle what im about to explain

What took soo long

  • The game now handles a transition from a global physics world to a new extra physics world that lives locally when the player enters a new planet (the origin of the new physics world would be the planet’s center), this means that you can perfectly walk on the surface of all the planets while they move around in the orbits without any weird behaviors

  • This took a good amount of engine refactoring and a few changes to some systems (specially the floating origin)

I need to fix a couple things like the drag when you are entering a planet, but that should be handled later on when you actually use a spaceship to enter and not just yourself with your spacesuit

Other stuff that is cool

  • Added a helmet overlay! (very inspired by outer wilds, id like some suggestions to make it more original honestly, but right now it decent). It is currently work in progress tho, and theres a lot of information missing…

  • Small UI improvements: rounded borders, removed window’s transparency, added window close sound effects (need to find a better one tho), little better controller support…

I just this idea to have vehicles but that will take super long, its added to the ideas file but thats certainty not being considered for short term, Any suggestions are welcome tho

PD: video is very bad res bc i had to compress it unfortunately

0
0
1
Ship Changes requested

I made a postprocessing layer that runs on top of your screen in real time. I’ve used it to create my own version of the Bad Apple videoclip, but this tool is a lot more powerful!! It gives you access to fast video decoding, a screen buffer and the huge potential of GLSL shaders to allow you to create any effect you want while still keeping the input layer active!
Built on pure C and its currently only available on Linux (only supports X11 backend as thats what is used to manually create the screen buffer, maybe ill add wayland in the future)
Hope you like it!!

  • 5 devlogs
  • 14h
Try project → See source code →
Open comments for this post

2h 7m 32s logged

BAD APPLE!! (NOW PUBLISHED)

the video is published on youtube!!!!!

Check it out: https://youtu.be/a1_1RXaRt74. Please go like it so it get viral!

What was done?

  • I’ve improved the performance by only collecting each window information’s only when they are marked as changed, this improved performance so much that i was able to run some games while using it

  • Added a simple command line argument parser for quick settings and path changes

  • Ive also added some cool C math optimizations like approximating a division by 255 with a cool bit shift trick! (i felt like a genius programmer)

What needs to be improved

  • There’s a couple things that still run in the CPU that could be pretty much moved to the GPU if they cause a bottle neck, maybe in the future??

  • Need to make sure that new/closed or resized windows are accounted and properly updated, this is the next step, ive tried already but this adds a lot of lag and i didnt like how it was looking, but maybe now ill try again!

PD: PLEASE :pls: :pls: go watch the final version: https://youtu.be/a1_1RXaRt74

Btw, im probably gonna be shipping shortly, maybe after next devlog?

0
0
13
Open comments for this post

3h 19m 35s logged

BAD APPLE!!

This is the first decent version! I still need to fix a couple things but finally using your computer with this on wont give you an epileptic attack. Note that what you see in the video is very simple, this program i made is a lot more powerful (this is not only for bad apple videos but a general postprocessing realtime layer on your screen!!)

New stuff! :yay:

  • Completely moved the project from GLFW to SDL3!

  • Fixed the feeding loop bug: refactored the capturer so instead of taking a screenshot every frame it now loops with X11’s backend through all the windows and reconstructs the screen buffer manually (this took a lot of docs reading time), the result is really good but has limitations that i will list below

  • Appart from the effect you see, ive also coded 2 other shaders that also use this video

  • Published the github repo and added both a license and a readme file

Current limitations

  • This only works on Linux with X11 backend, if you use wayland, windows or mac this should not work at all, adding support to new platforms would be interesting, but before i need to fix the next issue

  • The current system that reads all windows and stitches them together to form a screen buffer doesnt take into consideration new or closed windows and doesnt update their position or resizing… this will probably be the next thing to do but ill have to check how the performances doing.

Of course i will be making a video for youtube to showcase this, this was the main goal of the project either way lmao

0
0
31
Open comments for this post

3h 37m 3s logged

BAD APPLE!!

:siren1: the demo video contains flashing colors!! :siren1:

Huge progress!!!!! i made this work finally! well not quite yet but ive finally have something to show you :yay: Theres still some issues you can clearly see but i do know why this is happening

Why it currently looks broken?

In order to get the screen buffer i need to use X11 (currently, maybe ill port it to use other different APIs) which means that this is pretty much like taking a screenshot every frame but very fast because its the GPU. The problem is that we are re-feeding the previous output to the new one, so it breaks the original colors over time

What have i done

  • X11 based system to retrieve the screen’s image and pass it to the shader as another texture!

  • Performance was improved a bit although it generally doesnt really matter (maybe it will when using videos over 1080p, havent tried tho)

  • Fixed A SINGLE memory leak, woops

Next steps!

Port the project to SDL3, i always start my projects with GLFW and always forget how much i dislike GLFW, it has so many tools and features missing that SDL has, so ill probably port it to it, it shouldnt be very hard

7
0
393
Open comments for this post

2h 38m 12s logged

BAD APPLE!!

I’ve been adding the basic OpenGL implementations for a very simple texture and shader “classes” (theres no such thing as a class in C of course). This works kind of like a refresher course for me as I already though I was proficent enough with opengl, maybe once i ship this i might try to re do this but using vulkan :fear: instead.

What have i added?

  • The shader class, which reads the glsl source files (not pre-compiled) and compiles them in real time, not very fancy right now

  • A texture class that updates in real time to what frame was given by the video section, correctly set to linear color correction and uses rgb24

Now i will add a super simple quad implementation where the shader will render to, on top of the screen buffer

What i still need to figure out

I dont think that OpenGL can get the screen buffer with the pixel colors of whats behind the screen, even when the glfw window is entirely transparent, I’ll do some more research to see what to do


I’ve thought that this program might actually be a lot more useful that what im currently making it look. In the end you can quickly change the glsl shader to have completely different results and also upload any kind of video you want…

PD: the window you see in the video is green just so you can see it at all, but in the final version it will be completely transparent

0
0
23
Open comments for this post

2h 17m 20s logged

Bad Apple!!

Hey!!! :hello: I’m making this quick project that i though would be fun to try and have a bit of a rest from my main project, and i think it started nicely!

What is this project?

I’m making one of those fun version for the original Bad Apple! music videoclip that got viral long ago (original: https://www.youtube.com/watch?v=FtutLA63Cp8). I want it to be very original, at least I dont think it has been done already…


I cant really tell you what the video is about yet, but I can tell you that im building it with pure C and openGL…

What have i done so far?

  • Project setup: create a basic cmake project that uses glad and glfw to create a special window and render basic stuff on top of it

  • Added a video reader that gets each frame of the video at the correct time based on the time elapsed

I started this project making it run in CUDA, but I had a better idea. Then i decided to go with the graphics programming route: i thought about using vulkan but its way too hard to setup for such a small project, even worse considering im using C, not C++. I will have to learn vulkan at some point tho

note: the video is the base for the whole program

0
0
20
Open comments for this post

5h 58m 45s logged

JSP!

I’ve finished porting the game to the new action based input system, its not great yet, theres a lot to polish but at least you can play 80% of the game just as good as with a keyboard/mouse (even better sometimes!)

What’s the new input system?

  • The game now asks for “actions” callbacks instead of directly asking for raw input. This new layer in the middle allows to make different devices have their own way to control each actions, so it now supports all the gamepads you probably have: xbox, playstation, steam, nintendo, generic ones too

  • It is almost steam deck ready! Ive been playing this game on my steam deck and it works great! (you can get around 900 fps when unrestricted) Playing the game with a controller plus a little help from the little mouse trackpad really makes this game fun to play (100% coverage with this setup)

Now i will finally start doing the boring physics stuff that will hopefully not take so long but idk, we’ll have to see

Other stuff that was added

  • Improved a bit the gravity based movement mode, it now adds the atmosphere’s drag gradually depending on its density, being the density higher the closer you are to the surface, this makes entering planets feel better

  • Fixed some messed up formatting style in my code

I dont know if start a new project for no more than 2 weeks and then go back, ive been having some cool new ideas but for now ill stick to this project

PD: the picture is an old version (0.12.1), latest version with good controller support is 0.14.0

0
1
120
Open comments for this post

8h 40m 35s logged

JSP

Omg i need a break! just one more change bro and i will start doing the hard and boring stuff, just one more i swear! This sums up everything ive done for the past few hours, although the new improvements are actually quite important, i feel like im somewhat rushing them instead of focusing on the exploration mode

New things!!

  • Simple LOD system for planets, there wasnt a big performance change, but the model swap is very unnoticeable and nice so thats great!

  • Added a simple spoiler warning to the exploration mode, the original idea was that you should unlock it after playing the campaign but i guess its fine lol

  • I FIXED THE DEPTH BUFFER PRECISION ISSUE!!!! it was such a small change omg, i just dynamically changed the near plane of the camera based on how far you are to a planet, pretty nice

WIP

  • Work in progress: I’m porting the whole game to the new action-based input system so that the game supports controllers natively without any kind of steam layer on top, this is till very early and i still dont know how to make some stuff be fun to use with a controller…. :cooked:

I finish this, finish the two major things on the exploration mode that are 100% gonna be quick, make some decent amount of content for it, add the custom spaceship controller and launch system, make the first ~5 minutes of the campaign mode, and then SHIP THIS PROJECT (this will surely go as planned)

PD: the video u see is completely controlled with my gamepad, not the best controls yet but its better than nothing!

0
0
64
Open comments for this post

5h 53m 51s logged

JSP

Worked on so many things before getting started with the complicated stuff, ill tell more about that in the bottom section, but for now, im pretty happy with what ive just added, even tho progress is pretty slow!!!

What have i added? :yip:

  • Full/complete atmospheric effect, it now not only looks good from outside, now from the inside too!!! Its a small trick but when the camera gets close enough to a planet, its atmosphere’s density scales up making the sky blue like here on earth or greatly improving the sunrises and sunsets, they do look beatiful

  • Added floating origin: double precision was not enough so ive added a system that teleports all the entities in the scene when the player gets too far from the origin, this works surprisingly good and it was very simple to do, hopefully it wont break physics later on, but so far its great! This allows the solar system to go from ~10000 units wide to over ~3000000!! that is great! This was a engine-level change mostly tho

  • You can finally use the planets you discover in the campaign mode in the sandbox mode

  • Dynamic settings!!! I made it so that when you first load into the game, the UI scales to your resolution and your target fps are set to your monitor’s refresh rate, might not look like something important but this is actually HUGE

Whats cooking up currently!

  • Need a system to allow the player to be placed on top of moving planets (it currently works but breaks sometimes), and also to allow those planets to rotate. This will be achieved with a completely new physics world that will live localy on the closest planet the player is to

  • Chunked mesh collider system :fear: i really dont know how to this, because of the terrain of my planets (TODO), collisions will be complicated to calculate, if you know about anything that could help, please send it!!!

PD: I wish i could spend more time actually coding than thinking, if that were to be the case id have 300 hours+ in this project already

0
0
52
Open comments for this post

8h 7m 7s logged

ORIGIN ENGINE

I’ve been adding some quality of life changes that make working with this engine a lot easier, which means more abstraction in some cases which is not always the best but whatever. Ive also worked very hard on fixing and improving the physics (even considered porting it to now use Box3D instead of Bullet3, but that will probably happen in the far future, and Bullet3 will be kept as a fallback)

What have i been working on i see you ask?

  • Added the ParentEntityComponent, a very simple work around for the lack of parent-child entities on my engine, this will probably be deprecated sooner or later but its a decent solution instead of doing all the work all at once

  • Added GetRefreshRate to window class, so for example, your game can set the target fps based on this

Changes to physics system (Bullet3)

  • Fixed a super hard to find bug where models vertex and physics-engine vertex would have shifter coords and would make the objects act weird on real time, this is such a huge change, it makes physics really good to play with, see the video!!

  • Added functions to apply force, impulse and torque to a dynamic rigidbody

  • Added the teleport function for kinematic rigidbodies

  • Added getLinearVelocity and getAngularVelocity

  • Added options to freeze rotation on independent axis

  • HUGE: allow the engine to support different physics worlds to live in one same game in real time! this needs some work tho, not featured in the video

PD: This is getting super nice but also growing in complexity, once i finish with my game i will surely start improving the overall structure and start thinking about more serious changes, maybe another graphics api????

0
0
5
Open comments for this post

8h 8m 29s logged

JSP

This is one of the most exiting devlogs so far!! I’ve managed to get a very basic “solar system working, not all the time and of course it isnt perfect but it is really cool, heres its lore: (note that planets are placeholders right now, and distances/scale should be a lot bigger in the future)

The “Halcyon” System

Somewhere very very far from our current home, humanity has managed to establish a multi-planetary life in a new system after traveling for generations in their own space station

  • The Halcyon system is composed of 5 planets (maybe more in the future) that orbit around a massive black hole (it doesnt have a name yet)

  • “Gaia” is the earth-like planet whose own satellite, “Vesta”, is a red dwarf star that provides just enough light and heat in order to live (seen in the demo video)

  • “Ying” and “Yan” (names will probably change), are two tiny planets that follow exact opposite orbits around the black hole, when one of them is at the perihelion, the other ones at the aphelion

  • “Kepler” is a huge rocky planet at the outskirts of the system where small human colonies currently live

Note that the campaign will be linear and happen entirely inside this place, but you will also have a “exploration” game mode that will allow you to find and see new secrets hidden… :))

Technical stuff (i.e. what was added)

  • Created the base for the Halcyon System, planets follow a predetermined elliptical orbit in real-time. Note that for debugging, scale is around 10 to 100 times less!

  • Added a simple physics based player controller, this took a lot of engine refactoring too. The player is affected by the gravity of the near planets and, when close enough to a planet’s surface, it is automatically aligned with the gravity vector and its also affected by the atmosphere’s drag (if theres any), this was by far the most difficult thing to do

  • Added a little Free Camera controller as well

What will be added in the future

This is only the start :fear: . Theres still a few complicated things to do:

  • Add double precision and floating origin to solve the problems that will appear when distances become as big as id like them to be

  • Add a chunked collision mesh system for planets with complex geometry, like mountains or things like that. Right now they are all controlled by a simple kinematic sphere collider

  • This system currently breaks the player movement when planets are moving, this is why i set “time scale” to 0. To fix this ive been thinking of creating a local physics world that sets the planet you are on to be the origin of the physics, making it look like if the planet was static, this will by by far what will take the most amount of work probably

  • i also wanna update the atmospheric shader as it is by far the thing worsening the game’s performance, and id like to make the sky fully tint when your inside it


PD: Thank you so much for all the people that support/follow this project, it already has 21 followers :yay: . thank you, really!

1
0
144
Open comments for this post

8h 10m 47s logged

JSP

I want to dedicate this devlog to @Rupnil as he always says that devlogs need to be 3-4 hours max, so i can explain why thats not always possible. Out of the 8 hours i devlog today, around 7.5 of them were spent ONLY debugging ONE SINGLE BUG for 2 whole days. I started losing my mind lmfao

  • the bug:

All the built-in and embedded textures became completely broken and ONLY on super specific conditions on certain parts and game modes. But the worst part was that rolling back to a version from days ago DID NOT solve the issue at all :fear: . I even considered that my GPU gave up on my and it was just showing gpu artifact slop in my screen

  • the fix:

Apparently there was a small bug with gpu memory allocation in the backend of dear imgui (apparently ONLY in the SDL2-OpenGL backend lmfao) and only for the docking branch of the repo. Rolling back to an old dear imgui version from the main branch solved the issue but damn. Ive also reported the issue as much as i could in the official repo. Pretty much, updating the engine to the latest version automatically updated its dependencies and thus leaked the bug to my game


Appart from that I’ve spent a little bit on starting to develop the open-universe system where you can travel around planets! More on that in the next devlog probably. I already have though about the planet’s names, positions and stuff! pretty exiting!! :yay:


PD: In the mean time ive also being updating the engine at the same time to improve the physics system, which is a lot better right now!

1
0
76
Ship

This is my 3D game about space exploration and kessler cascades, it has a campaign mode coming up but i havent finished that yet, for now enjoy the 3 game modes!

i built this on top of my custom engine so its been a lot of hard work, please try it out!!!!

  • 16 devlogs
  • 105h
  • 19.52x multiplier
  • 2037 Stardust
Try project → See source code →
Open comments for this post

4h 23m 12s logged

JSP

Pre-ship checklist is complete! :yaaaaaaay: I’m so ready to ship the first version and start developing the campaign, which is the main thing of this game. I’ve actually started it a little bit, it now has an interior level system completely different to the gamemode system i had for the rest of the game, this is pretty exiting!

stuff that ive done before shipping

  • Built the game for windows, took a little bit but performance is 1:1 and everything works perfectly, the only thing was that i had to change the backend of the audio engine to use something else but that was fairly quick!

  • Reduced the size of the game MASSIVELY, it went from around 350MB to ~35MB, thats literally 10 times less!! managed to do this by compressing the audio files, although the change is almost unnoticeable, and also making the engine bake some textures on build time, just like real fancy engines do!

  • Changed a bit the main menu/ campaing mode but for now it is all a placeholder

  • Created a new itch.io banner

  • Made the HELP menu show up by default, i dont really like this but i think its probably the best for people to rate it nicely, wont be in the final version…

  • Added a input mode (another one) to the spaceship building mode that allows you to hover the attachment points and it will tell you with a little popup what category of part can go there

If you are rating my project, please ishowspeed i need this :speed: now in all fairness i hope people like my game! im not even close to finishing it lol


Right after this first ship i will work on updating the engine to support new features that the campaign mode will certainty need 100%, like a working physics engine, ive thought of porting what i currently have to use a new one i found and that is getting very popular called “Box3D”, we’ll see, byeeeeeee

0
0
42
Open comments for this post

39m 37s logged

:yay: :yay: :yay:

Been working on fixing a couple things before shipping, the problem was all with windows and its super wierd api. most of these changes were done long ago but i forgot to devlog them lol


anyways, ive also published a demo video to see how it works if for some reason you dont own a steamdeck. i know this is not the most quality post but im a bit tired from all the work ive been doing on other projects. so, in a way, this project is completely finished!

0
0
7
Open comments for this post

7h 10m 50s logged

JSP

I feel like im getting very close to a first ever release and finally start with the campaign mode! I finished some polishing stuff and fixed a bit, i dont think the spacecraft builder mode is ready 100% but ill use it in the campaing mode either way so ill have to update it regardless


I’ve officially published the github repository where you can check out the huge amount of code this project already has lol. I’ve also created a new itchio page, this is the secret link (for feedback): https://aloyak.itch.io/jsp?secret=nkYXIEVo8woJvblBQRYMIrWSFc

added things:

  • Published the github repo and the itchio page! With a lot of new screenshots and art. I’ve also added the source files of the textures (.xfc gimp files, including the itchio banners) as well as the 3D models I’ve made (in blender) which can all be found in the assets_src/ folder

  • Added a way to delete different parts in the spaceship building mode

  • Added a few new parts to the spaceship building mode, refactored the whole system to make it “easier” (not really) to add new parts and things

  • Added a full README + LICENSE to the repo

  • Added a new shader :lets-fucking-gooo: , it is the small fog that you see in the vide when building a spaceship in order to hide the lack of detail in the exterior, the shader fades out the more you look up so you can see the beautiful skybox

  • Added load/saving to the spacecraft building game mode, you can now save your ship’s to load them later just like with planets and sandboxes

  • Fix some memory management problems where i forgot to delete some pointers => no memory leaks or crashes! :yay:

I dont think this will be the last devlog before the first ship, but maybe, who knows right? Looking forward to you all trying my game! (the part that is done)


PD: 100 hours :yippeee:

0
0
37
Open comments for this post

9h 17m 56s logged

ORIGIN ENGINE

Yippie! :yay: another update to the engine powering my game, i’ve added quite a lot of things but also managed to clean up some dead code in the way. The most excinting new thing is probably the new postprocessing layer system!

this is what ive added in the past 3 weeks:

  • Postprocessing layer: you can now code different vertex & fragment shaders that drawn on top of the main buffer, you can stack as many as youd like in order to create many new cool effects

  • spent hours trying to fix the sandbox editor’s rendering being completely broken, took about 3-4 days lol

  • added new getters to camera like a directly inversed view matrix or setMat4() and setTexture() functions with shaders

  • add localToWorld() and worldToLocal() to the transform class

  • fixed specular lighting leaking to some dark areas

  • fix handle untextured materials in model import

  • added a built-in user settings save/load system based on json serialization

  • refactor a part of the audio system to now have built-in fade ins/out, volume control and async background music

The biggest change coming up would probably be to develop a dynamic rendering system that allows me to use different cameras rendering at the same time, as I’ll probably need it for JSP

PD: this engine is being used for my current main project (almost 100 hours!), please check it out! JSP: https://stardance.hackclub.com/projects/14066

0
0
6
Open comments for this post

3h 45m 56s logged

JSP

:yay: :yay: :yay:

Can’t really express enough how much I enjoy making shaders, the look really good. i might make a video about it with the new hackclub video challenge, we might see, I’m kinda shy for these sort of things :))


Today’s devlog is pretty much to show only one thing. I’ve been doing some really small changes to UI, a few bug fixes but the important thing is the new Central Body system for the sandbox mode (the code is pretty rough right now but hopefully ill improve it), this now allows you to choose the central body that your planets will orbit around


So now, instead of having only the sun in the middle you can now select a BLACK HOLE instead, which i think its a lot cooler. Note that the whole black hole is completely done by a single glsl fragment shader, how cool is that? I’ve reused a small amount of code from the atmosphere shader and then researched a bit on similar projects


Apart from this I’ve also added a new “extra” option to allow the player to change the tint of the skybox, so you can create even weirder solar systems, any new suggestions on what else to add are welcome!


After this im gonna do a small refactoring change that is really stupid and needs to be changed in the entire code base, its just a small thing with the new language system

0
0
31
Loading more…

Followers

Loading…