The Unity DOTS MegaCity Is Finally Here... 4 Years Later!

  Рет қаралды 14,068

Gamefromscratch

Gamefromscratch

Жыл бұрын

First demonstrated in 2019 with the reveal of DOTS (ECS, Burst and Jobs), Unity have just released the MegaCity Multiplayer project as a 64+ player sample on how to use ECS, Jobs System, UGS (Game Services), Netcode for Entities and more. The source code and assets are all hosted on GitHub and require Unity 2022 LTS release or newer.
#unity3d #dots #gamedev
Links
gamefromscratch.com/unity-meg...
-----------------------------------------------------------------------------------------------------------
Support : / gamefromscratch
GameDev News : gamefromscratch.com
GameDev Tutorials : devga.me
Discord : / discord
Twitter : / gamefromscratch
-----------------------------------------------------------------------------------------------------------

Пікірлер: 88
@gamefromscratch
@gamefromscratch Жыл бұрын
Links gamefromscratch.com/unity-megacity-multiplayer-sample/ ----------------------------------------------------------------------------------------------------------- *Support* : www.patreon.com/gamefromscratch *GameDev News* : gamefromscratch.com *GameDev Tutorials* : devga.me *Discord* : discord.com/invite/R7tUVbD *Twitter* : twitter.com/gamefromscratch -----------------------------------------------------------------------------------------------------------
@rohitaug
@rohitaug Жыл бұрын
The project is lagging because DOTS is optimized for the IL2CPP backend using the Burst compiler, which is not supported in the Mono backend (the one the editor uses). Also I'm guessing there's less flying objects because it's multiplayer now, you're supposed to play with other people. Also the stats show that there are around 6 million entities being updated by 7000 systems in realtime, which seems pretty impressive considering it's CPU only.
@saul8510
@saul8510 Жыл бұрын
yea, that very good, the problem is that the scene is. completely static
@user-ir8on2ho4v
@user-ir8on2ho4v Жыл бұрын
Burst is fully supported with mono it creates lib_burst_generated.dll And its even working in Editor if you checked in Burst options
@gamingshowerthoughts9723
@gamingshowerthoughts9723 Жыл бұрын
DOTS is awesome. I have been following the "One Game A Week" philosophy to learn it since about 2 months ago and it feels so rewarding as I begin to push past the frustration of learning all the weird syntax and boilerplate code.
@MineBill_
@MineBill_ Жыл бұрын
The links are wrong, they are pointing to the godot beta release.
@J1mW357
@J1mW357 Жыл бұрын
Thats how relevant Unity is these days 😂
@gamefromscratch
@gamefromscratch Жыл бұрын
Thanks, the pain of copy and paste formatting, fixed now. ;)
@TravisBerthelot
@TravisBerthelot Жыл бұрын
Subliminal messaging.
@gostan2718
@gostan2718 Жыл бұрын
LOL I thought you were joking
@felixjonsson4471
@felixjonsson4471 Жыл бұрын
”Wrong”😅
@CyberWolf755
@CyberWolf755 Жыл бұрын
This would have been really cool.... if it was Gigaya demo, not mega city. The original looks better, specifically with the AI cars, the lighting and post-processing. Either way, I don't want to entertain working with Unity anymore, I just don't like the engine. I'll be working on Unreal on bigger projects or an open source engine or framework for smaller projects. The main positive for Unity is that C# is nice to work with and the base Unity API is well documented and named in a straightforward manner, other than that, there are better options and tools elsewhere.
@MuhammadHosny0
@MuhammadHosny0 Жыл бұрын
I honestly think GameObject Unity is just fine.
Жыл бұрын
I was thinking the same about c# before, but in all honesty, c++ in unreal is so heavily modified, that it's not a big deal to use it.
@logan4179
@logan4179 Жыл бұрын
I totally agree with this. When I started looking at DOTS/ECS (like a decade ago I guess), I remember feeling like it completely contradicted the point of using Unity instead of Unreal. I remember thinking that I'd rather use Unreal (even c++) than use an entirely different programming paradigm. Hopefully OOP concepts will still be supported in Unity and DOTS won't take away from the oop api and badly needed tools that they could work on, but considering Unity's track record of spreading itself thin ever since 2017, I fear that this is exactly what they'll do.
@WaraiOtoko
@WaraiOtoko Жыл бұрын
Where are all the flying cars? Wasn't that the point of the ECS. lots of (dynamic) entities. Not static geometry?
@gamefromscratch
@gamefromscratch Жыл бұрын
Well its a multiplayer combat sample now, and only 1 was playing it. There in theory should be up to 63 other cars flying around doing combat, but I couldn't exactly demonstrate that.
@WaraiOtoko
@WaraiOtoko Жыл бұрын
@@gamefromscratch thanks for replying, but not the point I tried to make. Entity components systems work with entities, where are they? (Player enities not withstanding)
@fkeyzuwu
@fkeyzuwu Жыл бұрын
​@@WaraiOtoko yeah, im wondering the same lol
@trentbillington1093
@trentbillington1093 Жыл бұрын
All the static geometry enetities could have been baked into a few meshes/gameobjects. I assumed the whole point of the megacity dots example was tons of dynamic entities. Even with 64 player vehicles it would still be missing the point.
@jefflynch
@jefflynch Жыл бұрын
​@@WaraiOtoko I think you may have misconception of the term entity. An entity is (almost quite literally) just an id number. You're never going to see them. Entities are just id numbers that allow you to associate data with them so that the data can be distinguished from the data associated with other entities. Some entities have visual data components associated with them which can be displayed using systems, while others don't. The point of ECS isn't necessarily dynamism; it's a way to manage large amounts of data efficiently allowing a game to handle a lot more data than otherwise possible. For example, the scene you're seeing is composed of many sub-scenes, which themselves are entities that are streamed in and out (i.e. dynamically loaded and unloaded). So the "static" geometry is handled in a dynamic way. There's a lot more going on in this project than meets the eye. I haven't downloaded the project yet myself, but if you look in the project in the authoring folder, that's where you'll find the code for creating entities for various things and associating them with their data. There is also some code that suggests that "bots" can be added, but don't underestimate the dynamism entailed by the multiplayer aspect of the project. I'm sure Unity will give us a clearer picture on the features it wants to showcase when it officially presents the project.
@sharif47
@sharif47 Жыл бұрын
Wasn't it advertised to be so performant that it could run on a mobile from 2019? Why is it struggling on a PC now?
@otDan
@otDan Жыл бұрын
I'm guessing that a good chunk of the performance is also missing since it's running in the editor
@michaelzomsuv3631
@michaelzomsuv3631 Жыл бұрын
It's because they upgraded it to the HDRP pipeline, which only runs on high end PCs. Switch it to URP pipeline for lightweight graphics that runs on mobile.
@MuhammadHosny0
@MuhammadHosny0 Жыл бұрын
@@michaelzomsuv3631 it's running on a 3070 TI mobile in this video as GFS said in a comment below. so I'm expecting it to do a lot better on a high end PC with LWRP
@korystanley567
@korystanley567 Жыл бұрын
Great video I wonder if it would be easy to add splitscreen?
@leeoiou7295
@leeoiou7295 Жыл бұрын
Jeez! it looks much better without the post processing, what were they thinking?
@miatribe
@miatribe Жыл бұрын
Really no idea why games default motion blue on... it's the 1st thing I turn of when playing a new game.
@miatribe
@miatribe Жыл бұрын
Tried it myself and I am getting 70 -120 fps in editor. Let it build for like 15mins but the build was corrupted and would not run correctly, so I cannot see how much better it would be not in editor. It's only going to improve!
@miatribe
@miatribe Жыл бұрын
Okay, got the build version working (you also need to build the server and have it running). And was getting caped 144 frames at 1440p on all high. Turned of vsync to uncap and was getting 120-350 frames. kzfaq.info/get/bejne/Y5Z7ZaugtNqUf30.html is a short demonstration.
@DirkTeucher
@DirkTeucher Жыл бұрын
Shows "march 2019 dots demo" ... "Benjamin button gif aging" - me .... man time flies
@potter3416
@potter3416 Жыл бұрын
I am not impressed but that is running in the editor. I will test the demo when I get home. edit: I just watch other youtubers video who runs his own megacity demo with rtx4090 24GB, performance wasnt impressive.
@yoyomario
@yoyomario 8 ай бұрын
How many polygons is it rendering per frame on average? We see count of entities but not polygons/tries count?
@_gamma.
@_gamma. Жыл бұрын
That poor git repo 💀 impressive tech, though! Even if the demo ends up chugging I’ve seen DOTS used interestingly
@fkeyzuwu
@fkeyzuwu Жыл бұрын
where are the 6 milion entities? i see litterally nothing moving, what is the point of having anything as seperate entities when this consists of just buildings lmao. even with 64 players, where are the entities coming from?
@LuukDomhof
@LuukDomhof Жыл бұрын
Every single object you see is an entity. In fact, parts of the map are streamed in and out as entities themselves.
@fkeyzuwu
@fkeyzuwu Жыл бұрын
@@LuukDomhof whats the point of making them entities instead of static meshes?
@shubhamkunkerkar5787
@shubhamkunkerkar5787 Жыл бұрын
​@@fkeyzuwu dude this ain't unreal engine, in unity u have static entities!
@LuukDomhof
@LuukDomhof Жыл бұрын
@@fkeyzuwu The fact that they are entities doesn't mean they can't be static meshes. The fact that they're entities simply means that their logic is determined by a system. The entities rendering system can be a great performance boost over rendering individual GameObjects. "Static meshes" could simply be an entity with a MeshRenderer component
@yokunjon
@yokunjon 9 ай бұрын
@@fkeyzuwu The point is that you can render 6 million entities with 60 fps on a mobile last gen gpu; doesn't really matter if they move or not, this is just a stress test that shows the extreme.
@adddg3
@adddg3 Жыл бұрын
Tried it, The editor is not stable at all, lots of random crashes, the HDRP is comsuming too much VRAM without the scenes being very complex, I encountered less problems using dots on 2021.x not sure for the rest, But It's a hot mess, I really like Unity as an Engine but I don't get why on each release they make it even more worse that it used to be.
@askeladden450
@askeladden450 Жыл бұрын
Unity is a publicly traded company now with greedy executives. Its only gonna go downhill. Better to jump off the ship as soon as possible. I have used it for a decade but now only use it for vr. Hopefully we can have good vr support in godot in the future.
@xuraith
@xuraith Жыл бұрын
I don't believe I've ever met anyone that likes motion blur, it's usually the first thing I turn off
@nowherebrain
@nowherebrain Жыл бұрын
I think it looks worse and seems to be smaller and have less objects....is it just me???
Жыл бұрын
It is, it used to have a lot of AI cars flying all over the place. And it seems the volumetric lights are gone as well. The overall size seems smaller too, but I might be wrong. And before the min requirements were also way lower.
@nowherebrain
@nowherebrain Жыл бұрын
@ good, I'm not being crazy..they moved the goal post.
@paxon57
@paxon57 Жыл бұрын
It's been converted to a multiplayer mobile shooter game
@nowherebrain
@nowherebrain Жыл бұрын
@@paxon57 barely...they applied the least amount of effort to multiplayer...I assume less than 30 lines of code....
@shubhamkunkerkar5787
@shubhamkunkerkar5787 Жыл бұрын
@ The original one is also updated to the 2022lts, this one is for showcasing dots multiplayer netcode
@camy_dev
@camy_dev Жыл бұрын
I have been using jobs, burst, and a few entities in my games they work well.
@jarwarren
@jarwarren Жыл бұрын
Still can't believe they let Mike Acton go during the layoffs. You have to wonder about the future of DOTS. Is it dead (maintenance mode) on arrival? Does it gradually become less and less useable or will they actually be investing in this?
@yahootube90
@yahootube90 Жыл бұрын
I'm also quite interested in hearing how relevant this will even be anymore. I switched to Unreal and gave up on Unity a long time ago, but I remember when all of this was newly announced.
@LookitVideos
@LookitVideos Жыл бұрын
Feature's done, they don't need him anymore. It's a very John Riccitiello thing to do.
@starvr
@starvr Жыл бұрын
@Gamesfromscatch You said it was big? It's only 92Mb, did I download the wrong thing?
@gamefromscratch
@gamefromscratch Жыл бұрын
Yes, or you don’t have LFS support installed in git
@starvr
@starvr Жыл бұрын
@@gamefromscratch Sorry, you lost me, I only downloaded the zip.
@MuhammadHosny0
@MuhammadHosny0 Жыл бұрын
@@starvr you need to use GIT because some of the files are not gonna be downloaded with the zip.
@starvr
@starvr Жыл бұрын
@@MuhammadHosny0 OK Thanks, I'll do that.
@SimulationStarterKit
@SimulationStarterKit Жыл бұрын
Nice. I remember your original video and was inspired by the demo so I ended up working on my own Procedural Mega City project (built from scratch in C++) which is only 6mb in size. Demo of it is here: kzfaq.info/get/bejne/paumpJtl1M3Ylqs.html . It's not as fancy graphically being a hand made engine and is still very much a work in progress.
@doctorspook4414
@doctorspook4414 Жыл бұрын
Judge Dredd called and wants his grimey MegaCity back!!
@snesmocha
@snesmocha Жыл бұрын
... comparing the original demo sent compared to this new demo... yea im not impressed tbh. after getting my hands dirty with creating my own ecs system and making my own engine, and considering the graphical downgrade from what we saw from the original mega city demo to this. yea i don't expect ecs to be that popular besides making plugins and stuff
@zpacula
@zpacula Жыл бұрын
Post-processing in Unity seems to be seriously problematic. Even anti-aliasing seems to add blur.
@michaelzomsuv3631
@michaelzomsuv3631 Жыл бұрын
Huuu? That's just because it defaults to TAA with bad settings to start with. Adjust the settings to reduce the blur or remove TAA entirely if you can't stand any blur.
@arunachalpradesh399
@arunachalpradesh399 Жыл бұрын
hi what gpu you have
@gamefromscratch
@gamefromscratch Жыл бұрын
3070ti mobile. Not in turbo mode here so do not look at this as any kind of benchmark
@kenreed1467
@kenreed1467 Жыл бұрын
Too bad DOTS can only do persistence on a single map for multiplayer. They have said that they hope to have a solution to this in the future.
@tomtomkowski7653
@tomtomkowski7653 Жыл бұрын
The problem is that it is 4 years too late. 40-ish FPS with such a huge scene would be impressive before the UnrealEngine Nanite system. But of course DOTS system has many more possibilities like massive amounts of objects in RTS games etc.
Жыл бұрын
I'm not even sure it's the problem, cause they said it would run also on an Android phone... A rtx 3070 computer, video capture or not is much better than any android phone from 2019
@tomtomkowski7653
@tomtomkowski7653 Жыл бұрын
@ Have you seen the resolution at 3:35 - 1366x768 I have no idea what is going on here but something is wrong.
Жыл бұрын
@@tomtomkowski7653 idk, I find that just concerning that it used to run on early 2019 mobile phones, (you can see demos and papers of it on unity website) ... And 4 years later it lag on a 3070. I don't have the courage to run it myself and investigate what's wrong with it.
@x3n689
@x3n689 Жыл бұрын
Reading people's comments and them making stupid reasons for themselves to hate on unity is just hilarious 😂
@odo432
@odo432 Жыл бұрын
I'll admit, I'm a little confused with this whole Mega City thing. Everything I'm seeing is easily achievable using standard Unity. Simply create a world using static objects and lots of LODs. I can see that it's using millions of entities but it seems rather pointless in this example. I'd be more impressed with seeing it in something a bit more practicable such as that short RTS demo they did several years ago showcasing tens of thousands of soldiers going into battle.
@Nikkuuu69
@Nikkuuu69 Жыл бұрын
I agree with you. Even though the buildings consist of thousands of objects, to me it just looks like one asset. It would be interesting to see perhaps a large-scale space combat game with thousands of ships flying and shooting instead (or something else)
@marcoseliasmep
@marcoseliasmep Жыл бұрын
I hope they invest in something similar to Nanite someday. That would benefit way more games than DOTS. Not all genres need thousands enemies on the screen.
@saul8510
@saul8510 Жыл бұрын
not at all, nanite main benefits are the high poly assets.
@marcoseliasmep
@marcoseliasmep Жыл бұрын
@@saul8510 it reduces the cost of making games by expressive magnitudes! It’s way easier making high poly models + texturing them with great tiled materials instead of making beautiful low poly models with atlas materials. Nanite brings more freedom and power to small studios and low budget games, by completely removing the model optimization process and allowing greater levels of details without having to deal with LOD. I make buses and trucks for my simulator. I can very easily create a high poly version of most models in less then one week. But a low poly, optimized model, that looks still great… Requires several weeks.
@SG-js2qn
@SG-js2qn Жыл бұрын
It kind of looks like Unity didn't want to release DOTS until they turned it into crap. 🤣
@PurpleKnightmare
@PurpleKnightmare Жыл бұрын
I hate motion blur, I turn it off on all games I play. I don't know why they think anyone wants that.
@pewpew518
@pewpew518 Жыл бұрын
Idk man this looks like a flop to me. There a bunch of static models that something like natite is better suited to handle especially considering nvidea is working on hardware accelerating nanite like tech on their gpus. Unity never fails to disappoint.
@anmolmohanty4806
@anmolmohanty4806 Жыл бұрын
You don't understand the application of this type of approach then my friend.
@shubhamkunkerkar5787
@shubhamkunkerkar5787 Жыл бұрын
Unlike nanite this can be optimised to run on mobile devices too
@leeoiou7295
@leeoiou7295 Жыл бұрын
Smh. project looks way less impressive with some janky "game play". Unity should better hire a proper game dev team to help them showcase their new tools since they have sworn that they will never make a game themselves.
@renatol6014
@renatol6014 Жыл бұрын
they did, but ended up firing them all a while back
@enitalp
@enitalp 9 ай бұрын
Dots is crap in bar
@skooter500
@skooter500 Жыл бұрын
4 years of work for this crap?? Ditch Unity and switch to Godot
@lukastomasek8038
@lukastomasek8038 Жыл бұрын
First
Why Stairs Suck in Games... and why they don't have to
11:24
Nick Maltbie
Рет қаралды 1,5 МЛН
20 Advanced Coding Tips For Big Unity Projects
22:23
Tesseract
Рет қаралды 168 М.
Sigma Kid Hair #funny #sigma #comedy
00:33
CRAZY GREAPA
Рет қаралды 33 МЛН
Пранк пошел не по плану…🥲
00:59
Саша Квашеная
Рет қаралды 5 МЛН
Iron Chin ✅ Isaih made this look too easy
00:13
Power Slap
Рет қаралды 34 МЛН
We Need to Rethink Exercise - The Workout Paradox
12:00
Kurzgesagt – In a Nutshell
Рет қаралды 4,7 МЛН
The perfect imperfection of Google's Material You
15:47
David Imel
Рет қаралды 418 М.
Switching Game Engines... Twice? - Devlog #7
10:55
TIMBER
Рет қаралды 81 М.
Unity Change Licensing Terms
8:13
Gamefromscratch
Рет қаралды 70 М.
Should You Use DOTS in 2024? (plus what is Unity ECS)
30:15
Turbo Makes Games
Рет қаралды 38 М.
Adobe is horrible. So I tried the alternative
25:30
Bog
Рет қаралды 755 М.
choosing a game engine is easy, actually
15:08
samyam
Рет қаралды 362 М.
Telefonu Parçaladım!😱
0:16
Safak Novruz
Рет қаралды 23 МЛН
$1 vs $100,000 Slow Motion Camera!
0:44
Hafu Go
Рет қаралды 27 МЛН
Samsung laughing on iPhone #techbyakram
0:12
Tech by Akram
Рет қаралды 2,7 МЛН
Самые крутые школьные гаджеты
0:49