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

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.

Ship #1 Pending review

City Sweep is a game I made in about 2-3 weeks with the sole purpose to test out how well I can make a game in my freshly made 3D renderer and basically game engine.

In this game you pick up trash in a small city. You earn money from the picked up trash, which you can spend on more storage, tools, or upgrades for your tools.

That’s about it, this is just a tech demo I made for my engine, so it isn’t that ambitious.

  • 25 devlogs
  • 43h
Try project → See source code →
Open comments for this post

46m 6s logged

DEMO !!

And that’s it, the demo is live. I’m going to ship the project and finally relax after a long summer. Unless there are bugs to fix of course, but I sure as hell hope there are none.

0
0
14
Open comments for this post

19m 29s logged

SETTINGS and HELP MENU

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.

0
0
10
Open comments for this post

39m 13s logged

Sound effects

Yeah there are sounds for everything now, the game is coming together, it’s sure as hell good for a tech demo.

0
0
9
Open comments for this post

21m 44s logged

Music !!

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.

0
0
6
Open comments for this post

1h 20m 43s logged

Everything finally has a proper price!

I tried beating the entire game with this, and of course it’s a tech demo so it’s like a 10 minute experience at best, it’s still extremely cool. I’m almost there, just some polishing here and there and I’m done.

0
0
6
Open comments for this post

1h 33m 43s logged

I finished the upgrades for the broom and vacuum

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:

  • Make everything cost money. All the prices are already calculated, I just need to make them work.
  • I need to music, sound effects, and settings to make them work.
  • I need to make a proper help menu, because I still use the placeholder.
  • And then the last thing is some multi-platform playtesting, to make sure everything works as it’s supposed to.
0
0
16
Open comments for this post

1h 44m 31s logged

I filled the city with trash

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:

  • Finish all the upgrades for all the tools
  • Give everything a price and display it
  • Add some sfx and music
  • Add a loading screen

That’s not a bad list, I’m practically done already!😅

0
0
20
Open comments for this post

1h 10m 18s logged

I finished the city!!!

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.

3
0
167
Open comments for this post

1h 38m 45s logged

Many changes, so here’s a list:

  • I wrote an entire pixelation post-processing effect in the renderer so now the entire thing is cool and pixelated, I love how it looks.
  • I worked a bit more on the map and re-lit the whole thing
  • I drew a new skybox, I think it looks really cool.
0
0
10
Open comments for this post

2h 0m 29s logged

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.

0
0
55
Open comments for this post

1h 54m 35s logged

VACUUM TOOL

I’m beginning to get to the end of the project. I still need to make the upgrades for the broom and vacuum, an actual map, sounds effects, music or ambience and make a build for windows too. I’m pretty sure that’s it.

0
0
17
Open comments for this post

4h 50m 22s logged

TOOL SYSTEM and BROOM

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.

0
0
12
Open comments for this post

4h 45m 2s logged

BUYING TOOLS and TOOL ANIMATIONS

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.

0
0
16
Open comments for this post

1h 7m 18s logged

STORAGE UPGRADES

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

0
0
5
Open comments for this post

1h 33m 19s logged

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.

0
0
16
Open comments for this post

1h 35m 3s logged

HAND UPGRADES

  • Upgrade 1: Pickup speed: shrinks the time between pickups
  • Upgrade 2: Palm size: the radius in which the player can pick up trash (basically just how much trash you can pick up at once)
  • Upgrade 3: Hold pick up: (one-time upgrade) allows holding the mouse button for picking up trash instead of having to click individually for each one
0
0
16
Open comments for this post

2h 15m 46s logged

EXPANDABLE UPGRADE SYSTEM

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

0
0
3
Open comments for this post

2h 21m 57s logged

this took way longer than it should have, but

BASIC PAUSE MENU AND UI SYSTEM

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.

0
0
20
Open comments for this post

26m 24s logged

EMPTYING TRASH AND MAX TRASH AMOUNT

Yeah pretty self explanatory. I capped the max amount you can hold and added bins on the map that you can empty trash into. Pretty cool.

0
0
6
Open comments for this post

1h 3m 58s logged

PHYSICS OPTIMIZATION

Yeah the physics were really slow, I needed to work on optimizing it a little. Also, if you look closely you can see that the trash counter text is finally centered. That cool, right? Anyways, the point is that I won’t be having any trouble with performance anytime soon.

0
0
6
Open comments for this post

1h 16m 49s logged

TRASH COUNTER

Yeah it’s not centered, I’ll fix that, I just want this feature out. I had to rewrite much of the 2D rendering in my renderer for this, so please appreciate it.😅

0
0
6
Open comments for this post

50m 32s logged

I added trash you can pick up

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.

0
0
7
Open comments for this post

3h 41m 9s logged

I can’t believe I’m saying this, but

FPS MOVEMENT AND PHYSICS SYSTEM

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.

0
0
7
Open comments for this post

22m 34s logged

CHARACTERCONTROLLER AND FPSCONTROLLER CLASS

I ported over an old CharacterController class from my old game engine along with the FPSController subclass. I had to do a little rewriting because this project uses a different math library and camera setup, but other than that it was really simple.

0
0
13
Open comments for this post

3h 48m 34s logged

RENDERER IMPLEMENTATION AND PHYSICS

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.

0
0
8

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…