Coding Blocks - What is a Game Engine?
Episode Date: December 6, 2021With Game Ja-Ja-Ja-Jamuary coming up, we discuss what makes a game engine, while Michael's impersonation is spot-on, Allen may really just be Michael, and Joe already has the title of his next podcast... show at the ready.
Transcript
Discussion (0)
You're listening to Coding Blocks, episode 173.
Subscribe to us on iTunes, Spotify, Stitcher, wherever you like to find your podcasts.
I hope we're there.
And yeah, find us, leave us a review.
If there's a thumbs up or a plus button or whatever their modus operandus is for saying that you liked the show,
we would greatly appreciate it if you took the time.
Yep. for saying that you liked the show. We would greatly appreciate it if you took the time. Yep, and while you're on the internet,
go ahead and check us out at codingblocks.net
where you can find all our show notes,
examples, discussions, and more.
And send your feedback, questions, and rants
to comments at codingblocks.net.
And follow us on Twitter at codingblocks
or head to codingblocks.net
and find all our other dillies at the top of the page.
Our dillies.
Still cracks me up. And'm michael outlaw and i am alan underwood in person with michael outlaw see i did a better
impersonation that time right jay-z yeah very nice hashtag nailed it this episode is sponsored by
linode simplify your infrastructure and cut your cloud bills in half with Linode's Linux virtual machines.
All right.
In this episode, we're talking about game engines.
What the heck's a game engine?
I thought it'd be a fun one.
And we got, well, we'll tell you about the news.
We got a game jam coming up and we're excited about it and doing a little bit of prep and research here.
But first, a little bit of news.
Yep.
So I actually found this one just searching around.
We did get a review from Podchaser from Jamie Intricasso.
So thank you very much for leaving that review up there.
Greatly appreciated.
And you are not a jerk, so thank you.
All right.
Great.
And just like I hinted at like five seconds ago,
the game Jam is coming up in January and sign up is available right now.
No, it's not January. It's Jamuary.
Oh, geez. My bad.
It's branding, man. Branding matters.
I'm so bad at this.
Let's start over. Start over.
You're listening to. Oh, wait.
Yeah, well, we have a link in the show notes here.
You can go to itch.io and just search for
coding blocks and you'll probably find it coming up
in January. So go ahead and sign up.
January. How many times,
man?
I'm so bad at this.
It's totally free. It's just for fun. It's a great way to make games.
So, yeah. Get pumped.
Speaking of, I mean, this is
a good time. Like, if if we're gonna talk about gaming here
oh right i could put on my uh turns out we got some swag in a swag box here from rockstar
so huge thanks to al garrick jr for this yeah truly amazing we got that's super exciting
like i know i'm excited about it the timing is insanely like i don't
know did he maybe he already knew that we were going to be talking about gaming and game jams
and game development and all that otherwise i like the timing is just so amazing did you say
what it was well yeah so i got a hat i got stickers we got shirts uh well i mean i say i got but i
mean i might share yeah i'm gonna fight you for that hat are you you're gonna lose i need it
listen when you get your wanted level up to my wanted level yeah and then you can bring it back
down then come talk to me about the hat yeah at point, you're just trying to see how high you can get those stars, right?
That's really all it is.
So I'm not the only one who loves to play GTA like that, right?
Yeah.
It was all about get the tanks to come out after you.
And then once you get the tanks to come after you,
can you bring your wanted level back down far enough to where you're like,
phew, got away with it.
Where could I hide?
Yeah.
It was always like the parking garages or something,
right?
I'm still waiting for a Bully sequel too, so Al,
if you're out there, yo,
Bully 2.
Awesome.
So hey, let's talk about
game engines. So I had a
kind of funny thought here, right?
We've talked about some of these things before, so we've got a little pop quiz
for you. When we talk about some of these things before, so we got a little pop quiz for you.
When we talk about software development, what's a library?
Who's taking this one?
Well, this is where I like to put all of my manager classes and all of my helper classes.
And I like to be sure to name them as something helper or something manager to make it clear as to what they do if i could reach his mute switch right now yeah
how about this i would say i would say okay wait before you give me the webster definition i would
say honestly like my real answer would be like a library would be like a collection of uh code
that solves a common a common need so like if you had i don't know a logging is a as our
canonical reference so if you had a logging library like you know or you know the code
inside of that library would be specific to that problem or that domain yeah okay so like a focus
collection of of code uh what's the difference between a library and a framework? A framework, uh,
is very opinionated about how you put your code to use,
right?
Like,
um,
how you do your classes,
how you organize your things,
um,
the way that you tie them together.
To me,
that's the framework.
Any Allah had a cool way of describing a couple of years ago.
I don't remember exactly,
but you said something is basically like you include the library in your code
and the framework like kind of includes you yeah that makes sense but it's kind of a way
of putting it uh and you end up writing your code to fit within the framework yep yeah i was going
to say that like the the the framework uses libraries yeah it would be like you know if you
were to think about these in terms of like,
uh,
building blocks,
right.
You know,
the library,
a library would be like a smaller building block than say a framework.
A framework might be a collection of libraries.
You know,
there might be a library for logging inside of there.
There might be a logging for creating,
uh,
grids and,
you know,
all the interactions for that.
And,
you know, things like that.
I got two more for you. What's a toolkit?
I say toolkit.
I should say all these have formal definitions that everyone ignores.
And so all this stuff, there's so many exceptions and blurry lines here
that it really is just like, what's your general sense of it?
So the toolkit is sort of
like a collection of libraries to me right like the toolkit if um like if you're doing angular
development or or react's probably a better one because react's only for view right you'll
typically have a toolkit something like underscore or or some other set of things that allow you to
do common features, right?
To me, that's your toolkit.
Unless I'm thinking about this wrong.
Is this more like IDE type stuff or what?
That's how I was imagining it.
Just like a kind of a smattering of different, almost like abilities or components that you
can kind of use and mix and match as needed.
But it's different from a framework because you're not really, you know, you're not working within this toolkit. You're using the toolkit for the pieces that you want
out of that toolkit. Like, you know, maybe you want the hammer and the screwdriver and the,
you know, the whatever, but you're kind of picking the pieces out that you want to use.
So I think the way that I'm thinking about these, like a library, a very specific example was we
talked about the async library years ago in JavaScript.
I can't remember Bluebird or something like that.
Like that's very tightly focused on what it does,
right?
Like it's async calls.
The toolkit is something more like underscore where it might handle async calls,
but it also does like string formatting and all kinds of other things,
right?
Like it's something that you'll use a lot of when you're doing your
development and you chose that particular toolkit over something else.
Yeah. Yeah. I like that. So here's the last one. What's an engine?
Uh, I mean, if I think about an engine though, I think of something that like you're instantiating
and you're giving it some parameters, you're it some some config some some objects or whatever but it's doing
the hard labor for you it's doing the hard work for you like so yeah i like that like it's it's
it's the own thing and you are configuring it and you know it. But yes, it's really hard.
And so I Googled this, like,
what's the difference between a framework and an engine?
Oh my gosh, you want to see some of the worst answers in the world?
I'm talking like Yahoo answer quality.
You Google this, you'll see a bunch of questions on Quora
basically asking exactly this.
And the answers are just awful.
People are just making up distinctions
that just don't even make sense for like
well framework is like uh you know 50 files but an engine's like 100 oh come on what
what and yeah they'll give examples of you know like well this is a you know this is a framework
uh ruby on rails but uh unity is an engine so there there you go. Go. Thanks. Yeah. Appreciate that. Yeah. That, that cleared it up.
So I think the lesson though,
is that if you were to follow uncle Bob's clean code,
clean architecture,
and you were to have like,
you know,
small purpose built classes,
you know,
adhere to solid principles and you're going to have a lot of files.
And so therefore you're going to have an engine.
That's right.
Yeah.
Yeah.
So I think that's fair. If you're solid, you're, you have an engine that's right yeah yeah so i think that's
fair if you're solid you're you have an engine i think so yeah it's kind of funny i think it's
like why like how did we end up with game engine you know like why why did that end up being the
thing is it just because it's like games is there something special about it like kind of
adheres to engine well something that sticks there the only other kind of engine i could
even think of was like a storage engine for a database which that kind of makes a little bit more sense because to me, you know,
you've got a database and you can swap out the engine. Maybe I want this engine or that engine
or something. And so that makes a little bit of sense because you're still kind of keeping the,
you know, the vehicle. So, you know, you know what it is in my mind and I haven't looked it up,
right? Like this might be a core answer right here, but it, it, an engine has a lot of moving
parts and that engine is kind of what coordinates it all, right? It's what makes the stuff all work
together. You have pistons, you have things firing off, you have timing, you have all this stuff,
right? And that translates to gaming for me because the gaming engine is having to control
so many things, right? You have the logic
within the game that's happening. You have things that are moving and how they interact with each
other. And that to me is what the engine is, right? Like when, when we mentioned the framework,
that's how you're going to write your code to work within the parameters that they've set up.
The engine is just managing all the stuff that needs to be done, right? A scoreboard, how,
how, um, collisions happen, whatever, right? Like all these special things.
So that, in my mind, is why the engine analogy works
is because it's handling a lot of moving parts.
But I was thinking of SQL as an example of another engine
outside of gaming, though,
because it does everything that you just described, right?
You think about the way the query optimizer works for you to retrieve data. You think about, uh, the persistence
layer underneath and everything that it has to do to maintain, uh, the, the file system or the files
on the file system and then compression and the right ahead log versus, you know, whatever. So,
uh, I mean, I think it fits that, that case. And so like, if you,
if you go with this understanding of like going back to, you know, expanding on what I said
and kind of tying these two examples together in an engine, you're, you're just giving some,
uh, you know, definition about what you want to do. So in other words, you might say like, Hey, I want a table that has these five columns. These are the types of those columns. And you know, uh, if you insert
one, I want this value automatically incremented, things like that, right? Some characteristics
about it, but it's all kind of, you know, it's really kind of metadata about just describing
what it is. Right. And the same for a game engine. Right. You might say like,
Hey,
I'm going to create this object and you're going to treat it like,
uh,
like it's a vehicle that can,
that has these kinds of properties.
It can move at this kind of rate.
It can corner like this.
It's this kind of weight.
So maybe it leans when it turns,
you know,
heavy cause it's top heavy.
Uh,
you know,
like a double decker bus or something,
you know? Um, but the, the game engine itself, just like the database engine would be responsible for how
to maintain that table that you described, the game engine would be responsible for when
that vehicle is moving through the game of how to translate that configuration that, that you just, how you described that vehicle to,
you know,
to draw it on the screen and,
you know,
add reflections or whatever.
And then the physics of how it would work.
I guess to me,
it kind of boils down to just saying like,
it's a really advanced piece of software that you build around.
I don't know. It's just kind of soft.
Right. Build in. It's like you put the pieces in there and it knows how to use them.
It's sort of what it feels like.
I don't know. I never did find a good answer.
Just bringing that up because it was kind of funny to even talk about it this way.
I just submitted mine to Yahoo Answers
so if you refresh your page you probably have a really good one right all right oh it's all it's all
the way at the bottom underneath somebody selling diet pills oh wow dang it dang it indeed all right
well uh so you know game engine um we'll get into kind of definitions here but basically what we're
talking about is like these these kind of packages, really small packages to help you build games.
And the reason that people use them is because they help you reduce costs and reduce complexities and get rid of common functionality that you don't.
So you also keep reinventing the wheel.
Other people have reinvented, makes it faster to build things.
And it also makes things consistent so you can hire
people to work in whatever engine you're using and you know they've already got a leg up on how
you kind of do things uh one thing that was kind of interesting to me is when i was researching
this uh i found out that a lot of triple games use their own engine so last of us uses the last
of us engine uh engine halo uses the halo engine
sometimes they have cute names for it i forget what um i forgot what i was looking at had their
oh rockstar uses the rage engine it's like the rockstar something engine that they use for um
you know most like the grand alvado and red dead redemption type games um so it was kind of
interesting to me that like these really big players uh
end up doing their own thing and so i did a little bit of research on that it basically
came down to optimization it's like if you're going to spend five years and you know hundreds
of millions of dollars on something you really want to make it do what you want to and you want
to pick out the pieces that you like from other engines but you want to you know maybe streamline
other parts or build it more around the processes that you
have in place for your,
like your workflow and your employees and stuff.
So it might make sense.
So it just,
it seems still kind of crazy to me that you'd spend so much time building an
engine for a game.
Hey,
when you,
that's a lot of work.
When you were looking at that stuff,
did,
did these bespoke engines that they have were they all
did they derive off some other base engine you know how like like for instance elastic search
it's based off solar is it something similar with these guys like the unreal engine right
under the covers right did they start with one of those and then just tailor it to their needs
because that seems to make a lot of sense yeah that makes a lot more sense to me and a lot of times i would see references and someone
that says that basically they would use a modified version of like unreal to unreal engine and so
they would even have like custom ids that they would publish for their developers to use it
kind of like um have changed parts of it but for for those part when i found out about custom game
engines they were not that they but they also weren't from scratch so they took more of the toolkit kind of approach where they used um
lib gdx for rendering and they use direct x 11 for this and you use this shader model and so
you ever like fire up a game and you see like 20 logos before you can play a lot of times because
they kind of bundle the things that they wanted to and they licensed various pieces of technologies
to kind of put things together i'm just banging on the escape and space bar during that.
Like, you know what?
Go away.
Go away.
Fast.
Load it faster.
Stop showing me how.
You got to modify the.ne file.
I didn't mean to interrupt you, but yeah.
So thinking about the AAAs too, I would also think that part of the –
so you said optimization, which makes sense, right?
Like they want to squeeze every bit of performance they can.
I wouldn't be surprised, though. If another reason is because AAA companies are typically, typically going to have more access
to the NVIDIAs and the AMDs of the world. So when they're putting out something like their DLSS or,
or whatever else, right? Like they're rendering engines and doing special things with lighting
and all that, they're going to get those toolkits quicker. And they're probably going to be building things that haven't been built into the engines yet. Right.
Because they want to take advantage of it and get some of that special sauce
out there.
Yeah. But I mean, you're, you're talking about the games, the,
the companies that are already like the big name companies.
What about the ones that aren't where it's like, you know,
like have you ever played split gate for example?
I haven't heard of it. Oh, I mean, it's, it's an, it's an awesome, amazing, fun game. It's
basically in a nutshell, halo meets portal. Oh, okay. So you can like shoot these, uh, you know,
your portals around and, you know, shoot through the shoot through the portals. It's so much fun,
but you know, that's not, not, to the best of my knowledge,
not made by a big-name company.
So your access to the NVIDIA libraries or AMD libraries sooner rather than later
might not always be applicable,
especially for an indie game developer kind of scene.
Right.
No, I think that's why when he called out AAA specifically,
I think that's why they do do their own bespoke stuff
because they can iterate towards newer hardware and newer features
and those kind of things faster because they're controlling their own destiny.
Instead of relying on an engine to have everything they need,
they just build what they need because they're going to make their money back on that R&D.
I mean, I guess the interesting thing for me though like i would have never
um as it relates to like any kind of racing type of game then if you told me that they make their
own i'll be like oh i guess that makes sense right because like you know you play forza versus
gran turismo right and uh you know like driving games there's a that's a lot of hard physics to
have to deal with emotion like some of them are just amazing too like over the years you know
i remember like when uh one of the forza versions where like they actually included where the rotors
would heat up orange as as you were under heavy braking and like, Oh, that's pretty cool. And it was super
cool when you noticed, like if you had a screen set up or your monitor view set up to where you
could see your opponent next to you and you happen to notice it on their car, not just in a replay,
but it was happening live in their car. You know, like, you know, there's cool little things like
that, that I'm like, yeah, I could totally see that. I would have just assumed that everybody was based off of a common engine for first-person shooter types games because I guess I never really the limit. Like sometimes the way – like if there's any kind of jumping in it, like sometimes the way the car lands is – some games are like really kind of springy and bouncy.
And you're like, oh, this is kind of fun but totally unrealistic versus some games you can't even flip the car over if you wanted to no matter how hard you try, right?
Right.
So.
Yeah, I'd imagine, Jay--z you mentioned terrain building stuff earlier i like just thinking about the different types of games out there a first
person shooter a lot of times is more closed world and so you don't have to worry about rendering
terrain that's you know five miles out and all that kind of stuff i know that right racing games
in the past that was one of the biggest problems that they had was having buildings just pop into view
because of the rendering requirements and all that.
So it doesn't surprise me that AAA companies
build like Rockstar, the very open worlds.
And it makes sense that they're going to tailor things
to try and make their experience the best that it can be
for the types of games they create.
Now, you mentioned rendered part of the terrain and the scene
that's not necessarily part of the playable part,
but I've actually been impressed with sometimes if you play Overwatch, for example,
and you go through not the highlight, but instead if you go into it, you can actually replay the game.
And it would be more like the view that you might see in a competitive kind of view,
where you could see every player and how well they're doing at one time,
and you can immediately switch to a given player. But you can also go into this free camera mode
as you're playing, so you can pan the camera wherever you want. And you can also go into this like free camera mode as you're playing. So you can like pan the camera wherever you want and you can actually see parts of the map that it's like, wait a minute, you can't even your character can't even get to that.
And yet they rendered it. And then there's other parts, obviously, that, you know, don't do anything.
You know, they're they're just, you know, cliffs off of, you know, often to note to, to nothing. But yeah,
so it is interesting where like they actually make the time to render
scenes or portions of the terrain.
Then it was like,
well,
you know,
for the 0.001% of the population that might go into that replay mode and
happen to pan the camera out and happen to pan the camera to that
particular,
that particular that particular
part of the map you know i don't know yeah it's interesting and you can imagine like the needs of
like a big massively multiplayer online game uh and the way they kind of stream assets or they
really hate loading scenes right it's like something that like it's like the bane of all
online games they don't want loading scenes but something like a racing game, like you don't mind a few seconds between, you know, if you switch to a different racetrack, right?
I do.
Yeah, I do.
Yeah, fair.
Fair enough.
But, you know, it may look like the track you're playing on from minute one to minute three, maybe, you know, totally different.
Like here you're in a forest, now you're in a desert.
And, you know, an online game, you maybe have more gradual experiences. You kind of like, you know in a forest now you're in a desert and you know an online game you maybe have more gradual experiences you kind of like you know traverse the world
differently and so they just have different needs and so that makes sense to me and also
the triple a games uh for the most part they don't really plan on just making one like if
you're making a last of us engine you're probably counting on you know making another one or um the
the latest um nathan drake game uncharted
used the last of his engine so you know the these big companies kind of plan on reusing that and
kind of taking that that ip and taking somewhere else and also probably a competitive advantage
like if every game studio used the same engines they'd probably look and feel kind of similar
and all these big players want to be different i don don't know, though. I mean, do they really?
It's like, I mean, I hear what you're saying.
In spirit, they definitely want to create that engine
and use it multiple times, right?
And if your name sounds like Smack Division
and you make a game that sounds like a small of cutie,
then yeah, you probably abuse it, right? Like you've,
you're like publishing out one like every year and before you're like, you know, your user base
is constantly moving from one game to the next. Right. Um, but then on the other side, uh, you
know, if, if you work for a snowy company and you only make like a you know a handful of games and you just keep them
going out forever and ever and ever like ah forget it and my joke's falling apart but you know
obviously i was talking about activision and call of duty and then uh the snowy company was blizzard
and you know they have like overwatch that has been out for the last last five years and it's
you know they keep talking about Overwatch 2,
but it keeps getting delayed and delayed and delayed.
And then what was the more...
The canonical reference in that was like what Doom...
What was it, 16 years or something insane
before they came out with that sequel?
Was it that long?
Was it Doom?
Oh, no.
Star... Yeah, it was like doom eternal or something like that no not eternal uh oh shoot yeah i know what you're saying though
but yeah so the point is is like you know yeah i definitely understand like you want the economies
of scale right you put that first version out of the engine and then you expect it like they're
going to tweak it and make you know keep making improvements or whatever but
not all companies are like that like some some companies just seem to you know put that version
out and it stays out there forever and ever ever csgo is still you know uh widely played right
and how old is that game you know i'm glad that glad that I didn't ask my next question because I see it in the notes where you're about to go with this stuff.
Oh, wow.
You're talking about what you actually get from gaming?
Yeah, exactly.
Like, what's the most important thing?
I mean, we've talked about graphical loading and stuff, but I mean, there's way more to it.
Yeah, I just did a quick poll.
I looked at a couple articles and kind of found some of the main characteristics. I put some sub-bullets in just to kind of give some examples so it wasn't so amorphous. But obviously, rendering is probably the number one, like 2D, 3D rendering. In fact, people often refer to those as being engines just on their own. So a lot of times these endgame engines will bundle a certain rendering engine.
And sometimes you can even change it out.
Like you mentioned Doom Eternal
or Doom Eternal.
Both of those let you swap between
any number of rendering engines.
So you could say, I want Vulkan
or I want DirectX 10
or I want DirectX 11
or I want OpenGL.
So it's just kind of interesting to me
that you could swap those out so easily.
Talk about needing abstractions.
Yeah.
I mean, the importance of abstractions and interfaces, the fact that you can swap that out tells you that under the covers, they are not reliant on any one of those things.
And that's because they've abstracted their use of it yeah rendering is so tied to the hardware and it's so important that you not be tied to the
hardware in order to support as many platforms as possible right that's kind of funny uh so yeah
you know you can basic shapes you can do things like drawing spheres lines polygons triangles
things like that uh but also when it comes to rendering there's things like particles which
are just kind of like some almost like randomly generated kind of effects or shaders which are
really cool um kind of way of um a lot of like water effects environmental effects and stuff
or kind of cartoony kind of effects will change the look and feel of something but it's done at
uh you know basically at the the rendering like at the you know the memory level where you basically
look at the pixel next to you and you and kind of do some quick math on it.
So, they're really efficient.
Masking, culling, which has to do with like hiding pieces from, you know, basically if something's out of view, you don't need to see it until you can continue to view it.
So, it's really about making things efficient.
So, there's a lot of work there done to reduce the amount of work you need to do because obviously if you're dealing with like billions of triangles you know it's very important
to only do the work that you need to do well you just said there's a lot of work done to uh reduce
the amount of work you do exactly there really is very impressive i mean do you guys remember the i
believe it was the dreamcast the sega dreamcast And one of the ways back then that they made their polygon performance so good
is they didn't fully render all the way through.
They would only try and render surface-level objects, right?
And that way you reduce the number of polygons that you're actually having to compute.
And just that one change that they did for their own, you know, I don't
know if you'd call it an engine for an entire OS platform or whatever back then, but, but yeah,
I mean, just little things like that. Right. So you're talking about hiding, right? Like if
somebody walks behind a tree, that tree is going to block the object behind it. But then they even
went another layer and said, Hey,
I don't care about any of the structure inside these,
these surface structures. Right.
And that's hard stuff.
Like that's,
that's a lot of work going into that to,
to make your games run fast and smooth on what was older hardware.
I think the best example of that would probably be Pac-Man hiding those
dots.
I did a really good job of it. I did i did it only showed like the top of it too so
yeah made it really easy uh progressive enhancement is another one you're playing a
modern video game and you like you see a rock you know like pop in and as you get closer to it it
gets better and better looking you know uh so yeah ideally that's gonna be hidden but just the idea
of progressive enhancement is also really great for uh you know different hardware so if your hardware can't keep up you know just
show the the crappy looking rock and if you if you can load it fast enough just get the nice one
and you know we mentioned car games if you're traveling really fast and that's obviously
something you're going to care about another interesting thing about kind of car games is
because your objects are traveling so fast that if your objects are too thin that sometimes you get a bad situation where the car you know is moving so quickly and
it like hits a you know a tree or a rock or something that the the physics calculations
haven't happened until maybe like it's too far gone to really you know make a an update that
makes sense i imagine like you hit a tree with your car when you're going
really fast but the engine doesn't realize until the tree is like halfway through the hood you know
that there's been a collision because it's you know running behind so what's it going to do then
you know and so it's just kind of funny how you know these situations you you get into and
different considerations you have to take into account when you're making different kinds of
games and have different kinds of physics and stuff going on.
I thought you were talking about like the difference of in racing games where like the physics of a car with a long wheel base versus a short wheel base
would make a difference.
But you're talking about like the,
the engine itself isn't keeping up.
Right.
And so that's where you get these like really funny looking,
um,
uh,
screenshots of scenes that, more reminiscent of cyberpunk.
You know that old game?
You know what your progressive enhancement reminded me of, too?
So that's actually really cool.
The whole thing about when it gets closer, it's adding more and more detail. With the newer VR stuff that they've been doing, they've been working a lot with trying to do eye tracking to try and make it to where it doesn't have to draw the entire screen at perfect resolution. Like when you're gaming right on a monitor, your entire screen is beautiful.
It's rendering everything.
Yes. your entire screen's beautiful um you know it's rendering everything yes but what they're trying to do because vr is way more heavy right you're driving two screens
at that each with their own resolution that's about the equivalent of what your full
flat screen is so what they're trying to do is make it to where they can see where your eyes
are going so that they only render that part of the screen,
super fine detail.
And the rest of it's just like in your regular life,
everything on the periphery is just sort of blurred out.
Like it's not as important.
And so they're,
they're trying to do things like that as well.
So taking that progressive enhancement to another level.
Yeah,
that's really cool.
Have you seen good where games will kind of blur things
that are further away?
But the game, it's awkward if your eyeballs
are looking at something in the distance,
but it's blurry.
It's like, no, that's what I want to focus on.
Right.
So yeah, the eyeballs, that's the way to go.
That's cool.
It's neat.
And they can do it with VR
because they have things like sensing your eyes
and looking at your pupils and all that.
I've never, I don't mind the progressive
enhancement if they do it in such a way that you don't notice it right but it always bothered me
when you would notice it so like i remember like going way back like descent and battle tech i mean
they were bad about that type of thing like battle tech was especially like you know you might not
even see that mech way off in the distance that just shot you especially like you know you might not even see that mech way
off in the distance that just shot you and then you know you take a step further and you're like
well i think i was in there and then like as you get a little bit closer like you see a skeleton
you're like what is that you know and it was like yeah it was just you know those games games from
the 90s were like way too like progressive enhancement was just way too obvious
right yeah it's pretty nice now on modern game engines you really don't have to worry about that
you know like you just kind of say like hey i've got two objects in the engines responsible for
figuring out if that's far enough away or based on your graphical settings or whatever else you
know it just kind of takes care of it which is awesome uh so i got a a list here i've
heard physics engine another engine for you uh physics engine a million times is like this is
what uh you know game engines provide one of the things that's kind of common and so i went through
and listed a couple things that you get from physics physics engine just because it sounds
kind of um you know vague it's yeah it's vague you know it's like cool like physics what
do i get from physics engine so things like mass like if two objects collide and how you know how
they bounce apart um that's a big one gravity important for jumping falling all sorts of stuff
without gravity things would just kind of be floating around you know your three-dimensional
spaces two-dimensional spaces.
Torque is a good one.
So the ability to kind of spin things, turn things, how motors turn, all sorts of stuff is really wrapped up in like torque and of course force for like shooting bullets, driving
cars, jumping, all that stuff, you know, mass times acceleration, right?
Or, well, also think about the from your your gun as you're shooting
right yep it's funny how many things like that are uh like actually like done really similar to
like how they work in the real world like i was messing around with a car uh a car kind of tutorial
and it has you create an axle and a couple wheel colliders and then uh you know you turn the wheels that
determines the direction stuff so there's not a lot of faking like i originally kind of thought
that like you just kind of have the car and then you have a drive-in and then you like kind of fake
the wheels turning but no the wheels really kind of turn it and the uh the wheels have configurable
friction and all sorts of stuff like that that um you know that kind of uh factor into things and
so you can have different kinds of friction for the tire that you have,
but also for the ground that you're on.
And you combine those two things together,
and that's what it feels like to drive a car.
I've heard that the wheels on the bus go round and round,
but I can't confirm.
Round and round.
Yep.
So springiness is –
Like all the parents just got a chuckle out of that,
and everyone who doesn't have a kid is just like, oh, God, there he goes again.
Do kids still sing that nowadays?
Oh, my gosh.
They got to somewhere.
Baby shark.
Baby shark.
Yeah, it's all about baby shark.
Oh, no.
There you go.
A couple others will blow through here.
So springiness is kind of funny.
It's like different materials.
You can kind of make them bouncier or not.
Liquid, if you've ever seen – I'm not talking about so much as like water. This is kind of funny. It was like different materials. You can kind of make them a bouncy or not. Um, liquid.
If you've ever seen a,
I'm not talking about so much as like water,
like in video games,
but like,
uh,
sometimes you'll see like water pouring or something like that or
waterfalls,
um,
liquid dynamics,
liquid by itself.
Like there's multiple,
uh,
you know,
I guess that would be fluid dynamics,
right?
There's multiple things to consider there because there's the reflections
that it might create from it, but then
what's the properties of water and what happens to
how it holds together?
I can't remember the term for it.
I don't think that's the one I'm thinking of, though. I don't think that's what it's called. Surface tension
is the one I'm thinking of.
Okay, yeah. How well your spaghetti sauce adheres I don't think that's the one I'm thinking of though. I don't think that's what it's called. Surface tension is the one I'm thinking of. Okay.
Yeah.
Like how well your spaghetti sauce adheres to the noodle.
Yeah.
Like,
like,
like how,
like how,
uh,
you know,
if you were to shoot a water gun,
there might be like,
you know,
pools of water that like kind of,
uh,
puddled together,
you know,
yeah,
might've landed separate,
but then ended up puddling together. Uh, here's a fun one. A wind. So I, I, you know? It might have landed separate, but then it ended up puddling together.
Here's a fun one, wind.
So I just thought that wind was kind of like a force that you just kind of apply.
But Unity actually has like a, you can like right-click and add wind to your environment.
So if you want to have like a fan blowing, or if you just want to have like the wind blowing
or changing directions as you kind of drive around, it's pretty cool. And I think that you kind of have that and have it apply to like any object that comes into, you know, path with that. much fun i don't know why man if you had to look outlaws give me the crazy i'm telling you if
you've never played a golf video game they are a blast but you do have to consider when because
it actually changes at elevation as well right like there's all kinds of things and and wind if
if you're hitting playing golf right like when you hit it off the ground there may not be any
wing because the trees are blocking it but then you go up above the trees now when catches it
like there's all kinds of stuff that happens there that's that's pretty cool okay we
need to take him out he's been cooped up inside i have been i have been great up too long he's
he's settled on golf games right golf games are good i'm telling hey yeah i don't have
problems golf games see see i can't i can't even all right't either. All right.
So here's another fun one.
So sound.
Game engines give you sound, which sounds pretty obvious, right?
And it makes sense that you can mix sounds too.
So you might have music and also some sound effects that play, things like that.
One thing I thought was really interesting about some of the tutorials is one of the first things they have you do is add some randomness to sounds to speed them up or slow them down a little bit so it's not so obvious
that the sound is repeated so if you're making a jumping sound you might want to increase the
pitch a little bit or decrease the pitch a little bit just so it doesn't sound so repetitive because
it sounds really unnatural so that was just kind of funny to think that like that's a common trick
what about doppler effect so yeah doppler effect comes into play also the distance you are from things so in a 2d game
you know probably if it's on screen and making noise it's fine in 3d game like as you get closer
to things you expect them to get louder right so that kind of stuff is taken care of by the engine
what you do is at least in unity is you add an audio source to the orc you're fighting in the distance right and so if he yells something and he's like 100
feet away from you firing an arrow maybe you don't hear it so well but as you get closer
you do hear it and so when that arrow goes whistling by your you know head you hear the
arrow only when it gets close enough and it gets really loud as it passes you and all that stuff
is taken in uh to account because you know the sound system has audio sources and it takes into uh account the geospatial
distance and you get all this stuff for free like you just do a tutorial it's like drag the audio
source drag the audio file you know make it play yeah i was also thinking of examples where like
you ever played a game where uh maybe there's different size characters in the
game and so like as you jump or fall from one height to another like if you're one of the
smaller characters and you jump off of you know uh a building onto some platform below you know
it makes a small little you know but then if you're like a larger you know tanky type uh character
there's like this giant you know when when they land you know i always appreciate the attention
to detail when they when they do that yeah it's funny you may not notice necessarily that that's
what makes the game feel bad when you're playing it you know if you've ever you play the crappy
games or it's sometimes it's hard to go back and play older games but a lot of times it's the little details
like that that they just don't do and it just doesn't feel as good it's hard to put your your
your uh you know finger on it but yeah stuff like that matters uh scripting so um you know obviously
the ability to kind of add your own custom code you can't drag and drop everything um so how easy
it is to to be able to manipulate that stuff
and whether it's language like c-sharp or something like more dynamic like alua is common sometimes
uh artificial intelligence uh that's kind of a big one um you can do all that stuff yourself
but wouldn't it be nice if your game engine had some you know some kind of built-in functionality
that made it easier to do that made it easier to interact with multiple systems and kind of built in functionality that made it easier to do that made it easier to interact with
multiple systems and kind of have like a almost like a director or like one ai controlling the
whole battlefield instead of maybe individuals or maybe one of the other way you know maybe
um you know you want your individuals to act independently but be able to observe
and make decisions based on what other actors are doing and so there's a lot of decisions there a lot of it comes down to like these big kind of trees a lot of times there's visual tools
and these game engines where you can kind of drag and drop like decision tree type things it's like
if the enemy if the player is within 50 feet of me do this unless i'm you know wounded and then
do that and so you know it ends up being calling it artificial intelligence is kind of a,
I don't know,
a misnomer a little bit there,
just a bunch of if statements,
but I was going to say,
so you're not actually going to create your own Madden in January then.
No,
I won't be.
There's some people,
some people that might,
right.
I know some people.
Well,
I mean,
for me, the the one of the canonical
references that came to mind for that would be again like the racing games because you know they
they do like what separates a good racing game from a bad racing game is that like
you know how competitive is the ai that you're racing against
if you're not playing online, right?
And I swear, back in the day, Forza used to get harder
if it recognized that you had a wheel attached to it.
Yeah.
At least it certainly seemed that way.
It seemed like the AI definitely stepped up uh you know a couple uh notches
when when you when as soon as you connected that wheel and started racing against them they got
way more competitive and it was a lot of fun you know uh that's it's funny you mentioned that so
i've been kind of messing around with the car stuff a little bit um do you can just buy car
ais in the like the unity asset, the Unreal Asset Store?
Oh, that's awesome.
What does that mean?
What does that mean?
Like Audi has like, hey, here's the AI for our...
This is how we want our cars to be.
No, more like you can buy an intelligent race driver system
from Jose Garrido for...
Oh, it's on sale right now, for $42.
Normally it's $85.
There's a bunch of these, though.
Ultimate 2D Car Kit includes AI.
That one's $40.
So, yeah, it's these toolkits.
It's basically custom code, maybe a couple assets that people put together, bundled up, and sold on the store.
Arcade Racer Racing AI.
This one's $ dollars um yeah so it's just these
uh these toolkits are put together and this one actually looking at it's really nice uh
it supports the ability to not just drive the car and kind of compete with the player but also um
it has the ability to control the driver in the car so if like you were to put a camera in the
car with the uh the ai you would see it like turning the wheel and stuff and so it's got support for that stuff
so you just need to kind of hook up your models and whatnot and go and of course integration is
not you know this isn't like drag drop and you're done type stuff but if you're really going to be
spending months years something like that in the game and you don't want to spend you know a lot
of that time developing something that's been done a million times.
It's a great way to,
uh,
to just buy that.
Yeah.
And I mean,
paying $250 for something that's been flushed out pretty well or fleshed out
pretty well.
Yeah.
I mean,
you got to imagine there's probably tens of thousands of dollars worth of,
of development that happened to even get it to the point where they can sell it for
250 bucks. Right. So it's, I mean, not saying that $250 is nothing, but considering how much
time you'd have to put in to even get to that level yourself, you save yourself years of
development, right? Yep. I want to build another racing rig because I had one and I miss it.
And it was so much fun,
dude.
I got to show you something,
man.
I'm going to have to find it.
And I will,
before the show's over and we'll put a link to this thing.
There is forget your racing rig.
So I know what he's talking about.
You used to have a chair hooked up with the pedals and the steering wheel and
all that stuff there is.
And it's made specifically for virtual
reality nowadays and it's called six degrees of freedom and they've got it set up to where
you can hook this up to real racing sims and when you're driving you're sliding around the thing
right like and you feel like you're actually doing it all man i think the thing's like six grand i'm
a better driver than that, though.
I wouldn't be sliding around.
I might be drifting.
I'm telling you right now, I have actually thought about, will my wife kill me if I buy
this thing?
If I somehow find the means to spend six grand on this toy, will she kill me?
Will she kill me, or do I just have to say I'm sorry and eventually she'll forget about it yeah get over it maybe yeah well we're about to get to the big one though
for what the game engines provide oh uh networking yes yeah i always think about how the heck these
online game games do it seems so impossible to me i don't think so i don't think they can run through
anything i mean maybe i don't know kafka i think kafka is a lot of it nowadays but see kafka to me
makes sense because you know there's queuing but i almost feel like if you drop enough packets like
i i should say i want to be able to drop packets and just rely on some sort of sync job to kind of
get me back in shape like i don't want to have to plow through a bunch of messages in case i get lost you know yeah so i don't know i i actually don't know but yeah i
have often thought about that though too and like you think about when a new game title like a triple
a title is is uh about to launch right and they're bringing everything up online and you know any
resources that they're tearing
down for an older game to make room for the new game or whatever you know because like especially
like call of duty i used to i think back to that because you know there was always the the status
page right so you could like watch and see like hey if i'm having problems like is it my platform
because they would have they'd be able to show you like, Hey, the, the PlayStation platform is fine. Uh, the PC platform is fine. The Xbox platform,
not so good right now, you know, or whatever the situation might be. Right. Yep. So like whatever
they were doing there, the point is, is that it would be specific and dedicated to that,
that kind of environment. So I don't know.
I don't know if it was like,
you know,
if it was something like a Kafka like,
and they just had like,
Oh,
Hey,
here,
here's the cluster for that.
And it's just,
you know,
really not much difference.
Just that's the one that's configured for that thing.
Or if it was like really,
you know,
dedicated hardware and whatnot,
that was,
you know,
specific to that.
Yeah. I've always wondered. i have no clue yeah i would love to have it take a tour of inside that the uh the data centers for a game
center but nowadays it's probably like well you got to go to google or amazon for that right we
don't you there's the there's azure's across the street go over over there. Right. Yeah. A couple other ones quickly streaming.
So here on time of streaming, I'm talking about the ability to stream games.
You see like services like Google stadia or whatever.
A lot of them have it now where you're able to actually play a game that's kind of somehow on another computer and you're just kind of playing almost like a video.
That makes sense.
Well, okay. So there's that version of, of there's that definition of streaming,
but there's also the definition of streaming of the game where like,
I know Blizzard and steam games both do this lot where you can say like,
install the game and it'll have like a mark.
And it's like,
okay,
when we get to this hash,
the game is playable and I'll just continue downloading the rest of it,
you know,
in the background.
And even Xbox does this where like,
you know,
you can keep playing the game and it'll, you know in the background and even um xbox does this where like you know you can keep playing
the game and it'll uh you know it knows it somehow knows that you won't get to that part
before you need before uh we're you know it's needed right they're probably assuming this is
an hour's worth of play and if and if you get there or two hours or whatever,
if you get there,
then,
you know,
shame on us.
I will say like the,
the rest of us,
or what was the game that had like the 600 hours of content that was like
insane.
Uh,
Oh,
um,
Oh,
it was a PlayStation game.
I think,
uh,
gosh,
I can't remember.
You're talking,
you're talking about the role playing game.
It was,
uh,
Oh,
I can't think of it. Oblivion. Um,. It was, uh, Oh, I can't think of it.
Oblivion.
Um,
no,
that's not,
but okay.
They had 600 too,
but going back to the streaming thing,
the part that,
that is mind boggling to me is if you think about,
you've got 24 players on screen playing online,
shooting at each other,
like a bullets traveling across a map,
right?
There's all kinds of math and all the,
all kinds of things that have to happen super fast with these 24 interacting
players moving around,
shooting,
doing things like that is mind boggling to think about how all that stuff
stays in sync.
Well,
that goes back to the networking conversation.
I'm always baffled about how does
it do that you know especially like you think about the massively uh online multiplayer games
and like how do the physics even work for that you know like how does it know that like when
that bullet that you mentioned that just got shot you know it's it needs to go uh you know, it's, it needs to go, uh, you know, a hundred virtual feet before it's going to hit
something. Yeah. I mean, that it's insane how it doesn't. That's why I like, I considered the
networking to be a big part of, uh, you know, how, how that part works, but maybe it's more like,
uh, just the messaging protocol and, you know, not necessarily about the, like the,
the backend part of it. Well, that's the thing, right? Like if this engine is controlling all
of that, then maybe it's one of those things where you just say, Hey, this is what I want it to do.
And it handles all that minutia for you. So you don't have to worry about it. Right. And that's,
you know, I think that's what he was saying is where that it brings part of it to the table.
Yeah.
Now I haven't gone back to the streaming, so I haven't played games like Stadia, but I have seen an experiment around with like the Steam version of that. But I kind of, at least with the Steam version where I wasn't impressed because it was more like you're just streaming it from your your home machine your
home desktop you know so it wasn't like oh you know but that's not i know that's not what he's
talking about you know that like we're talking about um the case of uh like the stadia i can't
remember the other versions that are out there yeah google stadia is the one that i remember
what you're talking about is actually the steam deck i think no not steam deck no definitely not the steam deck um
but i have that and it actually worked really well it's essentially the same thing as google stadia
except it's all happening on your local network with your own pc right so well it's sort of the
same really except like your local PC was on running that game.
Yeah.
That's what I'm saying.
If anybody happened to walk into the room,
they're like,
Hey,
well that's weird.
Yeah.
It's,
it's,
I'd imagine that similar what Stadia is doing in,
in their Google data centers,
right?
Like there's a server up there that's dedicated to playing your game and it's
just streaming the output.
And when you'd make your control movements or whatever,
then it,
then it sends those requests back to the server and,
and it's,
what's doing all the heavy rendering,
right?
Like it's pretty impressive when you think about what that technology does.
Yeah.
I mean,
at that point though,
it's,
I,
the reason why I'm not too like excited about it though,
is it kind of sounds more like just a fancy RDP session.
That's really what it is.
And really, your network latency is going to make or break your experience.
100%.
100%.
And the other reason why I hadn't really jumped on it big,
unless you have a plan with no data caps,
I have to imagine your internet plan,
I have to imagine that's pretty heavy in the amount of data that's going back and forth.
Plus the video coming across and all that.
And if you're doing that quite a bit,
that's a lot.
Well,
speaking of in the Slack community,
which by the way,
if you're not on our Slack,
you should,
you should definitely hit it up.
www.codingbox.net slash slack but um
i forget who started the thread but somebody started a conversation where they they were
upgrading their internet and they were saying that they noticed that now at&t offered up to
five gigabit for their area and i was like when does that come to my house? I can't have it fast enough.
I need it already. Hey, I will tell you though. So as somebody who just had to get new internet
service and I got, I mean, the companies basically push you up to their fastest plan because it's
like 20 bucks more than their lowest end plan. Right. Um, so I got the 1200 megabits you know what stinks about it that you don't realize
when you go to get it is you have to upgrade all your hardware all of it because first world
promise man because well like your cable modems or whatever that you had previously they usually
only had gigabit ethernet in it so so you can't even take advantage of it so you got to go buy
all the latest greatest hardware and most of it only supports 2.5 gigabit ports you know the problem
with owning the lamborghini is that you just can't keep tires on it and you know you got to buy the
premium gasoline and then you go through it a lot man speaking of which do either of you know
how much it costs to have the oil changed in a Bugatti Veyron?
Well, geez, probably $150.
$150 what?
Dollars.
Dude, that's what it costs to do it in an Audi or a BMW.
No, no, no.
I'm going to say, I mean, the tires are like $25,000.
Oh, my gosh.
And you're supposed to change them every year, whether you've driven the miles or not yep yep
yep uh because those tires are specially rated for the insanely high speed that that veyron can
get to but no seriously you wait did you didn't did you just say bugatti period or were you i said
the veyron i said the veyron i mean i think that think that if you had that car, $15,000, $20,000 is probably not.
It's in the ballpark of $20,000.
From what I've read, and I can't remember, it's been a while, but I believe they have to pull the entire engine to change.
I remember Ferraris were like that.
Ferrari, this was more than a decade decade ago so it was considerably less at
like you know a meager six thousand dollars for the oil change but part of part of because of the
being a mid-engine car and where it was they had to lift the engine up out to in order to get to
the parts that they needed to get to crazy time all right so i'm sorry for the sidetrack jaycee
is talking about cars right he's back to put us back on track here.
So what do you have up next?
I would be legit.
Okay.
So scene management.
So scene management is the ability to flop between kind of different – it's basically a state machine.
So maybe you have a scene for your start screen, a scene for your – I don't know.
Your options, a scene for your start screen, a scene for your, I don't know, your options, a scene for each level.
It's up to you, but basically the ability
to kind of like quickly dump
and load a set
of functionality. So like
in Ms. Pac-Man, it would be the difference between
the blue level and the pink level.
Maybe. You know, I think
I would be lazy with Pac-Man and just do it all in one
scene, but
I'm trying to think of a good example.
Take it away from me.
Fine.
Fine.
Be that way.
We can't have nice things, Jay-Z.
Total crap, man.
Total crap.
Have you ever played a game that had like mini games in it where it's like you go and
you go and pick the lock and you've got to solve a little puzzle?
Maybe that puzzle would be like a different scene.
Do you remember?
Did you guys ever play?
I'm going to assume you're going to say no to this.
But did you ever play the Lego Star Wars Complete complete saga no not the complete saga that that game was
a it was ridiculous for it being a game for kids like it had some complexity about it but uh there
were definitely a bunch of like mini games within the game that were like that, that like you would find some hidden door,
uh,
because you happen to like just randomly destroy bricks in a,
in a world that in like the area that was just considered like a free Rome
free world area,
you know,
it wasn't really one of the levels and,
and you know,
but if you just happen to go bashing around things,
destroying bricks and then you're like,
Oh wait,
that's a door.
And you know, yeah, there you are into a mini worldhing around things, destroying bricks. And then you're like, Oh wait, that's a door. And you know,
yeah,
there you are into a mini world or a mini game.
Yeah.
Very nice.
And you imagine sometimes like,
depending on,
you know,
how big that,
uh,
the other moral might be like,
maybe you want to keep the other one on the back burner.
You know,
maybe you don't want to totally just destroy it.
You want to keep it around and swap to it quickly.
Or maybe you need all that memory.
So you just like wipe the whole thing is do a big load. Umematics is another one if you play a game like a metal gear or something
tons of movies or whatever um ui this is a fun one so user interface a lot of times if you think
about like um you know showing your score in mario or something that's actually really hard to get
right and things like buttons
selections form tools because so much of that uh needs to be visible on um on your computer in a
different way so like if i've got a widescreen monitor and the camera's zoomed further out on
my character i probably just see more of the level it's not a big deal but my form needs to still be
visible regardless of my resolution.
So you really need your UI elements to kind of scale with the resolution in a way that it's just different from the rest of the game.
So if I've got a button for, you know, starting a new game or something like that needs to be sizable regardless of my resolution needs to be readable, needs to work.
You know, it can't be clipped off the edge of the screen if my monitor is too narrow.
The example that comes to mind for this, which is kind of silly, maybe,
but like if you were to think about mobile games, right?
If you didn't use any kind of an engine, right?
And you just had, you know, say like a bunch of rectangles stacked on top of one another, and then as the screen rotates, could have the rectangles overlap as they rotate so that the center of the rectangle above would meet the edge of the rectangle below, right?
It's where there would be half overlap're drawing the rectangles, they start to separate and move to be drawing the rectangle at an angle within that overall square.
Then you end up with this like they separate apart and like there's this weird shrinking thing.
And I mean I'm speaking mostly for a friend because I would never admit that I would ever have done this.
But, you know, it's like the weird kind of things like that that you can easily overlook and think like, oh, no, like how hard could it be to draw a rectangle on the screen?
And until you run into like, oh, yeah, but these things rotate.
Yeah.
So, yeah, UI can be extremely hard. So, hard so yeah yeah it's really hard to get right and yeah it's it's kind of funny especially like doing so much
web work like to me like you know forms all day long every day you know like it's not a big deal
to do that but on a game it's just different because of just the different kind of concerns
and different tools and you know different things in play here so it's kind of funny um oh one last thing i wanted to mention here a lot of times we talk about game
engines particularly like the more popular ones they also include development tools whether it's
their own standalone ide like unreal unity or they have plugins if you use like you know vs code or
whatever for other engines so you know it's
it's not just the engine that you're using it's also the tools so just thought that was pretty
cool way of thinking it's not a distinction of engine or anything it's just kind of neat to think
that like these frameworks uh kind of come with that sort of thing and especially like you know
i keep talking about unity but that's just what i'm used to like um there's so many different tools
and plugins and things you can use to like uh work in a good way so like if you're working on a scene and you're playing
the level fine but you can also just click on a model and double click and it brings you up this
cool model view and so you can kind of mess with it there if you just want to listen to sounds and
you know find like change your sounds around a little bit you can just go and it's got an audio
player built in so it's just got all these like really nice tools that you need you don't really think about having to do that uh separately if you were
to try and build your own game engine or build your game from scratch like there's a lot of
tooling that you're going to be missing people do it though and so then just real quickly uh because
i know i've been i'm very unity focused but i just want to kind of mention some of my favorite
things that are just totally outside of that that these engines can bring in.
Unity has an asset store that you can just kind of go and buy stuff and then load it via package manager.
And even some of the functionality comes in via package manager for things that are optional.
So if you want their high resolution detailed pipeline, that might be an add-on package that you either start with the template and say i want this from the get-go or you can go add it later via the package manager but they don't want
to just dump that into every game because they probably have 20 different tools that most people
don't need but are there and so they don't want to necessarily burden the id with all that
functionality and all those extra buttons and controls just overhead
um pro builder is a tool that i like for creating polygons and i forgot that's my tip of
the week so i'm not gonna talk about that so terrain is really cool it's uh it's it gives
you a bunch of like brushes for creating terrain so if you want to like make mountains and forests
and rivers and things like that it's a really cool way of doing that stuff and surprisingly quick
to do it and the tools that they give you it it's like I'm sure you've probably seen it like Minecraft or in a SimCity or something.
We can like change the terrain or an animal crossing.
You can like make you go up or make you go down or use a brush or add trees or add trees to the map, like add random trees of size between this and that.
And it's got all that stuff.
And it's really easy to make it look bad
but it's also probably you know some people uh who are talented and skilled and you know work
hard at can make it look really good uh animation is really um animation is a big deal for characters
uh they have an animation manager we kind of double click on a model and say like let's see
what it looks like when they're laughing.
Okay. And then let's see,
double click.
And okay,
now they're walking.
Let's see what the transition from walking to jumping looks like.
And you can actually set a little kind of condition.
So if you're like,
um,
maybe like a walk and a jog and a run,
you might say,
if my speed is greater than this and transition to this next animation,
or I can only go from,
um,
you know, the standing to a crouch animation. I can only go from, you know,
the standing to a crouch animation.
I can't go from running to crouching,
something like that.
And you can control all that stuff,
basically in the state machine and just kind of drag some boxes around in order to do that.
And what that really does is it gives the ability to kind of contain like
compartmentalize that stuff.
So if you've got an artist working on animations and they don't have to,
you know,
muck around with your code, they can just kind of do that stuff in isolation and then you can an artist working on animations, they don't have to muck around with your code.
They can just kind of do that stuff in isolation.
And then you can take over and do it,
which is just really cool.
Or it just makes it easier to work
outside of the context of a game.
So I don't have to be running a game in a level
trying to find things to run and jump and climb on
in order to take care of all my actions.
Listen, I don't know about you,
but I have learned a lot about game development from watching mythic West.
And I promise that's nothing about how they did it.
That's right.
Sorry.
I just finished.
I just finished that.
The show is so great.
By the way,
that should be tip of the week material right there.
If you haven't watched mythic quest,
I don't know why you haven't watched.
You'll need to pay for Apple tv or go buy an apple device and
then you'll get it for a year and then go watch it yeah yeah that's good uh analytics like google
analytics what are people doing in your games uh so that's like another kind of thing that like a
game engine might add just thought it's interesting also so we can add different kind of ads uh ad
systems so the ability to integrate ads into your game and break a certain points.
And also the,
the ability to kind of build and target different platforms.
So like,
uh,
you know,
you've got to pay for it,
uh,
in order to,
to get all of the,
uh,
the consoles and stuff,
but,
you can target multiple platforms.
So you can build for Xbox or iPhone or a switch into the switch,
uh,
things like that.
So it was just. I didn't know
that. So PlayStation, Switch, all those,
you could do all of them with Unity?
Yeah. Just different build
targets. That's pretty awesome.
Yep. And you just want to,
sometimes they'll have their own kind of requirements for things
you have to be in order to get certified
for the stores and stuff. So you have to go register
for the Nintendo store and
you have to register for the PlayStation store.
And so there's some,
some extra steps there,
but yeah,
I mean one tool to build a wall.
It's great.
It's insane.
It's a little,
it's a little bit crazy that you could write that one,
one program and run it everywhere.
Yeah.
And,
and one of the reasons I'd looked at unity in the past too,
was if you want to do VR stuff,
they're set up in the IDE to handle it.
Like you've got all the tools
that you need right there to do it.
Yep.
This episode is sponsored by Linode.
Simplify your infrastructure
and cut your cloud bills in half
with Linode's Linux virtual machines.
Develop, deploy, and scale your modern applications faster and easier.
Whether you're developing a personal project or managing larger workloads,
you deserve simple, affordable, and accessible cloud computing solutions.
Get started on Linode today with $100 in free credit for listeners of CodingBlocks.
You can find all the details at linode.com slash codingblocks.
Linode has data centers around the world
with the same simple and consistent pricing,
regardless of location.
You know, Linode's been doing this since 2003,
almost 20 years now of hosting.
They've been doing a bang-up job,
and we've been using them for a long time.
You ever think about hosting your own build server? Great spot to do it. What about a game
server? You want to keep track of your high scores or I don't know, just keep track of your
player logins or whatever. Great way to do it. And $100 and free credit will get you a long way.
You can easily spin up your own csgo
it's like right there in their marketplace and you know what how about this though this is pretty
awesome because we've talked about like the the block storage that you can do with linode
now you know our love of ssds right do you know that they're using MVMEs for their block storage? They just did a global rollout of it.
MVME M2 for that storage.
I so badly want to see that data center in person because that sounds amazing.
But yeah, so like Jay-Z said, if you wanted to spin up your own Jenkins server, you can.
And let's talk because – but you can.
You absolutely can.
You can go to the marketplace.
It's super easy.
CSGO, like Jay-Z said, or whatever other games you want.
But there's also like – they make it so easy.
They got stack scripts so you can automate your deployments.
You want to spin up your own Kubernetes,
it's literally a click of a button. You just go in there, you click on the Kubernetes,
click on create cluster. You're like, oh, I don't know. How many nodes do I want on it? How much memory do I want it? Select some more buttons, boom, done. That's the great thing about
using Linode is how easy they've made their platform. You can choose the data center nearest to you. You also receive 24 by 7 by 365 human support with no tiers or handoffs,
regardless of your plan size. And you can choose shared and dedicated compute instances,
or you can put your $100 credit on S3-compatible object storage, managed Kubernetes, and more.
If it runs on Linux, it runs on Linode.
Visit linode.com slash codingblocks
and click on the Create Free Account button to get started.
Again, that's linode.com slash codingblocks.
Okay, well, here we go.
Let me prep for this.
Hi, everybody.
Evening, dear listener and thank you for joining
us here at
www.codingblocks.net
slash review
and if you would be so kind
as to leave us a review if you
haven't already we would greatly
appreciate it
and forever be in your debt.
This one goes out to our listeners across the world
that have yet to leave us a review.
I should have said that.
That would have made it better.
That's right.
Yeah.
All right.
Well, yeah.
So with that, we head into my favorite portion of the show.
Survey says.
All right.
So a few episodes back, we asked, do you have TikTok installed?
And your choices were, heck yeah, I love those videos.
Or nope, no way, never.
All right.
So,
uh,
this is episode one 73.
So according to,
to tuckos trademarked rules of engagement on you are first.
Hey,
I have to point out,
we,
we should have had an option on here that was like,
I did until I heard you guys tell us how evil it was.
And then it got deleted.
Um,
but I'm man, I honestly don't know i'm going
to hope that people said nope no way never and uh because i got that mathemachicken in me i'm
going to say that we're going to win at 51 percent that's not how that works
no i really should have said 49 percent right but but yeah uh all right well this is tough uh you know
i especially love the little orange ones um the uh the green i guess this man those are gross
but uh yeah so i'm gonna say yeah i love those tic tacs at 51 percent
i was wondering where the orange and the green were coming from.
Okay, got it.
Orange are so good.
They are good, yeah.
Okay, so I'm trying to find – I forgot to – I'm in the background scrambling to get to the poll here,
and I messed up in the notes here as to what that number was.
Okay, I found it but uh
you both said 51 but he likes the tic tacs and i said we don't okay okay so alan says
nope no way never 51 and jay-z says heck yeah i love those videos 51 he should have gone 49 though
that's that's the way it should have been. Right?
Yeah, this is the first time ever
that we've had
a split vote that actually makes
sense. And so
therefore, on those grounds, I object
to this contest.
This is wrong.
Sustained.
Fine.
Okay. Tactical. Okay okay so then the answer is
alan wins wow all right 91 percent wow no way never wow yeah so at least among our listeners
it's not it's not that popular.
So, you know, hey.
Do we have a link for why you should consider not installing it?
We probably should. I don't think we ever talked about it.
Yeah.
Click the show notes.
We'll have a link to why you should not install.
Yeah.
Let me Google that for you.
Yes.
Right.
So Tic Tac Privacy So Tic Tac's privacy.
Jay-Z's telling you to come out with the wrong results.
Yeah, what's the problem here?
I don't understand.
Tic Tac seems fine.
Right here, tic-tac.com.
We do not collect any personal information.
Their nutritional value is right there.
That's right.
That's right.
TicTac.com.
It's all good.
It's all good.
Yeah.
Well, whatever.
They actually do have a privacy policy.
It's pretty funny.
Yeah, I went to the doctor the other day.
I'm like, Doc, you got to help me.
I'm addicted to Twitter.
And my doctor was like, I don't follow you.
Very nice.
Good delivery, sir.
You're welcome.
That's just from dad jokes.
Dad jokes killing it.
Dad jokes.
Good one.
But I do have another one from the Slack community, though, if you're ready for it.
But of course, I'm ready.
Okay.
Let's see.
This is not your survey, but let's see if you can figure this one out.
Do you know what,
do you know that t-shirts is actually short for Tyrannosaurus shirt?
Is that true?
It's absolutely true.
I read it on the internet.
No,
no,
you don't,
you don't know why?
No,
it's because of the small arms okay okay that one's from lars thank you lars thank you yeah so okay so i don't know why but for this
episode uh we decided that this episode survey would be about container management because nothing screams game engine like containers.
Yes, yes.
I mean, you know, you think about it,
they're probably running in Kubernetes
and spinning up a bunch of pods on the fly.
You know, they have some kind of container behind them.
So, okay, all the formalities aside,
what's your container management of choice?
And your choices are good old reliable Docker desktop or rancher desktop.
I like my container management free and open like the wild West or pod man
because the little otters logo is so cute.
Hmm.
This will be a good one alright so
let's talk about
the game developer industry
so again
I've learned everything that I needed to know
about this again from Mythic Quest
and I'm not so sure I want to
work in that industry
from what I gather
I just read a you're muted Jay-Z And I'm not so sure I want to work in that industry from what I gather.
Yeah, I just read a book. You're muted, Jay-Z.
Jeez, obese.
I just read Blood, Sweat, and Pixels, which is in part about how terrible things are across the industry.
Do you recommend that book?
Yeah.
Yeah?
I should have had it as my tip of the week. Isn't it a real biography or autobiography about somebody who works in the industry or what?
It went over nine or ten games, a lot of games, and just kind of told the story of different games.
Some of them got canceled, some that were smashing successes, and just basically talked about the kind of history of what it took to get those games to delivery.
And sometimes they were delayed massively for years years sometimes they had to release much quicker than
i thought because they're running out of money and so they had to rush and it kind of the the
point of the book was kind of that uh for some reason there's something about the game industry
where like every single release is just like uh almost like uh a, unique disaster crisis.
And,
uh, you know,
I didn't really offer any,
uh,
reasons behind that,
but he's got the guy who wrote it,
uh,
which we'll have a link for it.
Uh,
he just put on a new book,
high bridge.
So maybe,
uh,
maybe he's got some,
some answers now,
but Jason Shire,
Shire,
I think it is.
I have a so close.
Yeah.
He's got a podcast too.
Come on. He has a podcast also. I was so close. Yeah. He's got a podcast too. Come on.
He has a podcast also.
Yep.
Triple click.
Triple click.
All right.
Oh,
I like the name.
Yeah,
it was good.
It's a good show.
All right.
Well,
so I got together some stats here.
I thought it might be fun to kind of do like a little kind of guessing game.
You know,
whatever,
like not a formal game,
but just put together some questions I had that went on,
looked at the answers and I thought it'd be fun to like kind of Lord it over you guys.
Awesome.
So how big do you think the gaming industry is?
We talking dollars?
Yeah.
We're turning dollars.
I mean,
because it's already a known thing that like Activision kept breaking records
over and over and,
and had bigger releases than Hollywood ever did.
So it's way bigger than the movie industry.
Yeah.
By all.
Do you have a guess?
Maybe.
Yeah.
What's the factor?
How many times?
I mean,
I would say it's,
it's probably like two to three times the movie industry.
Okay.
Yeah.
So I'll tell you.
So movies are $41 billion last year.
Yeah.
So 150,
200 billion,
150 billion. Yeah. You guys are right about it. So $150, $200 billion. $150 billion. Yeah, you guys are right about
it. So in 2019,
so the movie's $2020 to $41
billion, but you know, it was a weird year.
But the game industry
in 2019, pre-COVID
gaming industry was
$150 billion.
Pre-COVID. Let me tell you, COVID
did some things for the gaming industry.
Their estimate of the game industry for 2025 will be $250 billion.
Wow.
So, they're switching it to getting close to double from 2019.
Yeah.
So, already, it's, you know, three, four times bigger than the movie industry as a total.
Books are $25 billion.
Here's some fun numbers I looked up.
You know, Netflix.
We talked about FANG companies, like these big tech companies that are kind of known for like hiring and pushing things forward netflix is a seven
billion dollar company wow yeah and like i think i tend to think of them as like putting out a lot
of really high quality kind of you know you know essentially television but uh shows and uh yeah to put that in uh perspective uh nintendo is about 14 billion
dollars a year they're two netflixes they're two netflixes yeah they should be the n and fang
by the way uh microsoft who is not part of me fang the acronym uh they're 160 billion
further gaming or just Microsoft? Just total.
They do
break down.
You can see what sector it is in, but Xbox
is combined with some other stuff, like the consumer.
It's kind of hard to say. I didn't pull
their stats. Sony, also
mega company, but they also
make a lot of hardware and just a lot
of different stuff. Televisions,
refrigerators.
Yeah, so big money, much bigger than movies.
Wait, when was the last time you saw a Sony refrigerator, sir?
Yeah, I was going to say, do they make a refrigerator?
Do what?
Do you guys still have a Sony refrigerator?
He just said it and moved on.
I was like, hold up.
Yeah.
I was like, are you thinking of Samsung?
I think he is.
I was thinking of Samsung. Yeah, that's fine. I mean, you know hold up. Yeah. I was like, are you thinking of Samsung? I think he is. I was thinking of Samsung.
Yeah, that's fine.
I mean, you know, Sony.
Oops.
No, no.
Yeah.
They make TVs.
All right.
Yeah.
Moving on.
We're good.
Oh, man.
Yeah.
So anyway, it's kind of funny.
Like my parents always kind of had the notion that like video games weren't, you know, like
we're just kind of like a small hobby.
And so it's just kind of funny to think of like being so much bigger than you know like the movies are it's
kind of everywhere it's kind of funny and music industry i don't even know if they make any money
anymore unfortunately well you know you know the crazy part about this throwing these numbers out
there is and i've thought it forever like game development has gotten so expensive right because
the art is so much better.
The requirements, like people don't want an unpolished game.
And we were kind of locked in.
Like you guys remember back in the Sega Genesis days and all that, like the games were 30 bucks.
Like that was a high-end AAA game.
And then it bumped up to 50 bucks, you know, I don't know, a decade or more ago.
And then it got up to 60 and it kind of stayed there for a long time.
Those days are gone.
And now 70 is sort of the new norm, right?
So, I mean, 70 is the new 20.
Yeah.
We're starting to see it now.
And so what you're saying, like where it was just this hobby, right?
That does, you know, whatever.
I'm going to let my kids have their fun.
Now, this this is a legit industry with a lot of money that's going to get thrown around.
Yeah.
How many companies do you think there are game development companies?
And I was only to find numbers for the US for this.
Unfortunately, how many games like we talk in the and AAA?
Yeah.
And it could also be mobile plus desktop plus console.
It could also be tools companies too, so just gaming industry companies.
I'll say 500.
Yeah, I mean, if you're counting all the mobile kind of game development,
it could just be like a single person company.
I mean, you've got to be in the in the thousands yep so 2,500 companies 220,000 jobs wow yeah but you're
ready for your draw drop okay those numbers were from 2015 oh oh yeah i'm willing to bet it's gone up quite a bit probably 2015 was like
was the playstation 4 even out in 2015 yeah it was it was okay yeah because we're on the ps5 now
i think they were on that for about 10 years but i mean you were talking about like the
just rewinding for a moment though about the size of the industry and the development everything
though but like game development has made huge impacts in movie development too because like i mean honestly have you ever seen a marvel
movie it's like one large cut scene from a video game yeah right with like all the special effects
and everything that's happening there like at some point all the cgi like what's really the different about it than from a game?
Yeah.
Yeah.
Me.
But yeah, I'm willing to,
there's the war games there.
So here's a,
here's a fun stat.
How many games were released last year on steam?
I just,
we'll just limit to steam on steam,
man.
But that's a lot of indie devs that can easily deploy to Steam, though.
I'm going to go with Steam.
Steam does have an application process where you have to describe your game.
It has to meet certain criteria.
I'm going to go with what your 2015 number of 2,500.
Yeah, I'm going to say 2,500 games last year.
Try 10,000.
Wow.
Last year.
Yep.
And they're expecting it to increase and that's why games
that's why rockstar can afford to send me like all of these cool stickers right they are really cool
all of the cool color variations and the amazing hack is you know 10 000 games you know like how
many billions 250 billion in 2025? God. Yeah.
I'm going to go get into the game industry.
It's competitive.
Yeah, I was going to say.
Yeah, like one minute ago, we're like, it's a complete disaster.
Don't work in this tough crunch.
So how about this?
What do you think about the breakdown of sales for PC, console, and mobile games?
Mobile definitely, I think, is high on there.
You don't want it to be, but it's so easy to do those in-app purchases, those small little microtransactions that I think make it the dominant factor.
Yeah, I would say mobile, then console, and then PC.
I would agree with that yep uh mobile is about 50
percent wow of uh total and pc is uh less than console but the pc and console are kind of closer
so um the stats i got it's using a different number from the 150 billion so it was different
article but we got mobile at 90 billion pc at 35 and console at 49
that clash of clans i mean it ain't gonna play itself so i mean you gotta like invest some time
some money yep yeah get stuck on candy crush you're gonna spend that buck to get past level
you know whatever yeah yeah uh how long does it take to make a triple a game oh i remember a call of duty they they
they were like a three-year cycle if i remember right like they already had the next game you
know planned yeah like whatever like the team that just developed a game this year like they
would start immediately focusing on the next game that would be three years out yep yeah use multiple
studios so yeah i couldn't find a good average on this that was also part of the reason why like immediately focusing on the next game that would be three years out yep yeah use multiple studios
so yeah i couldn't find a good average on this that was also part of the reason why like each
game versus would be no no it was always owned by activision but like it might be uh released by
like i don't know like a bethesda was the game developer that activision uh you know hired for
one version of the game versus another game yeah Yeah, I totally forgot about that part.
Yep.
So, yeah, basically what I found is like one to ten years.
Ten years is on the long end.
There's definitely been a few cases of those,
and those have mixed results.
So being in development longer doesn't necessarily mean better.
Like Cyberpunk, obviously, you know,
was out there and it was in development for nine years,
and the launch was pretty rocky, unfortunately.
Now, there are some solo
developers that have kind of
made some big games like Axiom Verge,
if you're familiar with that. Braid was a breakout
as one person.
Minecraft is probably the biggest
example of a game that was made by one person.
Flappy Birds.
Flappy Birds, yeah.
Yep, Stardew Valley is the one I think
a person worked on for years.
Undertale, another one. So, you know,
definitely kind of indie games, but
it's pretty cool. One thing I kind of
took away from reading about this is
you want to make money in the games industry,
like sell shovels.
You hear about that? The people
who made money during the
california gold rush it wasn't the people out there digging people selling shovels so the
utilities like what you were talking about earlier the game driver engine or whatever
yeah so yeah there's a lot of money to be made just in the kind of the tooling and even like
things like legal services um you know marketing all, all that sort of stuff. Like there's money to be made.
It doesn't have to just be building games.
I mean,
look at it from the point of view of like steam,
right?
I mean,
that's exactly what you're describing,
right?
Like they're,
they're making money off of you making a game and putting it on their
platform.
Well,
the Apple store,
right?
That's,
that was one of the things that,
I mean,
mobile development,
people were mad at them forever because they take a 70 no a 30 cut of everything that gets sold but unless
you're epic in which case you don't do it right but but you're getting those games in front of a
lot of eyeballs that you wouldn't have had it's the reason why people sell on amazon right it's
the same exact phenomenon right yep i mean you lose a penny on this sale and if you lose a penny on
the next sale i know where you're going sir if i lose a thousand if i lose a billion pennies i make
money yeah that's right that's how it works no no it makes sense it just math i'm a chicken
people are gonna be yelling at us right now over driving down the road right road rage
yeah yeah it seems like that sometimes like
i don't even know like pretty much all my favorite like the companies i spend the most money with
like none of them are making a profit i don't know what the heck's going on i remember amazon
didn't for forever forever tesla like their stock price kept going up and up and up they didn't
turn to profit until recently like none of it doesn't make sense. I don't understand the world.
Yeah.
Yeah.
Let's just start a business and not make money and let's see what we can
make it make.
I mean,
in the nineties,
all you had to do is like start a business,
get a domain and then buy a Superbowl ad.
And you were like,
boom,
we've arrived.
You know,
a little sock puppet.
Yeah.
That was it.
That's it.
Yeah.
So next time, just kind of list of popular game engines we've talked about this before so i'm not going to really um you know kind of go to these uh in
depth but just want to kind of call out some highlights so unity is obviously the one i keep
talking about uh supports 20 plus platforms i don't even i can't even name 20 platforms like
is blackberry in there like what the heck uh so that's interesting uh i did find a really nice um article that went down i saw this on
hacker news a couple weeks ago that went through and broke down uh the game engines used on steam
and they figured out that 50 of all games on steam uh coming out now are made with unity and unity and like unreal is like the next
biggest aside from other and it was like 10 so it's a big jump big jump down and there's a lot
of stuff just kind of custom and you know just kind of smaller engines that are in there too
but yeah it's just kind of crazy to see just how much Mindshare that has. And so I've got a list of Unity games that is on Wikipedia.
Surely not complete, but it's a ton of them.
It's kind of crazy to see.
And also looked up the licensing fees.
So for Unity, the pricing goes anywhere from zero for free,
they have student plan two, up to 2400 at the max like enterprise level with
the support plans and all that sort of stuff and it includes like free assets and training
and all sorts of other stuff but there's also a plan right in the middle for like 300
and the deal is you can use the free plan and you can make money you can publish your games
and uh you're totally good on the free plan if you're making less than or have funding less than $100,000 a year.
Which, not bad.
Free tool for $100,000?
All right.
Yeah, that's not bad because basically what they're allowing you to do is go build the awesome game that you want to build.
And if you do get successful, hey then then give them back a
little bit right like i actually like that business model there's there's nothing wrong with that in
my mind yeah yeah and what's crazy is um the the first step up from that is three hundred dollars
a year so if you make a hundred thousand dollars of your game pay us 300 yeah like happily to be
mad about that right yeah happily that's like saying like just buy us a beer right that's the equivalent
seriously and again i go back to the whole you know you're paying 300 a year and it's weird you
know like when you're younger you're always trying to get things for free as you get older and you've
spent so much time developing stuff like jay-z just did this with the canine stuff right like
it's so useful to him that he was like you you know what, I'm going to pay this guy for having done this amazing work. And that's what you start to realize is,
man, paying $300 a year for a tool that saves me, you know, a thousand hours really makes a lot of
sense. Yeah. And like my beer analogy, I do want to point out that like, clearly you'd have a
drinking problem. If you know, your idea of a beer is $300. So, or that,
but I want to see somebody about that.
It might be 300 Jamaican dollars,
good stuff,
300 Jamaican dollars.
I mean,
unless it's like a really high end beer that would cost that much,
but I don't really think that beers get that kind of extreme happy van ribbon.
I'm just saying like, seek some help.
The next engine I was going to mention is Unreal.
The way I kind of thought of it is I got a list here of AAA games.
Not AAA games, just Unreal games.
My kind of way of explaining that is just like think of if you're a gamer think of
10 games you know like think of like the 10 best games you can think of and probably half of those
use uh triple a and the other half are custom so unreal is definitely the kind of more enterprisey
kind of um engine it uses c++ uh it's got a ton of games that were made with it it's been around since like
whereas i lived in the 90s is basically when i first got to start and so i i instantly think
of the unreal tournament games which is what this engine came out of yeah and the thing is
is like somehow the engine surpassed the game yeah yeah, we haven't, like, I remember Unreal Tournament from the 90s.
And yet, Unreal Engine has still been a thing for decades after.
It was that good.
Yeah.
And I don't even think, they never sold poorly.
It's just they were, like, they got making so much more money selling shovels.
I do want to point out, though, that a new Unreal Tournament is on
its way. Interesting.
Oh, I didn't know that. Yeah, I'll put a link
here. The pre-alpha
season starts.
You can download
for free.
That's nice. And a Fortnite has got to be
probably the biggest one.
This came out of nowhere recently. recently i guess i'm not not out of nowhere but
it's just such a smash hit and make so much money um here's uh here's unreal's deal uh so
triple a quality like some of the best games you know in the world are made with unreal
super high quality you're gonna be doing c++ They do have an asset store. Everything I talked about in Unity, they probably have to.
Now, they do charge
a royalty fee. It's negotiable,
but they want
5%.
Oh, sorry. Excuse me. 5% after
you start making a million dollars.
Oh, geez.
Yeah. After your first million, 5%.
Yeah, fine.
Yeah. That's fine of course they
have lesser plans that you can pay for you know buy seat and negotiate and get some boris contracts
and all that sort of stuff if you do pay to you get access to the source code of the engine which
i always thought was really cool so if you needed to go in there and really tweak it or change it
or make it your own you know if you need to do that we talked about that optimizing for those
triple a games like you can do that so You're going to be paying for it.
I wonder like how their licensing terms work though.
Like is that a million in, you know, gross sales or net profit?
Because the reason why I question that,
I know that we're like, you know,
you're like looking at a gift horse in the mouth,
you know, kind of situation you might argue.
But, you know, once you get to that first million, like how much investment did you have to spend to get there?
Like that 5% may still be a big burden.
You know what I mean?
It could be.
But I mean, if you think about it like this, 5% of a million bucks is $50,000, right?
That's less than the cost of a developer.
So, I mean, you know, you're getting a lot for what you're getting out of it you know yeah i mean you definitely obviously if
you're pulling in a million a million you've got some serious potential uh to to get going i was
you know curious how's that sometimes the details matter after it's after you're a million after a
million right so after you make a million now you're
gonna drop 50 grand a year or whatever right so you make that first million and now you make a
million and one dollar and now they're like okay you're over a million i want it and so that's why
i was saying like yeah well a million want it so that you give them you give them five percent of
that one dollar oh so we're talking about like tax um yeah it's a royalty
after your first million oh okay that's fine so for your second million dollars you're paying 50
okay okay i like that better because right on like i said like you know you could have had a
serious amount of investment to get that first million that you're still trying to recoup so
that that seems much more generous i like it yeah yeah that's awesome imagine like you're bringing
starting to bring some money and you're happy you're happy and you're like oh wait it's getting close
to a million dollars slow down slow down kill the game yeah take it down rename it
so the next one i got on the list is uh godot which uh spelled like godot i only recently
googled how to how to say it uh but it's open source and i bring it up because it's growing
in popularity it kind of looks like a similar model to like unreal and unity but uh the cool
thing about it or the thing i think is really cool about it is that you can use a variety of
different languages for it it's got bindings so At its heart, it's doing C++.
It's native, but you can write your
stuff in a bunch of different
ways, which is pretty cool.
I looked at using it with Kotlin for a little
while ago. There was actually some problems with using
Kotlin and JVM-based languages,
mainly around
Godot.
Just like the others, you can target different things. If you want to target
the WebGL, then you can do that, go, just like the others, you can target different things. So if you want to target the web,
uh,
web GL,
then you can do that.
But Kotlin didn't work very well because there wasn't a direct path to go from Kotlin to JavaScript.
And so it was kind of like a,
one of those weird stipulations where it's like,
yeah,
you can use Kotlin,
but not if you're publishing to the web,
which if you're doing a game jam,
that's your primary target.
So,
yeah,
this is the one that I,
that I had actually done last year when we did the game jam. And I primary target so yeah this is the one that i that i had actually done last
year when we did the game jam and i was impressed with it like it has its own little ide and i mean
it's surprisingly well polished for something that i'd never even heard of yep yeah it's really
nice i mean really popular i mean super popular like so uh well i should say rising in popularity it's the one percent of the one percent yeah but i mean when when you're competing against
unity and and unreal like you know having a slice of the what's left over is still pretty good
yep and uh there are a bunch of other game engines which we don't have to get into um
cords is the one for cotland um there's a but there's a bunch of other ones and there are a bunch of other game engines which we don't have to get into um core is the one for kotlin um there's a but there's a bunch of other ones and there's a lot of smaller kind of tool
kits if you want to kind of go your own path javascript alone probably has like a hundred
different game engines of you know various varying degrees of quality um but all those are you know
they're really cool ways to make games i do have one last question though okay since hit me the game january jam is coming up
the sign up is live you can sign up now and i know we're all planning on doing it so
what are you thinking for your kind of game engine if you have one and
just kind of rough mechanics you have any ideas what you want to do this year
well i mean clearly uh i think i was on the the right track with um angular yep um i honestly i
don't know because i i the not being a game developer already and having any experience
with unity uh those types of things seem very daunting but i kind of want to do that
but be able to target the web though because and the only reason why like i like i definitely have
the web as like a goal for whatever i produce to just because it's so much easier for people to
view your game and not only like you reduce the friction and also they might be more inclined to
play it because otherwise if it's like oh i gotta download some random binary and run it and it's
not signed or anything i have no idea like i don't know maybe maybe not yeah so honestly the one that that i would probably gravitate towards as well is unity
but it's more because i do have vr and i would love to try and do something and i don't know
if i will but like an escape room type deal oh cool you know like a virtual escape room where
you're interacting with with things in the room to try
and get out. And there's, there's actually some of them already in, you know, in steam's store
and they're really good, man. There's so much fun. So like that, that seems like that'd be a lot of
fun to try, to try and do something. Yeah. It's nice. Yeah. I'm dead set on unity and definitely
targeting the web. and for me this year
uh i've always done like turn-based type stuff and so this year i definitely want to do something
that's going to be 3d and kind of physics based but most importantly is i really want to focus on
like level design so i i'm not going to go i'm not going to work too hard on mechanics i hope
like i'm going to try and keep it simple and i just really want to have fun trying to make
interesting like levels and kind of like focus on the artistic side of it just because i think on mechanics, I hope. I'm going to try and keep it simple. I just really want to have fun trying to make interesting
levels and focus on the
artistic side of it, just because I think it's going to be fun.
I'll probably
spend four days in front of a computer.
I want to spend it with pretty
graphics.
Cool.
Yeah, so that was it.
I hope you enjoyed the show.
I did. I did enjoy the show.
And thank you for asking.
That's right.
That's right.
All right.
Well, we'll have plenty of links in there, resources we like for this episode.
And with that, we head into Alan's favorite portion of the show.
It's the tip of the week.
Yeah, and I'm going to talk about unity again here so uh pro
builder hinted at earlier it's a free tool available in unity you have to grab it via the
package manager but it's specialized at making polygons and the real trick here the thing that
makes it cool is the usability it's a collection of probably like 20 different tools that lets you do things like
duplicate vertices or duplicate edges or duplicate surfaces and when in practice what that means is
like you kind of grab you basically start with a square and you're like um let me split this
surface in half and now i've got uh you know a cube and now there's a line in the middle i can
grab that line drag it up and now i've got like a house type shape. And if I want, I can, what they call, I think it's called intrude.
Let me take this face and intrude it.
So now I'm pushing the surface inwards.
So now we've got like almost like a milk carton kind of shape.
And let me extrude this part so I can make like a spigot.
Now I've almost got like, you know, something like a flower pot or whatever.
You know, all this is really hard to describe on a show with that just ideas that really quickly you
can manipulate these polygons and then save them out as an object so it's really amazing for quickly
prototyping things but also building cool like geometrical like almost like starfox type ships
or whatever it sounds like google sketch up inside Unity is what it is or like a
CAD type tool inside Unity. Yep and then the only thing that makes it really special is just the
usability. So you can use like a shortcut here and now you're adding new edges, adding new surfaces,
growing those surfaces, you know flipping them inside out, mirroring them so you can just really
quickly do some things and I've seen people just really make really cool things really quickly.
Awesome.
Very neat.
Okay.
Well, for mine, you know how we've been fans of some of the big companies
and their blogs, right, as it relates to like the technical challenges
and hurdles that they've had to overcome and uh you know in the past we've talked a lot about like the netflix blog or engineering
blog that is or uh the uber engineering blog well mike rg sent a link to us in slack which if you're
not a slack again uh head to www.codingblocks.net slash Slack,
and you can add yourself to that amazing community.
But it's called Processing Billions of Events in Real-Time at Twitter.
And as you know, we have been studying the ways of designing data-intensive applications,
and Twitter has been a topic of conversation occasionally during that book.
And this article was as of just October.
So, you know, like weeks ago.
And it was amazing some of the things that they were doing there.
They are processing with their current architecture, approximately
a gigabyte per second of data coming in.
That's nuts.
Is that, that is just amazing.
That's like, think about, it's just a simple little small 240 characters of text.
Like, how do you get to a gigabyte?
I feel like doc Brown,
like 1.21.
Like it's insane.
Yeah.
It's super,
it's super cool.
So,
so I'll send you a link to that,
to that article,
which,
you know,
thanks Mike RG.
But,
uh,
you know,
more to the point though,
like here's another one of these great engineering blogs to just add to our list to go and read through.
And guess what they're using, by the way?
Kafka.
Kafka was there.
Yep.
Yep.
I think Bigtable was there.
They were using Dataflow, Cloud Bigtable, BigQuery.
Oh, so they bought into the Google platform.
Well, Google was part of it but
they also have their own uh they referred to it as the twitter twitter data center uh and that's
where like all the kafka stuff was happening and then they did have other parts happening in in the
google cloud cool yeah all right so mine this one's not exactly like earth, like it's not going to shake your world,
but I found this and I thought, man, I wish every language had this. So this is my love for Kotlin
continuing. The more that I work in it, the more that I like it. So I'm sure that you guys have
both and pick your language of choice, JavaScript, C sharp,
whatever you typically choosing between, do I do a four, a four each loop, or do I do a four I equal zero to whatever index thing, right? And there are times when you need both the index of
what you're doing a four loop over, as well as you need the actual
item in that thing, right? And so if you need the index, typically you're going to do like a four
and then an index range loop. And then you're going to say, Hey, whatever I'm looping over,
I'm going to try and get the element out of that thing by saying, Hey, the element equals this
bracket, the index position, you know, whatever. And it's just
not pretty. It's, it's kind of a bunch of boilerplate code that you write a lot. Kotlin
did this thing that is just awesome. And they have a, for each indexed loop that you can do
on a collection. And what it allows you to do is the two arguments that are passed into the function that does this for each are the index and the element.
So you have them available.
You don't have to write any boilerplate ugly code to go access this element in whatever the collection is.
You have it.
So let's say that you call the index index and let's say you call the element element.
Then you can just reference them in your block code and you're good to go. It's just a really convenient thing that was done
that after I saw it, I was like, why doesn't this exist everywhere? Like, this is just really nice.
And I have a link to an article where they do a write-up of doing a for each and then also a for
each index. So you can see what I'm talking about this next one. So this is something that I ran into the other day. Um,
I don't know if this is specific only to Samsung smart TVs, but I was highly aggravated because I
was trying to log out of a Netflix account in there and there's nowhere, there's nowhere to do
it. You know how, like, um, if you go into the
Netflix app on most, any device, you have the, the profile pictures, and then there'll be an
edit button under the profile pictures to where you can change the avatar. You can change the
name. There is no button anywhere in the Samsung Netflix app to log out. And so I Googled it and
I'm like, man, I've got to be doing something stupid. And no, apparently, at least on these Samsung TVs, these people were fans of Konami video games or something, because the way that you log out of the account is while you're in the Netflix app, you do up, up, down, down, left, right, left, right, up, up, up, up.
And then it'll bring up the screen to where you could actually sign out of the
account. Yeah. When you saw, when I saw that you put that in the show notes, I just thought you
were making a reference to the Konami code. I didn't realize that it was like actually the
thing. It was the dude. I'm serious. When I saw the thing, I was like, how in the world would
anybody even know how to do this in the first
place without googling or finding it on youtube like i did but then on the other hand i was like
okay that's kind of cool i mean yeah i think how do you mad now you're like respect yo yeah a little
bit a little bit of respect now i still think you're an idiot for not having a button up there
right but but it did take me back to the whole the old contra days right
so i was like oh man that's kind of cool so yeah okay all right well weird but yeah totally random
it just happened i thought i'd share it out there in case anybody has a samsung tv and maybe wants
to log out of netflix you know i don't like the the smart tvs though i just i would rather just have like the independent box
and just let the tv be like a dumb panel i do too i do too honestly um this just happened to
be a situation where i didn't really have control over it but but you know, I agree. I I'd rather have a step, a standalone for really for two reasons.
One, usually the app stores on whatever TV that you buy, aren't that great.
Like they don't have it.
Like if there's new apps coming out, they don't keep up with them.
And two, as time moves on, they get really slow.
And I don't like pushing an up button on my TV and waiting 30 seconds for it to react, right?
I'd rather use something like a Roku or an Apple TV or whatever that works fast, well.
I mean, speaking of the modern cable box interfaces are so ridiculously awful.
I mean, they should be like examples of the worst software on the planet.
They are.
First of all, like this is why, like, I will never be a kid.
I haven't.
I was a cord cutter, you know, over a decade ago and have remained one. And I will never go back because every time I go to somebody's house where we have to watch TV on a traditional, you know,
live kind of thing, and I see their interface for like how they would select what they're going to
watch. I'm like, Oh, this is painful. Like, first of all, you give me like three lines to read at
one time of like, these are my choices.
Meanwhile,
the rest of the screen is consumed with like,
Oh,
let me show you an unnecessary,
uh,
advertisement thumbnail of something that isn't one of these three things.
Then I'm going to show you another,
uh,
text blurb about something else I want to try to sell you.
Then there's going to be like this bottom,
bottom ribbon of like more ads.
And it's like,
Oh my God, how, why did you make this interface
so awful like your one job was to like give me tv and you forgot that that's what your job was
yeah you know what else is bad on top of that is those set top boxes if you you guys ever heard a
kilowatt not not like a kilowatt there's a device called kill
a watt oh yes i have that you can plug into the wall you can plug your device into it and find
out how much wattage it's actually pulling yep cable top boxes are notoriously one of the worst
offenders in a home like they'll pull like i know years ago they'd pull in upwards of 200 watts
constantly they're not even on they're just pulling a ton of wattage so if you lived in like
uh california or texas where you have like deregulated power and it's like really extreme
expensive you know like i because i had i remember i had friends who lived in california like
anything that had a led on it at all,
like if it had a clock or just an on light or whatever,
you know,
unplug those things when you're not using them.
Yep,
exactly.
Yeah.
So,
so at any rate,
yeah,
not only do they have really bad interfaces,
they're terrible on energy and they're slow.
How are you going to have a brand new device?
That's so slow.
I don't get it,
but you know what?
To your point of you'd never go back.
I ended up going back recently only because like if you'll bundle this stuff, it's cheaper.
Like I came out so much cheaper than paying for YouTube TV and all that other kind of stuff.
And I was like, okay, I give.
I'll do it for two years.
And as soon as you jack my price up and double it,
then I'm going to go back to my cord cutting ways.
Right.
So it's frustrating.
Yeah.
I don't,
even if I haven't gotten into that boat yet.
And I think even if I did,
I would still be like,
well,
I'm still not going to use your service.
I only wanted the internet.
And,
and if you're going to give it to me cheaper because you're going to give me a service that I'm not going to use your service. I only wanted the internet. And if you're going to give it to me cheaper
because you're going to give me a service
that I'm never going to use,
then that's on you.
Yeah, exactly.
And it's crazy,
but that's sort of what I'm going to do
is I've bought it,
but I'll probably stream everything.
So yeah, whatever.
All right.
Well, I apologize for Jay-Z taking us on that tangent.
Shame on you, Jay-Z. Shame. that's right yes we'll ring the shame bell all right uh so subscribe to us on itunes spotify
stitcher your cable box wherever you like to find your podcasts and uh if you haven't already uh you
know as i asked before dear listener uh this one goes out to all of you who have not already gave us a review.
If you would find it in your heart to leave us a review, we would greatly appreciate it.
You can find some helpful links at www.codingblocks.net.
And while you're up there at WJZZ, while you're at codingblocks.net, check out our show notes, examples, discussions, and more.
And send your feedback, questions, and rants to our Slack channel at CodingBlocks.net slash Slack.
And be sure to follow us on Twitter at CodingBlocks.
Why do you make it weird?
That's the thing.
My NPR voice.
You make it weird.
Morning edition. NPR voice. You make it weird. Morning edition.
The morning edition voice.
Anyway, you can find all our dillies at the top of the page.
Gosh.
I really do think, though, that Jay-Z's next podcast should be named like WJZZ or something.
Yeah, that's good, right?
Yeah.
Yeah.
Yeah.