i think the things that stop me making this game are not each individual but how to get somewhere and not just drown in indecision, so a full how to would go down well just to see how others organise themselves, and work through with maybe PH chunks till they flesh out with real or even basic hack systems till they make the real deal etc
I would say if you wanna pay, then pay for a good course learn things separately, or even learn from free sources and at least try to make it on your own, a wayyy better way to learn then just blindly following a 10 course.
@@fus3n I find courses like this, that go through the creation of something from A to Z, are a much better way to learn. You get a good idea of what is needed, you see how the pieces fit together, then you can look at individual videos to change things how you want.
@@eoghanley Yes that is certainly helpful but even if some courses show some errors and the common problems you face, almost 95% of the course would be like going through a maze with a map, in programming I couldn't stress it enough how good it is to learn from making your own mistakes its slow yes and if you don't have time sure go for this kind of tutorial/courses but if you do have time you should try to face the problem and fix it I understand your point but if you wanna learn game development instead of just doing it for fun or money then you should at least like try once doing this you will see what I am talking about. As even if a problem looks simple, when you do it on your own you learn 10x more stuff then you intended to do and learning more is just basically advantage at this point.
Very nice, hope to see more of these videos! They are really inspiring and love how you break all the details and functions down to make it more realistic to develop the features by myself! Thank you and keep up the good work!
This is a really great-quality high-level summary (with some detail too!). I've made and published a "colony/city builder". I learned many of the techniques from your videos, others from Catlike Coding, but I also had to come up with quite a few solutions at the time (and include Threads). It's nice to see that I ended up with solutions very similar to what you propose :) except no DOTS!
Honestly, the biggest motivator for me to finish the game I am working on currently is so I can be free to do a couple of your tutorials, sir :D and that motivation has sure helped me a lot! I am really looking forward to rewarding myself with some codemonkey courses for a job well done after I hit that publish button :D
Regarding events that change rarely you can use delegates/notifications. For example the wood hut: when a tree spawns, it checks if there is any wood hut close by. If yes, then notify it that a new tree has been spawned. It's more efficient than having the hut check each X seconds. This way the code runs only once per tree, opposed to hundreds of times per hut (and most times without a reason).
Breaking up projects into smaller mechs is something I need practice on, but cant find many vids for... its a skill often stumbled through :( Thank you for making this vid, please make some more :D
Thank You 💯👍🏻 This is a very good overview of the Game Design (and some aspects of the Gameplay) that are needed to make a City Builder game. I will take these Bullet Points and guidelines close for a possible future game demo.
I use to skip the How It's made series some time ago since I didn't gain much info but this is very detailed and very useful. Perhaps ill look into the other ones too
Thank you for your efforts to facilitate learning Unity. I noticed an asset named "See-through Shader," and I was wondering if you could create a tutorial or provide some advice to help achieve the same effect.
That's perfect content! I love it! Analyzing a game (that I also play and enjoy which is even better) and suggesting some of your own tutorials to make it ourselves is great! I am on your Turn-Based StrategyGame Tutorial right now and I love it but I will definitely check the Builder-Defender afterwards. Thanks a lot Code Monkey!
this looks great!, can you make a tutorial on how to make a story game kinda like elden ring, god of war, you progress through the game with specific objectives, your videos and work is awesome!!
I love this kind alot. Im at a point where I know what to do. But just need an overview of something like this where the keyword/main point on a specific mechanic is mentioned.
heh I definitely would love to do a City builder course some day, I wish I could clone myself so that I could build an entire complete course in a few days!
Hey Hugo! Thanks so much for another great vid. I've done a lot of your courses including the Builder-Defender one - all great stuff. I recently finished Clean Code and am now wading into Code Complete. Question for you: what are your thoughts on Unit Testing? I've been working on a City Builder and am now seriously considering implementing Unit Tests before it grows in scale but it does seem quite daunting...
Personally I find that Unit Tests are too time consuming for game development where you need to work super fast in order to make a game on time. So normally I don't write them but I do try to write my code in a way that would be testable by minimizing dependencies as much as possible. Unity does have a Test Framework if you want to go down that path docs.unity3d.com/Packages/com.unity.test-framework@1.4/manual/index.html
@@CodeMonkeyUnity Sounds good, thanks for the reply! I know you focus a lot on clean code and that is something that I want to prioritize as well, so it's interesting to hear you give that opinion. I can see how Unit Testing would be more important if you were working on larger projects with many programmers but (imNOOBo) I don't think I'll spend much time on it so long as I focus on writing good clean code. Thanks!
A more in depth tutorial on how to do less calculations per second on things that are not seen by the player but still get the same output would be nice, like your offworld example.
Great video as always. I have one question to the video. You say you would use scriptable objects for the buildings but for example if it is possible to upgrade this building is it not better to use normal objects? Because as far as i know it is not possible to change variables of a scriptable object. Or would you destroy the old scritable object and create then a new one with to upgraded building stats? Would be awesome to get an answer because the right using of objects and scritable objects is stilla myth for myth for me. And I have a similar case in my current project for months, where I can't decide the right way.Thank you in advance
Scriptable objects are just data containers, so you wouldn't ever destroy them. You spawn a building prefab which has some kind of MonoBehaviour attached to it for the building logic and that script has a reference to the Scriptable Object in order to grab data from it (like buildingRange) For handling upgrades, if all buildings have the same number of upgrades then perhaps put all values in a single scriptalbe object. Or alternatively make multiple scriptalbe objects for each upgrade level.
I have an OFF-Topic question: "How can I effectively develop and manage a massive open world map like Breath of the Wild or Genshin Impact in Unity?" I mean, in terms of project development. It's not about creating and optimizing the map during gameplay (LOD, occlusion, etc.), but, for example, should I divide my map into large chunks or even gigantic scenes? How do I enable scenes to render stitched together in game? Should I first create a massive map and then divide it? How the project file tree should be organized. I'm confused, because I imagine having a massive world map, then add plenty details on it, plus all bunch of scripts and interactions is not the way to go
Yup usually by splitting the world into chunks, usually each chunk in a scene so it can be loaded additively You can either build it yourself or look at how an asset like Gaia does it th-cam.com/video/JeKaWX4m52I/w-d-xo.html
I've covered something similar in my spline video th-cam.com/video/7j_BNf9s0jM/w-d-xo.html GameDevGuide also has a great video on that topic th-cam.com/video/ZiHH_BvjoGk/w-d-xo.html
Hello Code Monkey will you make a tutorial on how to make an open world game with a procedurally generated world. I am just looking for a quick walkthrough like this video. Thank you
Hey code monkey, Just a question, how did Age of Empires did it? It is surely grid-based! Even back then, they managed to did a well optimized grid-based system that never lagged even with large armies!
Yup AoE is grid based, you can see the grid as the units reveal the map As to how I have no idea, maybe they prebaked a bunch of pathfinding calculations, maybe parts of it were made in Assembly like Rollercoaster Tycoon. Those old RTS games were all really impressive as to how many units they supported on such limited hardware
Depends on what theme you're going for, there's a ton of free stuff on the asset store, lots of sci fi, medieval, fantasy, etc, so just browse the free assets
Hello! I wanted to ask you about one question, but not related to the topic of your video. I passed certification on Unity Developer (Associate Programmer). From that certification I have learnt, how to write with efficiency a code by dividing it more on smaller blocks and I started study about MVC, MVP patterns. But how is passed certification will be helpful in resume? Can it be highlighted, for example, from thousand canditates on position Junior Unity Developer?
You can definitely include it in a resume, but as to whether employers value that or not will vary for each company. Some people prefer seeing a good portfolio instead of certifications
As I see that game uses roads as textures, not as mesh or it has mesh that shape being changed based on the mesh I have that problem in my game, the best solution I was came up with is to use decals. But are lot of decals are really bad for perfomance and I haven't any ideas how to implement this It would be great if you make video on that topic or give advice how to make road on not flat mesh, I haven't any ideas how to implement and didn't find any tutorial or solution on that topic
Not sure I understand what you mean, textures don't exist by themselves, they need a mesh. Yes many decals are terrible for performance so drawing all the roads with decals is not a good approach. A mesh does not have to be flat, you can definitely make a mesh and "attach" it to a non-flat terrain, just make the mesh with many vertices and not just a 4 vertex quad.
@@CodeMonkeyUnity Thanks for your reply! Okay but how I can attach it in dynamic on non-flat terrain like in Pioneers of Pagonia? I watched your tutorial "How to DRAW inside Unity!" and it is really helped, but I don't understand how to implement it in 3D (For example, I want to create a road on a mountain) In other words, I don't understand how to use a third coordinate on a procedural generated mesh
Hey, i love ur channel and subbed you maybe 1 year before . Can we make this in mobile game version too ? Do you have any tutorial like this for mobile game.
Most of the logic is exactly the same, the only difference between PC/Mobile is the input, so yes you can definitely make a City Builder and then use touch input or some virtual joystick to make it playable on mobile
I wouldn't want "units," I'd want citizens. I wouldn't want supply chains, tasks, or crafting; I'd want moods and autonomy. The first game I tried to make as an adult (back when I was trying to make my own engine because I thought that is what you needed to do) I loosely call a "city builder," but I don't think I'd want to make a game like that -- then, what I was describing as a city builder might better be described as a society simulator.
@@TheGreatestChuck I sometimes have described as something half-way between SimCity (or Cities Skylines) and The Sims, though a cross between SimCity: Societies and Dwarf Fortress might just be as good an approximation. Not sure anyone would play it, though, if I'm realistic.
Yup those are definitely great games to build, I've greatly enjoyed my time with Rimworld and Oxygen Not Included, I'd love to do one of those someday!
That's going to depend on whatever terrain system you're using. You get the mouse position to figure out the point you want to modify and then call some function on the terrain system
Pay to make? Unity is free, you can use the free license until you make $200k Are you talking about the runtime fee? That only applies to future versions and only after you sell 1 million copies AND $1mil in revenue, which most indie devs will never hit
@@CodeMonkeyUnity most, but I want my passion to be game development. If I reach there, I have to pay + unity's ceo will do more horrible things. Idk man, I'm thinking of switching. But unreal doesn't even have a good tutorial and my pc most probably won't run it so I'll look for the right time and leave
If you want to use Unreal then use Unreal, both are excellent game engines But don't make the choice based on a fee that you will never pay. If you somehow win the lottery with your game and go above those thresholds, with Unity you would pay 2.5% and with Unreal you pay 5%, both are perfectly reasonable.
A full walkthrough of this is something I would pay for
mee too!
i think the things that stop me making this game are not each individual but how to get somewhere and not just drown in indecision, so a full how to would go down well just to see how others organise themselves, and work through with maybe PH chunks till they flesh out with real or even basic hack systems till they make the real deal etc
I would say if you wanna pay, then pay for a good course learn things separately, or even learn from free sources and at least try to make it on your own, a wayyy better way to learn then just blindly following a 10 course.
@@fus3n I find courses like this, that go through the creation of something from A to Z, are a much better way to learn. You get a good idea of what is needed, you see how the pieces fit together, then you can look at individual videos to change things how you want.
@@eoghanley Yes that is certainly helpful but even if some courses show some errors and the common problems you face, almost 95% of the course would be like going through a maze with a map, in programming I couldn't stress it enough how good it is to learn from making your own mistakes its slow yes and if you don't have time sure go for this kind of tutorial/courses but if you do have time you should try to face the problem and fix it
I understand your point but if you wanna learn game development instead of just doing it for fun or money then you should at least like try once doing this you will see what I am talking about. As even if a problem looks simple, when you do it on your own you learn 10x more stuff then you intended to do and learning more is just basically advantage at this point.
Very nice, hope to see more of these videos! They are really inspiring and love how you break all the details and functions down to make it more realistic to develop the features by myself! Thank you and keep up the good work!
This is extremely interesting video style!
I hope you do more similar ones for other genres of games
This is a really great-quality high-level summary (with some detail too!). I've made and published a "colony/city builder". I learned many of the techniques from your videos, others from Catlike Coding, but I also had to come up with quite a few solutions at the time (and include Threads). It's nice to see that I ended up with solutions very similar to what you propose :) except no DOTS!
Honestly, the biggest motivator for me to finish the game I am working on currently is so I can be free to do a couple of your tutorials, sir :D and that motivation has sure helped me a lot!
I am really looking forward to rewarding myself with some codemonkey courses for a job well done after I hit that publish button :D
Regarding events that change rarely you can use delegates/notifications. For example the wood hut: when a tree spawns, it checks if there is any wood hut close by. If yes, then notify it that a new tree has been spawned. It's more efficient than having the hut check each X seconds. This way the code runs only once per tree, opposed to hundreds of times per hut (and most times without a reason).
Breaking up projects into smaller mechs is something I need practice on,
but cant find many vids for... its a skill often stumbled through :(
Thank you for making this vid, please make some more :D
Really great video, I have always loved city building games, so I may just pick that up as my next tutorial/project to learn! Thanks again CM
this video is amazing but i would love for you to make a full tutorial for a simple prototype using all this
This video has a huge amount of value!
Thanks mr. Code Monkey! City builders is one of my favorite game genre.
Thank You 💯👍🏻
This is a very good overview of the Game Design (and some aspects of the Gameplay) that are needed to make a City Builder game.
I will take these Bullet Points and guidelines close for a possible future game demo.
This new type of videos are another level 💯 Thank you so much , Hugo 🙏
Very nice way to put your videos in a useful context. Sure this will help to find topics in case you are not exactly sure what you are looking for.
Great overview video, really beneficial breakdown of all the moving parts required to make such a game ❤
I really enjoy these high level overviews on how to make a certain type of game!
I use to skip the How It's made series some time ago since I didn't gain much info but this is very detailed and very useful. Perhaps ill look into the other ones too
Thank you for your efforts to facilitate learning Unity. I noticed an asset named "See-through Shader," and I was wondering if you could create a tutorial or provide some advice to help achieve the same effect.
Thanks for the tutorial!
That's perfect content! I love it! Analyzing a game (that I also play and enjoy which is even better) and suggesting some of your own tutorials to make it ourselves is great! I am on your Turn-Based StrategyGame Tutorial right now and I love it but I will definitely check the Builder-Defender afterwards. Thanks a lot Code Monkey!
this looks great!, can you make a tutorial on how to make a story game kinda like elden ring, god of war, you progress through the game with specific objectives, your videos and work is awesome!!
I love this kind alot. Im at a point where I know what to do. But just need an overview of something like this where the keyword/main point on a specific mechanic is mentioned.
Hi CM! Thanks for the vid! I hadn't heard about Pioneers of Pagonia. Looks interesting.
Great! It would be awesome if you did this with many more genres of games.
this video, without announcing a complete video course, is an act of cruelty 😢
heh I definitely would love to do a City builder course some day, I wish I could clone myself so that I could build an entire complete course in a few days!
This is really helpful, thank you!
Great video. Enjoyed every second ❤
Love these types if videos
a overview of how the building mechanics for Tiny Glade work would be nice
This type of video is great.
It would be nice to see a video how to deal with terraforming if you place your building to uneven place like near a hill or on a slope.
Hey Hugo! Thanks so much for another great vid. I've done a lot of your courses including the Builder-Defender one - all great stuff.
I recently finished Clean Code and am now wading into Code Complete.
Question for you: what are your thoughts on Unit Testing?
I've been working on a City Builder and am now seriously considering implementing Unit Tests before it grows in scale but it does seem quite daunting...
Personally I find that Unit Tests are too time consuming for game development where you need to work super fast in order to make a game on time. So normally I don't write them but I do try to write my code in a way that would be testable by minimizing dependencies as much as possible.
Unity does have a Test Framework if you want to go down that path docs.unity3d.com/Packages/com.unity.test-framework@1.4/manual/index.html
@@CodeMonkeyUnity Sounds good, thanks for the reply! I know you focus a lot on clean code and that is something that I want to prioritize as well, so it's interesting to hear you give that opinion. I can see how Unit Testing would be more important if you were working on larger projects with many programmers but (imNOOBo) I don't think I'll spend much time on it so long as I focus on writing good clean code. Thanks!
A more in depth tutorial on how to do less calculations per second on things that are not seen by the player but still get the same output would be nice, like your offworld example.
Great video as always. I have one question to the video. You say you would use scriptable objects for the buildings but for example if it is possible to upgrade this building is it not better to use normal objects? Because as far as i know it is not possible to change variables of a scriptable object. Or would you destroy the old scritable object and create then a new one with to upgraded building stats? Would be awesome to get an answer because the right using of objects and scritable objects is stilla myth for myth for me. And I have a similar case in my current project for months, where I can't decide the right way.Thank you in advance
Scriptable objects are just data containers, so you wouldn't ever destroy them. You spawn a building prefab which has some kind of MonoBehaviour attached to it for the building logic and that script has a reference to the Scriptable Object in order to grab data from it (like buildingRange)
For handling upgrades, if all buildings have the same number of upgrades then perhaps put all values in a single scriptalbe object. Or alternatively make multiple scriptalbe objects for each upgrade level.
@@CodeMonkeyUnity Amazing thank you very much for your help.
I have an OFF-Topic question: "How can I effectively develop and manage a massive open world map like Breath of the Wild or Genshin Impact in Unity?" I mean, in terms of project development.
It's not about creating and optimizing the map during gameplay (LOD, occlusion, etc.), but, for example, should I divide my map into large chunks or even gigantic scenes? How do I enable scenes to render stitched together in game?
Should I first create a massive map and then divide it? How the project file tree should be organized.
I'm confused, because I imagine having a massive world map, then add plenty details on it, plus all bunch of scripts and interactions is not the way to go
Yup usually by splitting the world into chunks, usually each chunk in a scene so it can be loaded additively
You can either build it yourself or look at how an asset like Gaia does it th-cam.com/video/JeKaWX4m52I/w-d-xo.html
Would you consider making a tutorial on how to build roads during runtime? There is absolutely nothing on TH-cam.
I've covered something similar in my spline video th-cam.com/video/7j_BNf9s0jM/w-d-xo.html
GameDevGuide also has a great video on that topic th-cam.com/video/ZiHH_BvjoGk/w-d-xo.html
Hello Code Monkey will you make a tutorial on how to make an open world game with a procedurally generated world. I am just looking for a quick walkthrough like this video. Thank you
Amazing video
Im waiting
Hey code monkey, Just a question, how did Age of Empires did it? It is surely grid-based! Even back then, they managed to did a well optimized grid-based system that never lagged even with large armies!
Yup AoE is grid based, you can see the grid as the units reveal the map
As to how I have no idea, maybe they prebaked a bunch of pathfinding calculations, maybe parts of it were made in Assembly like Rollercoaster Tycoon.
Those old RTS games were all really impressive as to how many units they supported on such limited hardware
When can it be listed Complete course
is it possible to make a city builder with javascript so that it can be run on browser ?
Sure, you can do anything with a HTML Canvas and for 3D there's ThreeJS
Or Unity can also make Web builds
Can you recommend a free assets package for city builder game? I wanna make a city builder game.
Depends on what theme you're going for, there's a ton of free stuff on the asset store, lots of sci fi, medieval, fantasy, etc, so just browse the free assets
@@CodeMonkeyUnity thanks you so much for your reply!
Hello! I wanted to ask you about one question, but not related to the topic of your video. I passed certification on Unity Developer (Associate Programmer). From that certification I have learnt, how to write with efficiency a code by dividing it more on smaller blocks and I started study about MVC, MVP patterns. But how is passed certification will be helpful in resume? Can it be highlighted, for example, from thousand canditates on position Junior Unity Developer?
You can definitely include it in a resume, but as to whether employers value that or not will vary for each company. Some people prefer seeing a good portfolio instead of certifications
Okay, thank you very much!!@@CodeMonkeyUnity
As I see that game uses roads as textures, not as mesh or it has mesh that shape being changed based on the mesh
I have that problem in my game, the best solution I was came up with is to use decals. But are lot of decals are really bad for perfomance and I haven't any ideas how to implement this
It would be great if you make video on that topic or give advice how to make road on not flat mesh, I haven't any ideas how to implement and didn't find any tutorial or solution on that topic
Not sure I understand what you mean, textures don't exist by themselves, they need a mesh. Yes many decals are terrible for performance so drawing all the roads with decals is not a good approach.
A mesh does not have to be flat, you can definitely make a mesh and "attach" it to a non-flat terrain, just make the mesh with many vertices and not just a 4 vertex quad.
@@CodeMonkeyUnity Thanks for your reply!
Okay but how I can attach it in dynamic on non-flat terrain like in Pioneers of Pagonia?
I watched your tutorial "How to DRAW inside Unity!" and it is really helped, but I don't understand how to implement it in 3D (For example, I want to create a road on a mountain)
In other words, I don't understand how to use a third coordinate on a procedural generated mesh
Is It Possible To Make A Game In Unity, But People That Work In Your Game Dev Company Help You Out With The Games And Future Releases.
Hey, i love ur channel and subbed you maybe 1 year before . Can we make this in mobile game version too ? Do you have any tutorial like this for mobile game.
Most of the logic is exactly the same, the only difference between PC/Mobile is the input, so yes you can definitely make a City Builder and then use touch input or some virtual joystick to make it playable on mobile
Wow
create also explain one game call Rise of kingdom(Mobile game 😄)
I wouldn't want "units," I'd want citizens. I wouldn't want supply chains, tasks, or crafting; I'd want moods and autonomy.
The first game I tried to make as an adult (back when I was trying to make my own engine because I thought that is what you needed to do) I loosely call a "city builder," but I don't think I'd want to make a game like that -- then, what I was describing as a city builder might better be described as a society simulator.
What you're describing sounds somewhat like RimWorld or Dwarf Fortress
@@TheGreatestChuck I sometimes have described as something half-way between SimCity (or Cities Skylines) and The Sims, though a cross between SimCity: Societies and Dwarf Fortress might just be as good an approximation. Not sure anyone would play it, though, if I'm realistic.
Yup those are definitely great games to build, I've greatly enjoyed my time with Rimworld and Oxygen Not Included, I'd love to do one of those someday!
Where is your new video
Lately I'm hard at work on my upcoming C# course so yeah fewer videos (just 1 per week) until that's done
1st? ✋❤
You have not talked about how to manipulate terrain.
That's going to depend on whatever terrain system you're using. You get the mouse position to figure out the point you want to modify and then call some function on the terrain system
I have decided to leave unity because its pay to make. Idk what else the horrible ceo would do. So im switching to unreal. BYE UNITY!!
Pay to make? Unity is free, you can use the free license until you make $200k
Are you talking about the runtime fee? That only applies to future versions and only after you sell 1 million copies AND $1mil in revenue, which most indie devs will never hit
@@CodeMonkeyUnity most, but I want my passion to be game development. If I reach there, I have to pay + unity's ceo will do more horrible things. Idk man, I'm thinking of switching. But unreal doesn't even have a good tutorial and my pc most probably won't run it so I'll look for the right time and leave
If you want to use Unreal then use Unreal, both are excellent game engines
But don't make the choice based on a fee that you will never pay. If you somehow win the lottery with your game and go above those thresholds, with Unity you would pay 2.5% and with Unreal you pay 5%, both are perfectly reasonable.
@@CodeMonkeyUnity I'll just use both cuz why not
I'll try to learn unity then go to unreal when I get a better pc
Thanks for the help