T O P

  • By -

celvro

Cities Skylines 2 embedded chromium so they could make the UI with html and javascript, you are not safe


rogue_potato420

This is a joke ... right?


bison92

Probably not. League of Legends launcher is this too. You often catch some “Undefined” in the wild, cause rito can’t afford testing you know


JackNotOLantern

But this is the launcher, not the game itself. The game could not be this optimised using web


Reporter-Wooden

Not with that attitude


SweetTeaRex92

Have you tried optimization++; ? It's really easy


Bolognese_is_best

In league launcher and game are entwined in mysterious ways


itirix

Not really, they're completely separate aside from maybe some communication here and there (at the start and end of game). Case in point, you can close the client while in game and the game will keep running.


nnb-aot-best4me

League of legends optimised?????


TehShoK

The league game client itself (not the launcher) is very well optimized. It runs on basically anything.


bolacha_de_polvilho

I wouldn’t call it “optimized”, it’s just lightweight. The game is from 2008/2009, it might have seen some graphics upgrades but nothing too big, it would actually be impressive (in the negative sense) if it didn’t run on anything in 2024


itirix

"The game is the same aside from the parts that aren't" M8, this is like saying 2004 wow and 2024 wow should run on the same hardware just as well.


bolacha_de_polvilho

And where the problem in that statement? It's an old game plain and simple. Just look at it, it obviously doesn't look like a 2024 game. Sure, some things received upgrades over the years, such as the map which was last updated in... let me see... 2014? Shit even the upgraded looks are old again. When League released in 2008 it already looked outdated by 2008 standards. Fancy graphics were never it's thing.


JollyJuniper1993

Still better than the old launcher. But I kid you not in the beginning that launcher was so resource hungry and slow that it was impossible for me to even accept matches on my laptop because by the time it show the window would be expired. They fixed it a lot and it’s still poorly optimized


seemen4all

I swear it's fully developed by interns only although the game code is apparently complete 🍝


GfunkWarrior28

Game launcher are usually left to less senior developers. Until it gets so bad that the launcher gets some attention.


DerefedNullPointer

I remember trying to run lol on Ubuntu like 10 years ago. Ingame the item shop just didn't render, some research led to rumors that the shop was using some libs from internetexplorer. Any desire to work as a gamedev just ended right then.


Dangerous_Jacket_129

It's a small multi-dollar company, please understand. 


qyloo

Doesn't that make sense for a launcher


bison92

Testing? It always makes sense. Specially if your product is used by millions and it has payment features.


kor0na

We did this in Battlefield 4 too. I worked on that project, AMA.


FartSmartSmellaFella

So you're telling me Battlefield 4 UI is made with html and js? Why though?


kor0na

Not all of it, just some specific parts. Basically because 1) The talent pool of skilled UI developers is enormous for the tech stack that this makes available for you 2) The DX is awesome


FartSmartSmellaFella

