I have a confession to make...
It's 11:51 pm right now and instead of writing this email, I spent a bit too much time learning about (and then admittedly trying to get to work) Super Mario 64 on Chrome.
In my defense, it's technically not procrastination. It's for research purposes!
...Is what I keep telling myself 😅
I mean come on guys... it's Super Mario 64! A Nintendo 64 game that used to be included in a very clunky, physical cartridge 28 years ago that's now working on my computer - Not being emulated mind you, but natively working off the browser. That's BANANAS!!!
My silly LinkedIn Post
All of this began because on Sunday, I made a silly LinkedIn post that started with:
"Hey Chatgpt, if I wanted to be a frontend developer but I didn't want to learn HTML, CSS or Javascript, what should I do? Be very rude about it and use tons of emojis"
The post was funny. Snarky AI is funny. A frontend developer who doesn't know about HTML, CSS or JS is funny. Until I was proven wrong by a very kind Senior developer who mentioned in that post:
"Realistically you could be a front-end dev for decades and never touch HTML, CSS or JS - you could do WinForms, WPF/XAML, Unity, Unreal Engine, CryEngine, Swift, Blazor, Qt or any number of other front-end systems which have nothing to do with HTML, CSS or JS. And in fact, nearly all of them can be compiled to Web Assembly and run in a browser with zero HTML, CSS or JS involved." - Timothy Partee​
I had absolutely no idea what this man was talking about. It seemed unimaginable to think of the web as something that isn't JS-related.
I mean pffff, I've never seen Unity, Unreal Engine or WinForms as part of the frontend roadmap, have you?
But also... that sounds really cool to learn about. Can you imagine running video games off the browser if your computer was good enough for it? Or programming a website without using your typical IDE with JS-based frameworks?
So let's start my fall into this rabbit hole of insanity.
Can you run Unreal Engine on the web?
I started by googling the question that seemed the most interesting to me.
For the uninitiated, the Unreal Engine is a game development suite made by Epic Games (the creators of Fortnite). Think of it as one of the big industry standards for making games. With such a powerful tool.. wouldn't it be sort of cool to run a game directly from Chrome for example?
So can you?
The answer was ehh, not exactly what I was looking for. There are 3 interesting points I found.
1) From what I can tell, while yes there is a way to have the program use HTML5 which you can in theory use for making websites, the support of it has seemed to have died in the latest releases though. Still pretty cool though!
2) I've also found a plugin called "Unreal4Web" which can be used to import and showcase 3d models on your website... but without any real demos I can quickly find, I'll just have to take their word for it. It seemed to have been originally used to show models of cars for manufacture's websites but could be used for other industries as well
3) Related to using Unreal Engine but not what we were exactly looking for, you could use something called Pixel Streaming to host your game on a server and use the browser as the input device to interact with it. This is excellent for so many reasons. As long as you have a great and stable internet connection, it makes it so you can play a game from any device, no matter how good said device is. But it's not exactly working on the browser natively, is it?
Nope, this wouldn't do. So you can't use Unreal directly like this to host it on the web. But wait a minute... Tim mentioned you probably could use Web Assembly for that.
What the heck is Web Assembly?
That answer... I'll tell you about it in the next email. All I'll say for now is, that it's a really, really exciting addition to the standards made in 2017 that made it easy for browsers to read extremely lower-level code.
I'll tell you what I learned about it on Thursday.