Implementing World Streaming in my Unity Game! | Devlog

Implementing World Streaming in my Unity Game! | Devlog

Kyle Banks // Farewell North

1 год назад

39,883 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

Kelly Gallagher
Kelly Gallagher - 11.11.2023 14:23

Thanks for sharing this. I'm probably going to need to do something similar pretty soon.

Ответить
Aa
Aa - 05.09.2023 21:58

I reached this video through git-amend's Unity tutorial series. Very cool to find these places with attention for best practices and solid development outside my regular ecosystem

Ответить
PavanOp
PavanOp - 16.07.2023 14:52

now I have to learn all this

Ответить
Gary McKinnon
Gary McKinnon - 01.07.2023 19:04

Great solution, liked and subbed :) Any progress on the occlusion problem ?

Ответить
OneManOnMars
OneManOnMars - 15.06.2023 16:35

Hey Kyle thank you for the great video! I am glad to see you're making good progress!

Ответить
TheFritoNation
TheFritoNation - 04.06.2023 10:53

This was awesome to see your thought process through this problem! Something I noticed at the beginning was how you were able to have an area of color around the player and everything else was grayed out. How did you manage to do this? I had an idea for a game that incorporated that but didn't figure out how to do it!

Ответить
Isto Inc.
Isto Inc. - 31.05.2023 08:36

For the teeeny tiny subset of people who will be implementing world streaming in their own projects - this was dope. Thanks!

Ответить
GameOsaurs
GameOsaurs - 01.05.2023 18:03

I have one doubt, why you did not used occulsion culling, that would have been no effort optimization?

Ответить
C C
C C - 20.04.2023 11:19

Could you please make a tutorial about world streaming?

Ответить
Seva
Seva - 20.04.2023 03:19

What is that FPS monitor you have? Custom or program?

Ответить
PotatoClips
PotatoClips - 11.04.2023 16:41

One thing about the flags that I worry about is if you have a new game+ or exploration mode that lets you go from island 1 to 6 at times you are not expecting. Definitely a good idea to tune this to your artist vision of the game, but it's something to keep in mind.

Ответить
WeeTomatoBall
WeeTomatoBall - 27.03.2023 21:11

Alternate title:
Competing with Unreals Streaming system

Ответить
Fireally X Theories
Fireally X Theories - 26.03.2023 00:59

This is the part I fear most about gamedev

Ответить
Jason Burch
Jason Burch - 23.03.2023 21:53

Started using your SceneRef Attributes thanks for the repo! Great job as normal.

Ответить
Tom Tomkowski
Tom Tomkowski - 20.03.2023 12:40

Great job!
This is the main problem of Unity... you can do fantastic things but... you have to do them by yourself while such features should be included in the core engine by default.

Ответить
Dave
Dave - 16.03.2023 23:01

It's just wow. Btw I really like the art style of your game. Could you tell me if these textures are from some package or you created it by your self? I'm especially interested in this rock texture because looks really great.

Ответить
pironiero
pironiero - 13.03.2023 17:42

blend into idle a little bit hard

Ответить
John Hio
John Hio - 12.03.2023 00:19

Are you using addressables or similar in order to load things in and out of memory? If you're splitting the world into chunks and loading unload via unity's sceneloader, no memory is released again.

Ответить
moonshineTheleocat
moonshineTheleocat - 05.03.2023 21:24

So... a fix to your problem.
The K-nearest is likely to generate better results than manual at times. Why not use the groupings for scene organization for creation. And the K-nearest for the final output?

Ответить
HappyMatt12345
HappyMatt12345 - 26.02.2023 00:53

World streaming is something I really don't know anything about, and what you've done here seems so far above my current understanding of programming, memory, and Unity as a game engine that I could only really get a vague understanding of what you did and how it works, but I like that you put some effort into optimizing your game! Some devs just don't.

Ответить
Jixy
Jixy - 21.02.2023 16:51

Have you heard of ChatGPT? It might be able to help a lot with coding and issues surrounding the finer points of data management.

Ответить
Va1idUser
Va1idUser - 21.02.2023 06:48

8.5+gb of mem to 1.2gb roughly... Thats freaking awesome :D WELL DONE!

Ответить
hooltay270
hooltay270 - 20.02.2023 18:34

hey! can you show the process of making the animal fur? Im trying to achieve this "cartoony fur" and i cant even think where to start <3

Ответить
Carl Boisvert Dev
Carl Boisvert Dev - 20.02.2023 16:13

Super interesting video as always! Will definitely use the auto setup attribute! 🙏

Ответить
Influency
Influency - 20.02.2023 07:27

This video is the dark side of game dev. Working thousand hours for something needed that the player will never see ;), very nice video !

Ответить
Nice Owl
Nice Owl - 19.02.2023 01:55

Great devlog. Quick question: Why did you use customs annotations for the GetComponents? Could't you just do the getComponent in OnValidate()? Or have a base class that takes the option where to search and uses it in OnValidate?