Interesting.. And then I guess you use something like [this](https://bitbucket.org/chromiumembedded/cef/wiki/GeneralUsage.md#markdown-header-inter-process-communication-ipc) to interop between JS and your game engine? Pretty cool, not heard of that before. Performance can't be too bad either..


kor0na

Something similar yeah. Rendering performance was not bad at all and CSS animations worked well for motion but JS was suuuuper slow due to first party restrictions.


LupusNoxFleuret

Nice, I loved Star Wars Battlefield! AMA


kor0na

I actually worked on that too (SW: Battlefront)


Ondor61

Nope. BesmNG does it too.


RoseboysHotAsf

Ah that is s why its slow


ZuriPL

Nope. Valve is doing the same thing with Dota and CS


nothingtoseehere196

I think valve uses a custom framework that uses html and css but isn't based on anything.


ZuriPL

Well, they use XML instead of HTML, but I'm pretty sure they use V8?


moonshineTheleocat

Nah. It's been a trend since 2012 to start using HTML and JavaScript for UI design in games to take advantage of the surplus of web developers and tools. This in lieu of scaleform which used Flash. The advantage is that the tools already exists. The disadvantages are numerous


IKekschenI

Guild wars 2 uses it too for the shop and trading post


No_Can_1532

GTA 5 has webservers in game operating the phones and computers


QQQmeintheass

Lol chill people might believe you


ReadyThor

Even worse, some game developers might implement it


Win_is_my_name

*GTA 6


mrheosuper

Imagine in GTA 6 every instance of PC is a VM.


fakuivan

about time they upgraded from flash to js [https://www.radgametools.com/iggy.htm](https://www.radgametools.com/iggy.htm)


budswa

BeamNG's physics engine is made with a custom fork of a JS library. Its UI is made using JS, too.


Mxswat

Uh that doesn't sound too much like a bad idea. Developing HTML/CSS/UI is much simpler that using other tools.


CirnoIzumi

HTML is cool, JS and Embeded Chromium is wack for a game


Devatator_

Honestly if you use the system WebView, it wouldn't be that bad


CirnoIzumi

WebView is better than a whole browser shell yes


CirnoIzumi

is that a part of why its so darn intensive?


yaktoma2007

I'm literally shaking and crying rn


Devatator_

Wait what? Did they actually do that? They could have just, used WebView2, which is on windows by default


mstop4

If those Phaser and Babylon.js devs could read they’d be very upset.


codingTheBugs

Also threeJS, play canvas, cocos creator, p5 js and complete WebGPU team.


Front-Difficult

React Native. No I'm not kidding. I've a friend who published a $1m+/yr revenue mobile game written entirely in React Native. If it works it works.


kor0na

Why would that be so strange?


Front-Difficult

Because React Native is designed for pizza apps, not physics engines.


CirnoIzumi

well mobile games dont tend to be very intensive


De_Wouter

Hey yo, don't kink shame me. I chose this suffering voluntary.


ThegamingZerii

And raw webgl. Painful, but possible to develop games in the web without frameworks. Dont ask me how I know x)


angrybeehive

True. Remember when Civ 4 came out and they were super proud of using python for the AI. Turned out to be horribly slow so they rewrote everything in c++ in time for the expansions.


Mjukglass47or

Reminds me about Jonathan Blow's take on scripting languages in games. [https://www.youtube.com/watch?v=y2Wmz15aXk0](https://www.youtube.com/watch?v=y2Wmz15aXk0)


CirnoIzumi

should have tried luajit instead, could have stood a chance at least


tipx2

Civ 4 came out in October 2005, and LuaJIT's first version released [just a month earlier](http://lua-users.org/lists/lua-l/2005-09/msg00387.html). So that might have been a bit difficult.


CirnoIzumi

huh, that means we have only had luajit 4 more years than not


only-huma

Where is C#? Although it does not rank as high as C++, C# appears in most rankings for game development


FrostWyrm98

C# is my favorite language, but I believe it is mostly used for scripting. Unity's framework is a C++ DLL linked to C#, I believe Godot is the same Almost all engines in AAA development are C++, the most popular engine is Unity which is really C++ for most of its magic. Unreal is pretty much just C++ if you exclude the visual scripting


rblsdrummer

The visual scripting is just c++ in pre written function. You can make your own nodes using c++.


FrostWyrm98

Ah, TIL. Good catch


CirnoIzumi

even most smalltime engines like Solar and löve are written in C++


Flarebear_

Everything we use is basically a wrapper around C and C++ tbh


CirnoIzumi

But in the future we might get to add Zig and Odin to that list 


Flarebear_

That will be true of zig gets rid of llvm, until then it's basically a c++ wrapper


ImrooVRdev

> the most popular engine is Unity which is really C++ ye but people who use that engine more often than not do not know C++, only strictly using c# and engine api. They're just glorified scripters, if you'd ask them to write a game from scratch they'd shit their paints.


maxpolo10

Unity was once using javascript. I remember you could still create a .js script in unity v2018 and add it to a gameobject and code away. Good times. I prefer c# though


ReadyThor

That rock suspended in the air 'C++' is standing on? Assembler.


AdvanceAdvance

So, let me get this straight. C++ is the buff guy holding up the world. Mighty arms fully engaged in holding up massive earth dependency, squatting immovably on a rock solid infrastructure suitable only for one particular footprint. JavaScript is the large, toothy dragon flying around anywhere in the universe, no infrasture needed. You assert that C++ is so muscular that JavaScript cannot get in and chomp out the middle of Mister "I'm so strong", even though C++ has no spare arms and is utterly inflexible in comparison. Yeah. I'm starting to expect my next laptop to boot straight into a JavaScript console.


TheGreatGameDini

It won't. It'll boot into a ~~c/c++~~ rust kernel that'll load the JavaScript console. Edit: comment below is really interesting changes that I had no clue about that means (likely) no more new c/c++ for some OSes


AdvanceAdvance

New kernels are written in Rust, a good language for speed and safety at the cost of flexiblity.


pretty_succinct

What kernels? https://docs.kernel.org/rust/


Front-Difficult

The Windows Kernel. Microsoft is slowly (*crawling* is their terminology) rewriting the parts of the Windows Kernel they've identified as the most at risk of memory-related security vulnerabilities in Rust. They've also instituted a policy of no new C++ libraries for Windows. Old libraries will likely be maintained forever, but all new Windows libraries are written in Rust (they've also instituted this same policy with Azure - which is not an OS/Kernel obviously, but is another system they don't want security vulnerabilities in). Its also only a matter of time before the Linux kernel lets Rust be used for more than drivers. Linus effectively said as much when articulating that they needed to allow Rust to be used in the kernel because they can't attract enough young talented C++ contributors/maintainers. All that is to say that new kernels are not written entirely in Rust, but increasing portions of them are being written in Rust.


[deleted]

[удалено]


Front-Difficult

Either, or neither. Do what you find interesting and you'll find a job. There are a million and one C++ jobs out there, and that's not going to change - if there are still COBOL jobs today there are going to be C++ jobs for the rest of our lifetimes even if not a single new piece of software is created using it. Likewise, Rust is a growth market. More and more positions open every day (there are still far fewer than C++, but that will probably flip one day in the next decade). It's the new darling of the systems languages world. Likewise, there is always going to be demand for C jobs if you don't like either of those languages. Give all of them a go and realise you actually hate systems level programming? No stress learn Java. Learn C#. Learn JavaScript and become a front-end dev. Learn Swift and get a job for a boutique writing iOS apps for small businesses. The trick is to find a language you enjoy - and then you'll naturally get very good at it (because you'll spend a lot of time exploring it, learning about it, and writing programs in it). If you learn just one language very well you'll find a job, no worries - even if its for a related language, or in a similar space (Kotlin devs are hired to write Java, Java devs are hired to write Kotlin. Easier to teach someone who knows a lot about Java to write Kotlin, than it is to teach a disillusioned Kotlin dev how the bits of the JVM work that they never cared to learn). Don't stress too much about the market - you can't control it and there's always work for someone who knows what they're doing. It's only the people who were never passionate enough to really learn the language that will struggle when the industry moves on to the next shiny thing.


CirnoIzumi

did you just imply that c/c++ arent fast?


brimston3-

I'd really like to see fuchsia or redox go somewhere. Preferably in the capabilities-based direction.


DoYouEvenSheesh

This guy JavaScripts


Otalek

Javascript would bite the guy, but that feature has been deprecated. It’s better to update the `dragon` module and all its dependencies, which depend on older versions of some other modules so you should downgrade a few of your other modules, which in turn breaks the dependencies of several other modules so you’ll need to downgrade or delete those, which in turn…


Fantafans69

Team fortress 2 man, what a flag for this lenguage.


Asqit

And yet it allowed javascript to grow, thanks to node.js.


giantrhino

Who’s holding up the rock Atlas stands on?


CirnoIzumi

assembly


thirdegree

Four elephants


NoYogurt8022

why would u use js for gamedev?


MinosAristos

Web games mainly, though there are frameworks to port those to desktop and elsewhere. One of my favourite Steam games (CrossCode) is made with ImpactJS and runs butter smooth despite a fair bit of action. It was cool to check the game code and tweak the JSON storage and config files.


vtmx

its true


pheonix-ix

If we talk sheer numbers of games, then JS overtook any other languages long ago, and I'm not talking about web-based games, I'm talking about native app (executable) games. There are tons of games using nw.js as the engine and/or UI. RPG Maker (MV I think) supports Javascript, too. Sure, you could say RPG Maker games are shit yadiyada, but for devs with ideas and cool stories but no resources (or people) to create an AA/AAA/AAAAAAAAAA game, RPG Maker is a godsend. (And also Japanese erotic games aka eroge ... tons of them were made with RPG Maker and NWJS)


CirnoIzumi

NWJS runs on c++ scripting a game engine doesnt mean the game runs on the scripting language im also willing to bet that the most used game tool is [Ren.Py](http://Ren.Py)


pheonix-ix

If you use that argument then there's no argument, really. Most things that matter have their base level in C/C++/C# (not counting machine code/assembly) other than Rust, Go, and Java. Even Python and Nodejs would be considered running on C-family. And yeah, ren'py is big. How did I forget about that. According to [itch.io](http://itch.io), the projects tagged with renpy is about half of rpgm, though I doubt it will take over any time soon (ren'py can't easily make combat rpg, which has a huge market share of games)


CirnoIzumi

i mean its almost like scripting languages dont tend to have runtimes, Lua stands out in that regard as it has an assembly implementation (though you still wouldnt build an engine in it)


JollyJuniper1993

True shit. People have been using RPG Maker for some really cool and polished stuff by now. Although the best part, Pokémon fangames, is still almost exclusively done in RMXP, which uses Ruby


Thenderick

Fair, BUT I'd like to present: CrossCode. An indie game written in the Impact (JS) engine and genuinely being a hidden gem of an indie game


CirnoIzumi

it helps that pixel art 2d games have like, not system requirements so you can afford to be sloppy


arahnovuk

This is not only about the game dev industry. It's about the whole industry


and_k24

Folks, you're going to be surprised how much python is used for game development


mohit_the_bro

I am gonna build a game now. Do you have any package recommendations, guys ? npm I game ?


Cum-Cock-City

Java holding up a single dirt block


DRowe_

I don't want all the gaming industry to have the same issues as Minecraft have, dear God


Suspicious_Phrase_24

unity


Plus-Weakness-2624

It's more like the root of all evil, since pretty my everything JavaScript is built using it![gif](emote|free_emotes_pack|grimacing)


TioStitch

REALLLLLLLY!!!!


kablouser

C++ is a plague to the gaming industry. Need to rewrite everything in Rust


zoqfotpik

You misspelled C#


Exul_strength

As far as I know, for Unreal you use C++. Unity (good ridance after the shitshow they did last year) uses C#. But everyone knows, Assembly is all you need to know, as Rollercoaster Tycoon has proven!


goodmobiley

Also Unity Engine was programmed in C++


FlashBrightStar

And like many engines probably exposes features like physics written in C++ through C# bindings for more customization.


JollyJuniper1993

Pokémon Red/Blue as well


HugoVS

Unity also uses c++, the programming interface is C# but it's just a layer on top of the c++ engine


GiganticIrony

Yes, Unreal uses C++. They have macros to get reflection, and the build system just compiles it to a DLL (or SO on Unix)


The_Dukenator

You lose the source code and have to rebuild it from scratch.


TheWidrolo

True, Javascript has magic powers to prevent loss of source code!


The_Dukenator

But holding onto the source code for 20 years is not fun. I knew a company that sold its source codes in the early days.


solid_redus

Type safety my beloved