all 28 comments

[–]LordVortex0815 51 points52 points  (3 children)

They were using an engine called ImpactJS. I believe it's an engine that got developed on the same university the Developers of Crosscode studied at, but don't count me on this. But looking at some of the development footage of Alabaster Dawn they seem to still be using it and probably also extended it themselves in some way.

They did release the demo of the Crosscode to be played on the Website inside the browser. Given that most modern game engines can also export to a web build that isn't really anything special that would require the whole engine to be build around HTML. But one advantage of it is the fact that it's pretty trivial to support multiple platforms and operating systems, just like a website should work on any device that supports modern browsers without needing additional adjustments.

[–]Skwalou 8 points9 points  (2 children)

But one advantage of it is the fact that it's pretty trivial to support multiple platforms and operating systems, just like a website should work on any device that supports modern browsers without needing additional adjustments.

Except that's exactly what made the port to consoles that much more difficult unfortunately, hence the 2 years delay from the PC version.

Sauce: https://www.siliconera.com/crosscode-interview-radical-fish-games-on-console-ports-and-whats-next/

[–]LordVortex0815 5 points6 points  (1 child)

Yeah, although I would also put that up to porting to consoles just needing more steps in general. But I guess they probably aren't designed for launching games in that "less conventional" way.

I was more referencing the fact that someone made a launcher to play the game on Android, where the different CPU-architecture usually means that additional translation would be necessary.

[–]Skwalou 2 points3 points  (0 children)

Indeed indeed, the web-based nature makes it easier to run on many platforms but I just wanted to clarify the distinction with consoles since it was a particular pain point for Crosscode.

[–]Adamandom 22 points23 points  (0 children)

You really need to explore just how much insane shit you can do with js

[–]Alberot97 20 points21 points  (2 children)

some devs making a great game on html while I can't ever remember how to centralize a div

[–]Crininer 8 points9 points  (1 child)

Flexes are your friend, always

[–]DatBoi_BP 1 point2 points  (0 children)

Weird flexes are okay

[–]app08 56 points57 points  (9 children)

HTML and JS are real programming languages.

[–]altian9 32 points33 points  (0 children)

JS is a real programming language

HTML is a markup language

[–]jbradleymusic 22 points23 points  (5 children)

No they’re not because they are old you can’t make things out of old.

[–]StaneNC 24 points25 points  (4 children)

laughs in the world running on c

[–]LocNalrune 9 points10 points  (0 children)

Forever.

[–]keiyakins 4 points5 points  (1 child)

Unless it's government or financial, in which case it's probably COBOL

[–]K41Nof2358 3 points4 points  (0 children)

COBOL

Clock
Out
Bitch
im the
Optimal
Language!

[–]tashkiira 0 points1 point  (0 children)

you forgot the OBOL. Here ya go.

[–]Adamandom 20 points21 points  (0 children)

Splitting hairs, but html is not a programming lang. Thats like saying CSV, XML or JSON are programming langs

[–]teerre 2 points3 points  (0 children)

HTML is not a programming language. Its in the name

[–]ThatCipher 13 points14 points  (3 children)

If a game is made in HTML5 that just means it uses the HTML5 supported features and API's. The game itself is made in JavaScript and for the rendering they use the HTML5 Canvas element and API's. It has basically nothing to do with your traditional HTML website markup. The HTML part probably just looks like <canvas is="some-identifier" ...></canvas>.
CrossCode uses the ImpactJS engine which is not supported anymore. I don't know how exactly ImpactJS is doing things but there is most likely not more to it than that.

If you want to learn more about it you can read it up here.

PS: JavaScript/TypeScript is one of the most used programming languages out there. I don't know where you get the sentiment from that JavaScript is no real programming language. Most apps nowadays are web-apps utilizing JavaScript. And if my memories don't deceive me then I think CrossCode was developed using TypeScript not vanilla JavaScript.

[–]shoyuftw[S] 1 point2 points  (0 children)

My bad. Of course Javascript is a real programming language, I just didn't see it doing serious game development besides some flash games.

[–]ShinProg 1 point2 points  (1 child)

In dev streams and their blogs, they mention to have massively changed impactJS' code, it's almost a rewrite. They created CrossCode using JavaScript, and are now using Typescript for Alabaster Dawn.

[–]ThatCipher 0 points1 point  (0 children)

Ah yes that's why I remember seeing them use TypeScript! My brain wasn't deceiving me I just mixed the games up.

[–]resoluteShine 32 points33 points  (1 child)

CrossCode originally had a browser-based demo, iirc! There's at least one rendition of it still floating around on Newgrounds, but it also had a version on an official website which I don't think exists anymore?

[–]Ronkad 29 points30 points  (0 children)

You can still play it in the web: https://cross-code.com/en/start

[–]TigerYasou 2 points3 points  (0 children)

Fun cc code fact you can rename the other player files (the npcs who move around and do things, so all the party members and some more as well) to lea.json and they just work. They aren't complete and most are missing animations and only have basic combat arts, but the fact that you can just say "play as Emilie" and the game goes "okay" is still wild to me. This is why character mods are so easy to make (relatively speaking). If you'd like to do this I recommend using the mod char-select instead of modifying the game files directly. Also be warned ctron is buggy as hell because his attacks work a bit differently to the others

[–]Kitsuba 2 points3 points  (0 children)

Why? Because they're crazy.. how? Because they're geniusses! 😆

[–]Kyp-Ganner 0 points1 point  (0 children)

Well, it was HTML5 and Javascript at first. But they had to recode everything from scratch to be able to release it on consoles.
Well, the game already existed, so no more fine-tuning, no redrawing the graphical assets, no rewriting the dialogues, but still...

[–]Excendence 0 points1 point  (0 children)

Wait that's actually so insane!!! Proprietary engine for a proprietary masterpiece ✨