City Sweep
- 25 Devlogs
- 43 Total hours
A tech demo of my C++ and Vulkan renderer, where you clean up streets of trash. My renderer is a separate project, this is just the game that I made in it.
A tech demo of my C++ and Vulkan renderer, where you clean up streets of trash. My renderer is a separate project, this is just the game that I made in it.
That’s it, I’m done. I made a game in my own renderer, and pretty well too. What I’ve made in the past couple of weeks simply amazes me, I never thought I would make a game in completely my own engine, and look at me now. Yes it’s just a simple tech demo, but it’s still a playable game.
I spent the morning making a song that doesn’t feel to repetitive, as the game is like 15 minutes long, and I’m pretty sure this song is basic enough that it that it can be listened to for 15 minutes. I also had to implement SDL_mixer into my game so I can listen play sounds, but that was pretty easy.
I wanted the song to have a vibe straight out of High On Life, and I think I’ve got it. I’ve attached a part of it so you can listen to it too.
I did it for the storage too, it was only half done. It’s pretty cool. I also rearranged all the trash in the city, and nearly doubled it too.
Now all I need is:
I doesn’t look too great yet, I’m definitely going to do something about how it looks, but as of right now I’m:
A. Happy that it’s even working
B. Surprised that my renderer can handle so many objects at once.
This project was basically made so I can see how well my renderer can handle a full game, and it seems like it’s doing quite fine.
Now all that remains is to:
That’s not a bad list, I’m practically done already!😅
It’s neither the prettiest or the biggest, but I
can’t commit to a map bigger than this for my first game in this renderer. So, for now, this is enough. It looks kinda cool tho, it might just be me. The point is: this is a basic map, but a great map for picking up trash in, all things considered I’m happy.
I started working on the world for the demo. It’s going to be quite small, I’ve already got 2 of 10 buildings down. I also need to make a new skybox too, but that’ll come later I suppose. I also want to make a pixelating effect that makes it look a bit more stylized, but that’ll come later.
I implemented an entire system for switching tools. I didn’t want to make a devlog without an example, so I drew, animated and programmed the broom tool as well. All of it’s settings are changeable, now all I need to do is spend a bit of time with the upgrades and it’s all done. I’m unsure if I talked about money in the last update, but if not then yeah, money exists too now, although it doesn’t have a use quite yet.
Most my time spent in this update was actually with optimization. I freaked out the the game wasn’t performing well in a rendering situation that I won’t even come close to in the finished product, so I realized it was only a problem if I made it one. After that debacle I implemented buying tools and then I started working on animating the hands. All the other tools will be 2D and animated like this too.
minus the trashcan and wheelbarrow, I’m planning to make those actual physical objects you can move around and interact with which will come later on in development, I’ve still got a lot to do before that. But that does technically mean that most of the UI work is done (jippie !!!), I only need to do the purchasing for other tools now, and the settings menu will come far later in development. I’m almost out of UI hell, almost there
It took a bit longer then I would have wanted, but I designed the storage upgrade menu. First image is nothing purchased, second image is everything bought.
This is just the base for it, upgrades are not yet implemented, but thanks to all the work right now, implementing upgrades is easier than ever. The progress bars are how well the upgrades are progressing, and those are driven by a variable as well. Much of the time on this was just spent on figuring out how the UI should look, and to be honest I’m a bit disappointed because it’s not that good, but it’ll be better once it actually functions, because right now you can press the buttons but they don’t do anything that’s visible to the naked eye
this took way longer than it should have, but
I made a simple button class and made sure they worked, I also had to do a bunch of debugging in the engine and in my raycasting function to iron out a bunch of bugs, I am finding why making your own engine is way more time consuming. I love it tho, it’s way more fun than making this in a big engine.
It’s loaded from the map file you give it, and automatically identified based on the name. You can also kick it around, that’s it. Now that I finally built out all the necessary systems developing this game is a breeze, I so love the environment I built for myself. Totally worth the 60 hours I spent on it.
I can’t believe I’m saying this, but
If you saw any of my older devlogs (you didn’t tho), you would point out that I already made a physics system and FPS movement. And that’s true, but those systems were copied from my last engine and slightly edited to fit my new renderer (except for PhysicsObject that was basically a full rewrite), but I didn’t account for the fact that React Physics 3D may have been updated during this time. And of course they added breaking changes, which I had to annoyingly chase down with no information on why anything was happening. I’m not going to go into it because I don’t fully understand what it was freaking out so much about, but the point is that I had to rewrite most of the CharacterController and FPSController, or else the entire physics system would just collapse on itself. Anyways, here’s a video of me walking around on the dev environment.
This project is a follow-up to my last project, which is a renderer using Vulkan. I spent some time figuring out how to use my own renderer as a library, but after a bunch of rewriting I managed to do it.
After that I implemented ReactPhysics3D, which is a 3D physics library I used before, and I want to use it in this game too, so I spent some time writing a PhysicsObject class based on the PhysicsComponent from my game engine I built last year. I had to do a bunch of rewriting, and I also had to modify my GLTF loader in my renderer so it also returns vertex dat for convex shape generation, but it’s all done and working. The next step is a CharacterController class and an FPSController subclass, which I can hopefully just rip from my old game engine.