MULTIPLAYER in Hazel - My Game Engine

preview_player
Показать описание


📚 CHAPTERS
- 0:00 - Hi
- 2:56 - Walnut
- 5:03 - Hazel Server
- 6:07 - Client/Server design
- 8:46 - Server deployment plan
- 11:52 - Hazel Server runtime
- 12:12 - Entity Domains
- 14:05 - Server-side Scripting
- 26:08 - Bye

💰 Links to stuff I use:

This video is sponsored by Hostinger.
Рекомендации по теме
Комментарии
Автор

Thanks for watching! What did you think of the format compared to the Genesis 3D video? Let me know! 👇

TheCherno
Автор

I like seeing the real development. Though a mix of that and a retrospective is nice too.
For example, you showing parts of the highlights of developing it, and then doing a retrospective on top of that where you add in things you realized later on.
(i.e. editor cherno commenting on developer cherno)

mrt_
Автор

This “rewriting the renderer” thing has evolved into a legit hobby 😂

atesztoth
Автор

Really liked this hybrid format of stream content and explanation/talks in between! Like it a lot more than the previous format.

nepp
Автор

I think there's definetely a sweet spot between retrospective and development livestreams - perhaps you could try showing some edited development livestreams with interjections from 'future you' every few minutes explaining the bigger picture - as I do think it's quite easy to get lost in the details in the dev livestreams.

TAMusic
Автор

Live-like development format is awesome.
It was 26 minutes and i want more! More!

КонстантинСердюк-ью
Автор

Retro over real-time code writing. If I wanted to see "the struggle", I'd put a mirror next to my monitors to really enhance the swear-laden experience.

pfd_mark_taylor
Автор

We would like both types of video.
I personally would like the technical videos that show the actual dev of your tech.
But both are fun

NOKIA
Автор

I’d like to note this game engine has taken around 1/3 of his life

TheJasonParser
Автор

Hello Cherno! I don't usually leave comments but I just wanted to give feedback on this style of videos. I personally really enjoy the "live" process instead of just a voiceover explanation of how you accomplished something. It may be just me because I'm a programmer too and I really enjoy watching the process unfold. Anyways, great video and I can't wait for the next one!

xLoxLoLex
Автор

So, typically for client-server models, the client only sends input to the server and the server handles all the movement and collision- the client has no authority over anything. And if the client is only sending inputs every 30hz then you need to batch inputs into a buffer or else the server will miss many of the inputs. It might be better to have a server tick rate of 30hz to update the client, then you would have to implement server reconciliation- which involves labeling packets with a packet number and having the client keep a memory of inputs, the server labels its response with the last received packet number, then the client applies the server's update at the state corresponding to the updates packet num, then the client re-simulates all inputs from then to the current time.

There's a really good article called "fast-paced multiplayer " by Gabriel gambetta that explains this stuff super clearly, I highly recommend

TheFreshMakerHD
Автор

Ah, finally a topic I can relate to, integrating any sort of networking or replication is a big undertaking, good luck :)

NextGenNetGames
Автор

"my name is cherno and i'm an alcho-" reminds me of the scene where klaus says that in The Umbrella Academy season 2.

rwrKayla
Автор

nice Work! Love the new format too...

hamzaabdelal
Автор

As far as being able to understand what you did and the features you implemented/how to use them, this content is the best. If people want to see you code and understand the process of developing software in detail, I think that is a different type of content. I think those videos accomplish different goals.

jerrymaldonado
Автор

I would prefer the retrospective approach because you have already worked out most problems. A real-time approach feels like it would be incomplete because you may run into issues that need further thought beyond the video. Though, admittedly, I do like watching how you solve problems.

RobertSmith-wjzf
Автор

hi, my name is cherno and im an alcoho... wait that's not right

pyyrr
Автор

It's way out of scope but having a renderer on the server would be kind of cool being able to watch how things move and get corrected in an overhead view.

Burgo
Автор

I definitely prefer watching the real development

I will say that the retrospective is more digestable and immediately entertaining, but this is a better learning experience for me and more interesting overall for that reason

I love hearing the decision making about how you wanted to implement multiplayer especially from a game engine's perspective, I was quite offended by Unreal's multiplayer decisions but I realized from this that it makes a lot of sense for engine developers to tie in their engine into the server. I think it's really important for engines to get this right, the server that you get with the assistance from your engine should be a good balance of not re writing code you've already done and giving you control as a game dev.

Ultimately I feel bad for engines trying to implement multiplayer, that is not an easy task. I have headaches thinking about how to provide a nice system to get a GUI (on top of a client-first codebase with rendering) to facilitate developers to create co-op, PvP, MMO experiences, lobbies, portable server hosting... it's really so much hahah

xxgunnery
Автор

that was unexpected am alcho... i laughed so loud

arrowsdev