Ответить
Minia
Minia - 18.02.2023 23:10

Great video I love this kind of technical in depth. I have a question though, doesn’t Unity have « Adressables » to manage the load and unload of assets very efficiently ?

Ответить
Skeffles
Skeffles - 18.02.2023 22:13

Awesome to see how you've handled streaming. I really like the Nearest neighbours algorithm you described and why it's not useful for you. Good luck with those future problems!

Ответить
Jkauppa
Jkauppa - 18.02.2023 14:25

if you have lot of stuff, culling objects by bvh will make you draw pixels just once, even 4K has only 8M pixels, you dont have to draw 100M of pixels in vain, remove all over-draw

Ответить
Elliot
Elliot - 18.02.2023 05:51

this is so cool!

Ответить
error17
error17 - 18.02.2023 04:46

Very impressive tech behind this game

Ответить
Division 13
Division 13 - 18.02.2023 02:24

Hello, I was wondering what kind of grass do you use? It seems to me you use a grass mesh and a custom shader? My own game has the typical unity grass and I just want to burn it, do you have any resources or guides as to how to achieve that beautiful, smooth and clean grass? Thanks!

Ответить
NickIzAnewb
NickIzAnewb - 17.02.2023 18:25

Hey, I haven't watched one of the devlogs in a while, so I'll have to binge-watch them haha! As somebody who loves border collies, I was wondering if you can crouch down and herd stuff. Personally, watching them focus and get into position is really cool to watch, and seeing it here would be cool as well. Thank you!

Ответить
Paxon57
Paxon57 - 17.02.2023 16:41

I like this video
People usually don't realize that adding content or features into the game is only a small part of the development. All the work behind the scenes takes time and some smart engineering while providing no noticeable difference for the player (unless You don't do it and the players will just scream "You can't even optimize a game")

Ответить
levstar86
levstar86 - 17.02.2023 08:37

Hey Kyle. I know you probably hear this a lot, but you deserve much more interaction with your viewers. This game looks amazing and I can't wait to play.

Ответить
Lee Mclafferty
Lee Mclafferty - 17.02.2023 07:07

Needed to spend more time on that coo

Ответить
Haapavuo
Haapavuo - 17.02.2023 06:26

Nice vid! How do you make sure that no scene gets loaded twice? We sometimes have that occur since Unity does not have any way to see if a scene is already being loaded.

Ответить
Oindril Dutta
Oindril Dutta - 17.02.2023 04:31

I feel like it shouldn't be based on position, it should be based on vision ; based on movement data, predict position of player into the future. If any object is visible from the player's future position, load it. Sort of like foveated rendering. That will handle occlusion and not require you to make fake islands.

Ответить
Enrique Raphaël Page Pérez
Enrique Raphaël Page Pérez - 17.02.2023 03:19

nice solution to the stuttering!

Nice work dude! This looks fantastic!

Ответить
Google address
Google address - 16.02.2023 21:37

For occlusion you might wanna check this new asset: MF.SSGI - URP Screen Space Global Illumination - Occlusion & Raymarched shadows

Ответить
l3gacyb3ta
l3gacyb3ta - 16.02.2023 18:49

Thank you so much for building it for mac! I know were a small community, but it's nice to not have to use wine

Ответить
BenOwner 21
BenOwner 21 - 16.02.2023 18:12

Could ou show us hop you did the foliage (animated grass and trees)?

Ответить
MainDepth
MainDepth - 16.02.2023 18:04

I have been developing my game for over 1 year now, and watching this made me realise that there is so much to it when it comes to optimisation

Ответить
Prrt
Prrt - 16.02.2023 17:53

Nice Devlog I hit the bell straight away I also just worked on a chunking system for my game and went a completly different way with it I am using a custom dictionary whicht always keeps track of the chunks loaded in, the catch is once a new chunk gets loaded the oldest chunk gets removed from the dictionary, I got around the stutters that way since like this I can assure that there is always only one chunk in the process of loading or unloading simultaneosly also I am not checking what to load on every Update but on a fixed intervall (once per second). Btw I want your grass it looks amazing :D

Ответить
QuadSquid
QuadSquid - 16.02.2023 17:22

new sub, I learned some new stuff thx

Ответить
hacktic
hacktic - 16.02.2023 17:17

Amazing work! I love these more technical devlogs. And you solution for the components is genius, definitely going to look into doing this for my own project.

Ответить
Niklas Mikkelsen
Niklas Mikkelsen - 16.02.2023 16:08

What was your decision to use ECS Sub-Scenes instead of regular scenes? Have you experienced issues with having the GameObjects being converted to a ECS format?

Great video!

Ответить
Monkey Squad
Monkey Squad - 16.02.2023 15:47

I'm so glad I switched to dots now. The OO workflow is just chaos by default and Unity not having something like this (or at least validation) build in makes it worse.

Ответить