🌍 Get the Game Courses Bundle 3x1! game.courses/code-monkey-bundle/ (Includes Steam Keys for my games as a FREE bonus!) 💬 Factory Automation Game! I've been working on this for a month, did you join me on the Livestream? Make sure you don't miss whatever mini-game I work on next, hit the bell icon! 👍 You can play the game on the Steam App or Download the Project Files, hope you like it! 🌐 Have you found the videos Helpful and Valuable? ❤️ Get my Courses unitycodemonkey.com/courses or my Steam Games 🎮 unitycodemonkey.com/gamebundle
This game reminds me of the old Dune game. it would have been interesting to add the hidden resources and use leaflets to find enemies to destroy them and you to defend them. My opinion is that you can use this idea to simulate a computer - it could be used in the learning process for schoolchildren and you could put it online. In the end, the work done and the number of hours depends a lot on what you have.
Do you have a tutorial of how to make this game from scratch? I would love to take it. Also, in the background you show a top down game on Steam that looks really good. It’s the game in the background at 0:37. Do you have a tutorial of how to make that from scratch? I would love to take both the factory tutorial and the tutorial of that game in Steam. Thanks!
@@gfujigo Most of the videos on the Grid system playlist are step by step tutorials which is what this game is based on ruclips.net/p/PLzDRvYVwl53uhO8yhqxcyjDImRjO9W722 That's the Wash your Hands game ruclips.net/video/q9pe-wH7eZ8/видео.html
There's no game that i want to play, it basic on factoric but the game purpose isn't my thought because it not enough like a chip layout generation program, that can held out put lot of different size of retangle in to a one small square with high density, that can make a little change and regenrate, that to let player like the chip designer, more density and look awesome and give a written line to add some parts more without redo move parts all times hand by hand
True, super helpful stuff. I'm sure he's got them stored locally too, so it won't lost forever. (I made that mistake with some stuff published to a website, they had exclusive rights for publishing, so I didn't have it hosted on my own site, and it was only stored through their editor. RIP).
Me: Struggling for hours to instantiate an object and populate one of it's variables Code Monkey: So I'll just make a 3D Factorio template in a couple of days...
@@CodeMonkeyUnity and constant practise. I'm finding myself saying "I knew how to do this 4 years ago" pretty often after taking a bit of a break from gamedev. Luckily your videos are here to my rescue.
The way you explain how you made your game can basically amount for everything I've learned in unity for 2 years. Including stuff I haven't learned yet.
Survivor Squad, Game Corp DX, Blueprint Tycoon, Ninja Tycoon, and Battle Royale Tycoon. I bought these 5 of your games before going to University for Computer Science. Now that I'm finishing my degree and making my foray into Game Development, you've been the most helpful person on the planet. Thank you, for your great games, and your incredible teaching!
It's a great overview of how Factorio might be working, or maybe how to do something like that in a different genre (RPG game with some small homebase), but I still want to point out that the WHOLE selling point of Factorio is its scale.
Wow this is fantastic! I have recently discovered ypur channel and i even have tried making my own game, but it is much harder than i have expected. I know C# quite well but even with that i feel lack in some areas. What are some good videos of yours to start understanding how to write code for unity and how to solve common problems? Thank you for your work, you are a true legend!
For the absolute basics you can start here ruclips.net/video/E6A4WvsDeLE/видео.html Then a refresher on C# basics here ruclips.net/video/IFayQioG71A/видео.html After that just browse for a simple video that interests you and try to follow that, maybe the video on Flappy Bird which takes the game from start to finish. Best of luck!
I've been making a factory game like this and making devlogs. I'm pretty sure I'm well over 20 hours by now... It's super inspiring watching you work though :)
@@CodeMonkeyUnity I absolutely won't!! Watching your videos pushes me forward and thanks to people like you, today I know a lot more than I did a month ago.
Wait, Blueprint Tycoon was one of yours? It's been a while since I've got and played it, long before I got to know your RUclips channel, but I remember having a lot of fun playing it. Nice.
This is amazing like always. It bet it feels just good to be able to create something that you visualize with skills you inherited over the years aka programming/game designing in this case and this result :D I have one question btw, I can some depth of field and blurry corners, what settings did you tweak in post processing to achieve it and that level of Polish at the end?
Yup being able to create any game genre I can think of is a very awesome thing! For the depth of field, it's just making it a small non-blurred section so it kind of gives it a tilt shift sort of look. You can download the project files to inspect the exact settings.
New Subscriber here. I love the look of this game and I would love to be able to make a game like this but my brain doesn't work like that. Thanks for showing us this game.
I remember running into a similar problem to yours while trying to recreate baba is you's block push system, and I did it in a different manner to you, but this seems pretty smart :) (btw, it'd be cool if you recreated those sorts of systems so that it's scalable and cool, maybe for a series or something)
@@foamtoaster9742 I used a recursive function that checked if the object next to itself had a Push script attached, then ran the function on that. It checked every object in the line and then executed if it found nothing. I think mine is better for that situation and his is better for this one tho :)
Always when you upload a new video like this when you make a game I always try to make it by myself before watching the video and then watch your video and compare them and I always find things what you did in a much optimized and simpler way than me and I learnt a lot of things from you like this. Thanks for the awesome videos, they are really helpful. Sorry for grammar mistakes I'm hungarian and I'm just learning english. And now if I'm think about it, this is a nice way to learn english too because you are speak english.
Your English is great! Yup watching videos and writing comments is an excellent way to learn, for me I learned English pretty much by watching Cartoon Network and writing code!
12:50 🥺 You're breaking my heart 💔 I think this is an excellent series! It would be interesting to see "where are they now" for these games after your own videos.
When I started watching this I already had the impression "this guy really knows what he's doing", then you mentioned "...in my game Blueprint Tycoon" and I went "ah, now I know why, he already made a well done game, no wonder then" xD
I think some people would like to watch full uncut (even if not commented) project creation, like this factory game project. At least I would be interested :D
OH! Somehow until now I've been completely oblivious to the fact that Blueprint Tycoon is by you and I kept wondering why I occasionally get your vids recommended.
I'm so glad you made this video, I'm not really playing these type of games, but one meme started going around in a certain community and I want to join and making a meme factory game will be perfect. Why factory game? Because the meme is one gif that's evolving all the time, and someone made it so you can spam it on discord and it looks like a vertical conveyor belt, is it a stupid idea? Yes, but I can try this genre at least
This is a great video. I am playing a bit with the code and I can see that the safety break to 1000 iterations, limits the size of how big the belt system can get over time. I wonder if there is a better way to check for loops in the belts (which is not wrong in principle) without incurring in an actual infinite loop in the code. Do you have any suggestions on this matter?
i would like soo much to see a complete course, maybe on udemy, on a factory-like game like this, where to learn how to code complex conveyor belts systems!!
I'd love to do it but courses take a ton of time so not sure when. In the mean time you can download the project files and inspect the source code to see how everything works
its a Cool and Great game already :D i think you should post it :D, maby make another version with menu with settings etc and different maps maby that are generated random and it turns in to Great game i think :D
im trying to make a factory game too expect there is a player that you can control and you have to use the materials to build defenses to defend yourself from the enemies
for proper FIFO-traffic-jams, you split belts into [lines] (strings of belts/inserters, without merging/splitting branches). your runtime code only deals in lines, lists of the same moving items, these are belts (exclusive-)OR inserters of the same speed. Only your editor deals in elements of lines, that ultimately end up editing lines. A line ends where multiple things output to the same spot. A line ends, where 2 inserters grab from the same spot, OR where 1 inserter grabs from a belt. A line ends, when its string of linked belts/inserters loops back to itself. above 2 conditions may change with every placed/removed item. you may want to also artificially split lines geographically by world-chunks , so that every chunk of game world knows what likes it contains, and 1 line is fully contained in a chunk. this lets us modify and LOD lines faster. adding a bellt (or many items) may split a line in 2 lines. removing a belt may split a line in 2 lines. removing a bellt (or many items) may merge 2 lines into 1 line. (1 location changes, to only have 1 inoput, identical to its output) same for changing the speed of an item. each line starting point queues/priorizes items from its inputs. each line is a FIFO queue, simple to code. its output may be "full", which may push the voids to the inout of its queue, where they then may get filled. a "line is full" flag may also speed up code as a bounding condition.
this is cool, thanks for the write up. I was pondering how DSP did some of their processing. Apparently they do most of this in a compute shader which allows them to process whole planets of factories in real time. That seems doable. I stumbled when I imagined how they might accomplish sushi belts (belts with a mixed set of items). I was hoping the whole thing was compressible (IE I could process 10 ticks without processing 1 tick at a time) but the sushi belts pretty much squashed that thinking, I really couldn't come up with a solution that did not require every tick processing. But again if you're doing in a compute shader you have tons of computational room to do a huge amount of factories. This topic is so fascinating. If anyone has any online white papers on the subject or more discussion how to do this well I would love to see it.
while watching this video, i thought of a game idea like factorio in which there is infinite progression with procedurally generated ore types/names, and compact machines within compact machines. hopefully nobody beats me to making this game a reality.
Holy shit. In this video you really sound like those vacuum salesmen, that come to your house. And he seems he wants to really sell you that extra insurance and that vacuum key accessory aswell.
@@CodeMonkeyUnity To elaborate: I've watched a lot of your videos, but in this one in particular you seem to mention the courses and all that stuff more frequently than usual. Not that i dislike the courses, especially since i also own a package with Jason in it and I can also really recommend him. I hope you are not taking it offensively, really like your videos and learned a lot of stuff from you aswell (Unity DOTS for example). Just wanted to mention it, and keep up the good work :D
@@Rushhourz0 Yeah no problem I'm not taking any offense, just confused. The video does feature a standard 60s sponsor spot, so the difference is that most of my videos don't have a sponsor spot and this one does.
Hey, as always amazing work! Can you tell me how to place the gold nodes (resources) in editor? In my game i would like to have a hidden resources on grid wchich will be loaded into game. Thanks in advance.
I was wondering how to achieve a smoother movement of the items on the belt. At the moment looks like they get pushed from one belt item to another instead. Any suggestion?
Thanks a ton! Any chance of a 2D version of the prototype? I found it very helpful having the 2D classes on the grid building system. Been working through trying to convert so I can keep plugging away at it if necessary. Just verifying I'm not wasting my time :)
You can definitely do that, I don't think any part of the logic even touches the meshes so just swapping the underlying grid should work with a few tweaks.
Hey Code Monkey, I really appreciate your videos and currently even going through your udemy tutorials. At this point I have a question... For some environments a hex-based approach is slightly better, because of having the same distance from mid to mid of a hex in all six directions. Can you perhaps take a vid with creating a hex-based grid system?
That is something I'd like to cover but don't know when, I'm pretty sure you can reuse the same underlying Grid System and just do some tricky math to find how a world position relates to a Hexagonal grid position.
This is awesome! How would you be able to make buildings cost a specific amount on place? Like a conveyor belt costs 5 money, whereas an assembler will cost 10
@@CodeMonkeyUnity How would this happen? Like, how would I reference the cost in the Scriptable Object within the Resource Manager, and make it subtract the money before spawning?
And once you have computers being made... you're done? I think the next update to this game should be some way to use the things you're creating towards some kind of progress :)
You would think a game can't make a performant factory game in unity, but Dyson Sphere Program exists. Fortresscraft Evolved also exists, but that game isn't as performant late game. It could be though if it did some multithreading though
Hey Code Monkey! How are you doing? Are you planning to create some content explaining how to implement the conveyour belt system used on this video?! Thank you!
Hey there, i downloaded the Projectfiles and when i´m placing the conveyer belts it gets really really laggy after 20 or so. the more i place, the laggier it gets. i know this is common when there are a lot of items/tiles, but not after just 20 or so? is there a bug in the code?
Any chance we could get a macOS build of the Code Monkey app? I do all of my development work (incl. Unity) on a Mac. If it's a matter of needing help to port things, I can potentially do that. :)
Thank you so much for this tutorial. Its pretty cool. One question tho, I downloaded the project and the utils from your website. But I cant seem to find a license file. Is there a license for them (the code specifically) ?
Hey Code Monkey, do you have a video I can look at the explains how the buttons work in this game? I see in the project files that they are all using the pfBuildingButton prefab and the Button_UI script. What I don't understand is how the script knows which resource to pick. For example, when I click the conveyor belt button how does the button_UI script know that I want to build a conveyor belt instead of a grabber?
It's been a very long time since I made this so I don't remember exactly but I probably did it like I always do, there's a UI script which cycles through all the object types and creates a button for each. So the buttons are created dynamically when the game starts, not in the editor.
Saw your post that you were working on a factory game tutorial. I was waiting on a belt system with ecs or another solution of per node processing. Doesn't look like i'll find this here :/ If we look at Dyson Sphere program, the game's belt looks pretty optimized. I really wonder how they made it.
🌍 Get the Game Courses Bundle 3x1! game.courses/code-monkey-bundle/ (Includes Steam Keys for my games as a FREE bonus!)
💬 Factory Automation Game! I've been working on this for a month, did you join me on the Livestream? Make sure you don't miss whatever mini-game I work on next, hit the bell icon!
👍 You can play the game on the Steam App or Download the Project Files, hope you like it!
🌐 Have you found the videos Helpful and Valuable?
❤️ Get my Courses unitycodemonkey.com/courses or my Steam Games 🎮 unitycodemonkey.com/gamebundle
Make a another mini mobile ads game plz code monkey
This game reminds me of the old Dune game. it would have been interesting to add the hidden resources and use leaflets to find enemies to destroy them and you to defend them. My opinion is that you can use this idea to simulate a computer - it could be used in the learning process for schoolchildren and you could put it online. In the end, the work done and the number of hours depends a lot on what you have.
Do you have a tutorial of how to make this game from scratch? I would love to take it.
Also, in the background you show a top down game on Steam that looks really good. It’s the game in the background at 0:37. Do you have a tutorial of how to make that from scratch?
I would love to take both the factory tutorial and the tutorial of that game in Steam.
Thanks!
@@gfujigo
Most of the videos on the Grid system playlist are step by step tutorials which is what this game is based on ruclips.net/p/PLzDRvYVwl53uhO8yhqxcyjDImRjO9W722
That's the Wash your Hands game ruclips.net/video/q9pe-wH7eZ8/видео.html
There's no game that i want to play,
it basic on factoric but the game purpose isn't my thought
because it not enough like a chip layout generation program,
that can held out put lot of different size of retangle in to a one small square with high density,
that can make a little change and regenrate,
that to let player like the chip designer, more density and look awesome
and give a written line to add some parts more without redo move parts all times hand by hand
The amount of tutorials you have should be kept in a backup website in case youtube ever goes down. Thank you for everything you have taught.
Thanks! I'm glad the videos are helpful!
True, super helpful stuff. I'm sure he's got them stored locally too, so it won't lost forever. (I made that mistake with some stuff published to a website, they had exclusive rights for publishing, so I didn't have it hosted on my own site, and it was only stored through their editor. RIP).
Next video:
*"I Made a GTA VI clone in 1 WEEK!"*
This channel always surprises me in a good way lol
That would be quite the challenge!
hmmmmmm
That would be gta 6
I = 1
II = 2
III = 3
IV = 4
V = 5
VI = 6
VII = 7
VIII = 8
IX = 9
X =10
@@sparecreeper1580 yeah we know, thats the point
@@starbruhz the comment says gta 6 clone
Dude, this was super cool!! Well done man!
And yeah, this background music is a nice change, sound very good! Keep it!!
Looks great, Pleasing interface! Just watching the gameplay feels so good!🔥 Hope you expand this to a big game!
This is way too impressive for those few hours of work. Just amazing.
And I love the tilt shift effect. Makes the look really great.
When in doubt, add depth of field! Always looks great!
Me: Struggling for hours to instantiate an object and populate one of it's variables
Code Monkey: So I'll just make a 3D Factorio template in a couple of days...
It's the power of experience and writing clean code!
@@CodeMonkeyUnity and constant practise. I'm finding myself saying "I knew how to do this 4 years ago" pretty often after taking a bit of a break from gamedev. Luckily your videos are here to my rescue.
The way you explain how you made your game can basically amount for everything I've learned in unity for 2 years. Including stuff I haven't learned yet.
Your videos are invaluable. I have learnt so much. I highly recommend your courses whenever someone asks me where to start
I'm glad to hear that! Best of luck with your learning journey!
Thanks man , for this Amazing video!! Keep Rocking
Really inspiring video. I'm amazed at how fast you put this together!
That's awesome 😍. I couldn't be around in game dev for a while but it's absolutely insane to be back 🔥
You are the most bad-ass Dev you always surprise us what you can do! Such a well done game + edited video ;)
Thanks!
Cool video! I'm getting into unity and I think that making a game like this (at some point) seems like a fun challenge.
thank you for this video and project files will spend some time learning from that :)
16 hours? Genius! The game already looks interesting... Thanks dude! Really cool content!
It's the power of experience + reusing code!
You are awsome! Thanx for sharing your experiences with us! :)
Survivor Squad, Game Corp DX, Blueprint Tycoon, Ninja Tycoon, and Battle Royale Tycoon.
I bought these 5 of your games before going to University for Computer Science. Now that I'm finishing my degree and making my foray into Game Development, you've been the most helpful person on the planet.
Thank you, for your great games, and your incredible teaching!
Oh nice! I hope you enjoyed the games! Thanks!
You explain everything you do amazingly! I’m trying to make a third person person pvp game in bolt and your Udemy course is an absolute godsend.
Thanks! Best of luck on your learning journey!
You are an absolute beast of a game developer Code Monkey, good job!
It's a great overview of how Factorio might be working, or maybe how to do something like that in a different genre (RPG game with some small homebase), but I still want to point out that the WHOLE selling point of Factorio is its scale.
Great work ! Thank you Code Monkey !
Wow this is fantastic! I have recently discovered ypur channel and i even have tried making my own game, but it is much harder than i have expected. I know C# quite well but even with that i feel lack in some areas. What are some good videos of yours to start understanding how to write code for unity and how to solve common problems? Thank you for your work, you are a true legend!
For the absolute basics you can start here ruclips.net/video/E6A4WvsDeLE/видео.html
Then a refresher on C# basics here ruclips.net/video/IFayQioG71A/видео.html
After that just browse for a simple video that interests you and try to follow that, maybe the video on Flappy Bird which takes the game from start to finish.
Best of luck!
I've been making a factory game like this and making devlogs. I'm pretty sure I'm well over 20 hours by now...
It's super inspiring watching you work though :)
It's looking great, I really like the visual style, best of luck on your journey!
@@CodeMonkeyUnity Thanks!
me: nice, managed to make a prototype of the game I'm making in 1 week
code monkey:
Don't get discouraged, everyone walks their own path, just keep on being better than you were a month ago!
What a CHAD
@@CodeMonkeyUnity I absolutely won't!! Watching your videos pushes me forward and thanks to people like you, today I know a lot more than I did a month ago.
Cool dude, what kind of game did you make?
I just cannot wait to play it. Seems really interesting as I like thise type of games
Compared to other gamedev RUclips channels, you focus more on teaching the viewer rather than comedy, great job!
Wait, Blueprint Tycoon was one of yours? It's been a while since I've got and played it, long before I got to know your RUclips channel, but I remember having a lot of fun playing it. Nice.
That's awesome to hear! Thanks!
Every time I watch your video's I get so much motivation for my own projects!
That's great to hear! Keep at it!
Great job man! 20 hours isn't enough for me to solve my pathfinding errors 😂
you keep me motivated to develop games 🔥
Awesome work, Hugo!
Thanks!
great video, i am starting to like this game
Next Video :
"I Made a Car Simulator Mobile Game in 2 Days!"
This channel always surprises me in a good way lol
This is amazing like always. It bet it feels just good to be able to create something that you visualize with skills you inherited over the years aka programming/game designing in this case and this result :D
I have one question btw, I can some depth of field and blurry corners, what settings did you tweak in post processing to achieve it and that level of Polish at the end?
Yup being able to create any game genre I can think of is a very awesome thing!
For the depth of field, it's just making it a small non-blurred section so it kind of gives it a tilt shift sort of look.
You can download the project files to inspect the exact settings.
New Subscriber here. I love the look of this game and I would love to be able to make a game like this but my brain doesn't work like that. Thanks for showing us this game.
I remember running into a similar problem to yours while trying to recreate baba is you's block push system, and I did it in a different manner to you, but this seems pretty smart :) (btw, it'd be cool if you recreated those sorts of systems so that it's scalable and cool, maybe for a series or something)
how did you do it ?
@@foamtoaster9742 I used a recursive function that checked if the object next to itself had a Push script attached, then ran the function on that. It checked every object in the line and then executed if it found nothing. I think mine is better for that situation and his is better for this one tho :)
Always when you upload a new video like this when you make a game I always try to make it by myself before watching the video and then watch your video and compare them and I always find things what you did in a much optimized and simpler way than me and I learnt a lot of things from you like this. Thanks for the awesome videos, they are really helpful.
Sorry for grammar mistakes I'm hungarian and I'm just learning english. And now if I'm think about it, this is a nice way to learn english too because you are speak english.
Your English is great! Yup watching videos and writing comments is an excellent way to learn, for me I learned English pretty much by watching Cartoon Network and writing code!
Wow really?
I learnt a lot when I learnt coding(this is like a year) because the whole website(w3schools.com) is engish
Looks awesome
12:50 🥺 You're breaking my heart 💔
I think this is an excellent series! It would be interesting to see "where are they now" for these games after your own videos.
This is so inspiring guess im picking up one of my old projects
dude this is nuts! It looks great!
Thanks!
You are talented individual. I am really glad that I found your and your channel. How to meet you in person some day.
When I started watching this I already had the impression "this guy really knows what he's doing", then you mentioned "...in my game Blueprint Tycoon" and I went "ah, now I know why, he already made a well done game, no wonder then" xD
Yup already got quite a bit of experience although this was my first Factory game, it came out great!
Code monkey in 16 hours: I made a Factory Game
Me in 4 hours: ah, that's how finally a cube moves
Experience is a very powerful thing!
took me 3 months to get a cube moving.
uwu
DOTS project: fluid particles on conveyor belts. Otherwise known as plumbing simulator. :D
I think some people would like to watch full uncut (even if not commented) project creation, like this factory game project. At least I would be interested :D
That would be interesting, perhaps when I make a second channel I'll experiment with videos like that.
OH! Somehow until now I've been completely oblivious to the fact that Blueprint Tycoon is by you and I kept wondering why I occasionally get your vids recommended.
I hope you enjoyed it!
It would be very cool to expand this by making the belt system with DOTS!
I've been considering trying something like this for a while now with the main obstacle I've noticed being that I have no idea how to make conveyors.
Can't wait for a course on this, sped up x1000.
I'm so glad you made this video, I'm not really playing these type of games, but one meme started going around in a certain community and I want to join and making a meme factory game will be perfect. Why factory game? Because the meme is one gif that's evolving all the time, and someone made it so you can spam it on discord and it looks like a vertical conveyor belt, is it a stupid idea? Yes, but I can try this genre at least
i was wondering when you post anything about this after your live stream of it.
would you consider selling a course specifically on this type of game? that would be awesome
This is a great video. I am playing a bit with the code and I can see that the safety break to 1000 iterations, limits the size of how big the belt system can get over time.
I wonder if there is a better way to check for loops in the belts (which is not wrong in principle) without incurring in an actual infinite loop in the code.
Do you have any suggestions on this matter?
i would like soo much to see a complete course, maybe on udemy, on a factory-like game like this, where to learn how to code complex conveyor belts systems!!
I'd love to do it but courses take a ton of time so not sure when.
In the mean time you can download the project files and inspect the source code to see how everything works
Respect!
this feels like playing a minecraft tech modpack
Don't know if anyone asked this but wouldn't implementing a search tree system help with the belts?
Sweet, I'm impressed. I would love to be able to do stuff like this, however lacking imagination is really crappy. :D
I am a really creative person but I cannot make a 3d cube by myself
20 hours? You are a wizard, nice job.
you - sir - are - awesome!
I want to be a professional game programmer for a big game so these videos are a blessing.
Keep at it! It's all about experience!
its a Cool and Great game already :D i think you should post it :D, maby make another version with menu with settings etc and different maps maby that are generated random and it turns in to Great game i think :D
im trying to make a factory game too expect there is a player that you can control and you have to use the materials to build defenses to defend yourself from the enemies
that's fantastic
Great Prototype
you are my best teacher
hi, i love your job. I have a question: is it possible to adapt the grid system to a terrain with relief?
for proper FIFO-traffic-jams, you split belts into [lines] (strings of belts/inserters, without merging/splitting branches).
your runtime code only deals in lines, lists of the same moving items, these are belts (exclusive-)OR inserters of the same speed.
Only your editor deals in elements of lines, that ultimately end up editing lines.
A line ends where multiple things output to the same spot.
A line ends, where 2 inserters grab from the same spot, OR where 1 inserter grabs from a belt.
A line ends, when its string of linked belts/inserters loops back to itself.
above 2 conditions may change with every placed/removed item.
you may want to also artificially split lines geographically by world-chunks
, so that every chunk of game world knows what likes it contains, and 1 line is fully contained in a chunk. this lets us modify and LOD lines faster.
adding a bellt (or many items) may split a line in 2 lines.
removing a belt may split a line in 2 lines.
removing a bellt (or many items) may merge 2 lines into 1 line. (1 location changes, to only have 1 inoput, identical to its output)
same for changing the speed of an item.
each line starting point queues/priorizes items from its inputs.
each line is a FIFO queue, simple to code. its output may be "full", which may push the voids to the inout of its queue, where they then may get filled.
a "line is full" flag may also speed up code as a bounding condition.
Yup if I were to expand upon this then that is definitely the approach to take, it would improve performance massively.
this is cool, thanks for the write up. I was pondering how DSP did some of their processing. Apparently they do most of this in a compute shader which allows them to process whole planets of factories in real time. That seems doable. I stumbled when I imagined how they might accomplish sushi belts (belts with a mixed set of items). I was hoping the whole thing was compressible (IE I could process 10 ticks without processing 1 tick at a time) but the sushi belts pretty much squashed that thinking, I really couldn't come up with a solution that did not require every tick processing. But again if you're doing in a compute shader you have tons of computational room to do a huge amount of factories. This topic is so fascinating. If anyone has any online white papers on the subject or more discussion how to do this well I would love to see it.
while watching this video, i thought of a game idea like factorio in which there is infinite progression with procedurally generated ore types/names, and compact machines within compact machines. hopefully nobody beats me to making this game a reality.
Yk what i imagine a good factory game to look like too? Having to do multiple jobs like maintenance, packaging and other stuff
Holy shit. In this video you really sound like those vacuum salesmen, that come to your house. And he seems he wants to really sell you that extra insurance and that vacuum key accessory aswell.
What?
@@CodeMonkeyUnity To elaborate: I've watched a lot of your videos, but in this one in particular you seem to mention the courses and all that stuff more frequently than usual. Not that i dislike the courses, especially since i also own a package with Jason in it and I can also really recommend him. I hope you are not taking it offensively, really like your videos and learned a lot of stuff from you aswell (Unity DOTS for example). Just wanted to mention it, and keep up the good work :D
@@Rushhourz0 Yeah no problem I'm not taking any offense, just confused. The video does feature a standard 60s sponsor spot, so the difference is that most of my videos don't have a sponsor spot and this one does.
Hey, as always amazing work! Can you tell me how to place the gold nodes (resources) in editor? In my game i would like to have a hidden resources on grid wchich will be loaded into game. Thanks in advance.
I was wondering how to achieve a smoother movement of the items on the belt. At the moment looks like they get pushed from one belt item to another instead.
Any suggestion?
I might try, kinda getting into game developing
Go for it!
4:12 sounds like Yoshi lmao xD
Thanks a ton! Any chance of a 2D version of the prototype? I found it very helpful having the 2D classes on the grid building system. Been working through trying to convert so I can keep plugging away at it if necessary. Just verifying I'm not wasting my time :)
You can definitely do that, I don't think any part of the logic even touches the meshes so just swapping the underlying grid should work with a few tweaks.
Hey Code Monkey,
I really appreciate your videos and currently even going through your udemy tutorials. At this point I have a question... For some environments a hex-based approach is slightly better, because of having the same distance from mid to mid of a hex in all six directions. Can you perhaps take a vid with creating a hex-based grid system?
That is something I'd like to cover but don't know when, I'm pretty sure you can reuse the same underlying Grid System and just do some tricky math to find how a world position relates to a Hexagonal grid position.
@@CodeMonkeyUnity Allright, thanks. I will wrap my head around this. ;-)
This is awesome! How would you be able to make buildings cost a specific amount on place? Like a conveyor belt costs 5 money, whereas an assembler will cost 10
It's pretty simple to add an extra field to the Scriptable Object and implement a basic ResourceManager script
@@CodeMonkeyUnity How would this happen? Like, how would I reference the cost in the Scriptable Object within the Resource Manager, and make it subtract the money before spawning?
nice!
This reminds me Dyson sphere program, satisfactory, factorio and automation empire 😂
Hi and Factories are very cool
Very cool! Love seeing conveyor belts moving around!
And once you have computers being made... you're done? I think the next update to this game should be some way to use the things you're creating towards some kind of progress :)
Make a tutorial for mining chopping and smelting materials
do you have a video explaining how to put this blue grid? is it a shader? a visual grid(using your generic grid)?
That's using the Tilemap made in this video ruclips.net/video/gD5EQyt7VPk/видео.html
Lol this is so cool!
You would think a game can't make a performant factory game in unity, but Dyson Sphere Program exists. Fortresscraft Evolved also exists, but that game isn't as performant late game. It could be though if it did some multithreading though
Hey Code Monkey! How are you doing?
Are you planning to create some content explaining how to implement the conveyour belt system used on this video?!
Thank you!
Probably not unless I expand upon this when I get back into DOTS
But you can download the project files and see all the source code
@@CodeMonkeyUnity
Hey there, i downloaded the Projectfiles and when i´m placing the conveyer belts it gets really really laggy after 20 or so. the more i place, the laggier it gets. i know this is common when there are a lot of items/tiles, but not after just 20 or so? is there a bug in the code?
Unity's DOTS is a solution looking for a problem, but this type of game is one of those few problems that DOTS would be useful for.
Haha from the thumbnail it looked like you ment you made one single factory in 20 hours lol
Mindustry 3D!!
Just add terrain, turrets and enemies
Any chance we could get a macOS build of the Code Monkey app? I do all of my development work (incl. Unity) on a Mac. If it's a matter of needing help to port things, I can potentially do that. :)
I love it, what about graphics
Yoraiz0r. This man is casually supported by the lead sprite artist on Terraria. *What.*
Thank you so much for this tutorial. Its pretty cool. One question tho, I downloaded the project and the utils from your website. But I cant seem to find a license file. Is there a license for them (the code specifically) ?
Just going to bump this here, I dont know if you saw this comment :P Sorry for bothering you Code Monkey, I just want to be sure how to credit you.
Hey Code Monkey, do you have a video I can look at the explains how the buttons work in this game? I see in the project files that they are all using the pfBuildingButton prefab and the Button_UI script. What I don't understand is how the script knows which resource to pick. For example, when I click the conveyor belt button how does the button_UI script know that I want to build a conveyor belt instead of a grabber?
It's been a very long time since I made this so I don't remember exactly but I probably did it like I always do, there's a UI script which cycles through all the object types and creates a button for each. So the buttons are created dynamically when the game starts, not in the editor.
Saw your post that you were working on a factory game tutorial.
I was waiting on a belt system with ecs or another solution of per node processing.
Doesn't look like i'll find this here :/
If we look at Dyson Sphere program, the game's belt looks pretty optimized.
I really wonder how they made it.
When I finally find the time to get back into DOTS I will definitely be experimenting with that, I will see how far DOTS can be pushed.
keeping those algorithms happy...