I Made a Game Run in 2D, React, and 3D

  Рет қаралды 26,967

supertommy

supertommy

2 жыл бұрын

The power of ECS and Dependency Injection can take writing modular, configurable, and testable code to the next level.
💬 Join us on Discord: / discord
🐤 Follow us on Twitter: / ourcadehq
😎 Subscribe to this channel!
Source code: github.com/ourcade/ecs-depend...
Brandi: brandi.js.org/
Game Architecture (Unite 2017): • Unite Austin 2017 - Ga...
Dependency Injection (JSConf 2015): • Dependency Injection f...
👾👾👾
Want to learn more about using TypeScript with #gamedev? We have a free book that teaches you how to create an Infinite Runner with TypeScript and Phaser 3.50+. Get it here: ourcade.co/books/infinite-run...
Ourcade is a playful #gamedev community for open-minded and optimistic learners and developers. 🎮🕹👾🤗 ourcade.co
#ecs #dependencyinjection

Пікірлер: 34
@supertommy
@supertommy 2 жыл бұрын
If anyone decides to extend this project for another framework (gaming or not) then I'd love to hear about it! Source code: github.com/ourcade/ecs-dependency-injection Game Architecture (Unite 2017): kzbin.info/www/bejne/qJK0ZJx-naqSgc0 Dependency Injection (JSConf 2015): kzbin.info/www/bejne/Zpy3ompti850m80 💬 Join us on Discord: discord.gg/p3vfese 🐤 Follow us on Twitter: twitter.com/OurcadeHQ 😎 Subscribe to this channel!
@terry-
@terry- Жыл бұрын
I like your humor, lol. Thanks for the info, this is something I will definetelly look up when I free up some time from projects. Cheers!
@eaquex
@eaquex 2 жыл бұрын
That's awesome. Great Job !!! It's very usefull
@supertommy
@supertommy 2 жыл бұрын
Thanks! Glad to hear it!
@goodpie7424
@goodpie7424 2 жыл бұрын
I have been always curious about DI and ECS. And I tried to understand it, but always failed because it was too obscure to me. But I wanna give it a one more try watching this video, because you are so confident about them. I like the way you think about game programing. Thanks for sharing your thought.
@supertommy
@supertommy 2 жыл бұрын
You are welcome! Glad the video inspires you to give ECS and DI one more try!
@DejaimeNeto
@DejaimeNeto 2 жыл бұрын
This is one of those extremelly useless things that programmers like to do just for the sake of it, and I love it! I mean... 3D and React were just Flex
@supertommy
@supertommy 2 жыл бұрын
lol, yes, basically a stunt for a video 🤣
@lucasstott2192
@lucasstott2192 Жыл бұрын
I was looking for something to run on my personal portfolio that is lightweight and can interact with DOM elements. I know three.js exist but for 2D using canvas what js engines would you recommend with overdoing it?
@boot-strapper
@boot-strapper Жыл бұрын
Will be using phaser + bitECS + Brandi for my indie game project. I have 2 years of runway. Wish me luck!
@supertommy
@supertommy Жыл бұрын
Good luck!
@ha5anmukhlis
@ha5anmukhlis 2 жыл бұрын
I'm halfway through my phaser game and then I see this 😭
@supertommy
@supertommy 2 жыл бұрын
lol, everything or game we make/work on is practice for the next one! This is also not the only or “right” way
@RezaAkbar
@RezaAkbar 2 жыл бұрын
thanks for sharing, at least I'm bit know about DI, ECS and another framework like vitejs, or outside regular framework I used it
@supertommy
@supertommy 2 жыл бұрын
You are welcome! I think it’s good to know about what’s out there even if we don’t personally use it Keeps the brain supple!
@horhorou-8819
@horhorou-8819 2 жыл бұрын
Wow! I didn't know this concept at all, I'm going to research it, thanks again for your video it was great!
@supertommy
@supertommy 2 жыл бұрын
Thanks! Glad it introduced you to a new concept!
@Daniel_WR_Hart
@Daniel_WR_Hart 9 ай бұрын
Almost every tutorial that I've seen about DI used overly-complicated examples that made me think that DI was some kind of fancy design pattern that I didn't have enough experience to understand, but little did I know I've been doing it ever since I learned how to compose objects from other objects in Java...
@hevex
@hevex 2 жыл бұрын
good stuff
@supertommy
@supertommy 2 жыл бұрын
Thanks!
@raaaahman618
@raaaahman618 2 жыл бұрын
This is a nice example of "defensive programming", the fact you used this approach when developing browser games make the video quite unique. But the question is: should we? At the moment, you are mainly composing the update pipeline with the rendering functions of the engines. But games are more than just rendering assets. What would happen when you try to create scenes, UIs, animations, tilemaps, controls, sounds effects, particles, etc.? Should we use the modules provided with the game engines, and so build each of those several times? Or should we only rely on external librairies for everything?
@supertommy
@supertommy 2 жыл бұрын
Thank you! And that’s a good question. I don’t actually think building a game to run on more than 1 framework is necessary but that’s kinda like the extreme use for DI. It would be more helpful to use it for services within a game that is itself tightly tied to the framework It makes sense to use what the framework already provides for things like tilemaps, animations, etc One place where separating the logic from the rendering that is more common in games would be server authoritative multiplayer games where both server and client run the same simulation and can share the logic code if structured this way Thanks for this discussion!
@raaaahman618
@raaaahman618 2 жыл бұрын
@@supertommy Indeed, the authoritative multiplayer game server example makes sense. You'd only need the ECS and Physics system on the server side then, so no duplication of the other modules. But the other use for DI would be to allow to move easily from a game engine to another. It could make sense to program a game this way if you want, for example, to move from Phaser 3 to Phaser 4 whenever it is available for production... not sure about this one though. Anyway, your videos are opening perspectives, keep up the good job!
@Mickey-pt7yi
@Mickey-pt7yi 2 жыл бұрын
I like your video so much, I hope you can update more, I like these novel things very much, I hope there will be more explanations
@supertommy
@supertommy 2 жыл бұрын
Thanks! Definitely plan on sharing the experience and findings from building OSZG
@kyalocharles
@kyalocharles 2 жыл бұрын
thank you superTommy
@supertommy
@supertommy 2 жыл бұрын
You are welcome!
@BruceOnder
@BruceOnder 2 жыл бұрын
Two words: GOL DURN! 🤩🤩🤩
@supertommy
@supertommy 2 жыл бұрын
Thanks! 🤗🤗
@Evan842Complex
@Evan842Complex 2 жыл бұрын
So ECS?
@supertommy
@supertommy 2 жыл бұрын
I think that ECS is definitely necessary but also dependency injection.
@actionscript3661
@actionscript3661 2 жыл бұрын
better use Dart and Flutter
@supertommy
@supertommy 2 жыл бұрын
I like Flutter
@humbledream2
@humbledream2 Жыл бұрын
@@supertommy but?
Making Games with Javascript and React
33:32
Mark Makes Stuff
Рет қаралды 59 М.
Making your First Phaser 3 Game in TypeScript  - Part 1
20:27
UFC Vegas 93 : Алмабаев VS Джонсон
02:01
Setanta Sports UFC
Рет қаралды 222 М.
Simple Way to Build HTML 5 Games (PixiJS)
6:39
DEV-LES
Рет қаралды 10 М.
The Best Game Development Frameworks
21:58
Gamefromscratch
Рет қаралды 40 М.
React Native vs Flutter vs Native - Let's Talk Engines
25:15
Theo - t3․gg
Рет қаралды 129 М.
6 Months of Learning JavaScript Game Dev in 6 Minutes
6:35
Suboptimal Engineer
Рет қаралды 114 М.
I Made a Neural Network with just Redstone!
17:23
mattbatwings
Рет қаралды 644 М.
I Tried Making a 3D RPG Game in JavaScript
14:19
SimonDev
Рет қаралды 1,1 МЛН
Phaser April 2023 Games Showcase
12:20
Richard Davey
Рет қаралды 28 М.
I made a game using Godot for the first time
7:35
shawcat
Рет қаралды 1,1 МЛН