I'm surprised I never see playcanvas on HN. It's great technology that should be better known IMO.
I first came across it working on a project where I needed to load and animate a number of complex .fbx character models. Spent loads of time trying to do this with three.js (in 2017) + all manner of converters to different formats. I tried every supported loader and they were all broken in various ways.
Then somehow I found playcanvas and had the models loaded and working flawlessly in a very short period of time. That experience extended to basically everything else I tried with the system—it's well polished.
The editor UI is very nice, and yet remains lightweight in a way where I still feel more like I'm working with something like three.js than e.g. Unity. I personally still prefer three.js for most projects I work on, but it would be a very good option for certain projects and I always keep it in mind. It's also open source: https://github.com/playcanvas
The downside is for the free tier you get their logo on your app, and you can't hide the source (and anyone can fork your project). On the up-side, the pricing was something like $15/month last time I checked.
In WebGL frameworks, Playcanvas is like Windows where Three is Linux. You can do the same things in both, it's a bit easier to start with in Playcanvas, but the cost and freedom of Three attracts lots of developers.
I agree to some extent, though I think PlayCanvas is more analogous to OS X than it is to Windows—partly because of the priority given to design and high standards for quality and partly because if you need to get lower level you can still do something like unix terminal access as with OS X.
But the analogy also falls apart in certain significant ways, e.g. PlayCanvas being open source and not actually tied to their servers or editor or anything (but don't get me wrong, it's not as easy to add into a standard project structure as `npm i three` either).
> but the cost and freedom of Three attracts lots of developers
There's definitely some truth to that, but I'd bet it's a very small fraction of three.js users who are even aware of PlayCanvas' existence, and that that lack of knowledge probably affects adoption ratios significantly.
Engine and tools features, are identical for free and paid users. Same complexity games can be developed by both types of users.
It is more direct support and quality of life features, related to larger teams and management are behind paid tier.
But as any other business, PlayCanvas has to feed their families too.
Ahhh, your game reminds me of Maelstrom -- even though all the sprites were prerendered, the sprites were rendered in 3D and I spent so many hours on it...
Oh man. I spent so many hours playing Maelstrom on my LC 475.. Through your wiki link I discovered that Ambrosia open sourced the game - there are even OSX binaries. https://www.libsdl.org/projects/Maelstrom/binary.html
Nice! That looks like fun. I'd really like to do a more complete asteroids remake and put proper time/thought into the design + aesthetic—it's one of my favorite games strictly for gameplay.
I've been wanting to do some 3D game experimentation for personal projects, mostly with ThreeJS but I might just give playcanvas a shot, it looks like it gives you the right amount of tooling. I wanted to use godot, but I like just being able to edit things on a browser and debug with dev tools and such.
I first came across it working on a project where I needed to load and animate a number of complex .fbx character models. Spent loads of time trying to do this with three.js (in 2017) + all manner of converters to different formats. I tried every supported loader and they were all broken in various ways.
Then somehow I found playcanvas and had the models loaded and working flawlessly in a very short period of time. That experience extended to basically everything else I tried with the system—it's well polished.
The editor UI is very nice, and yet remains lightweight in a way where I still feel more like I'm working with something like three.js than e.g. Unity. I personally still prefer three.js for most projects I work on, but it would be a very good option for certain projects and I always keep it in mind. It's also open source: https://github.com/playcanvas
The downside is for the free tier you get their logo on your app, and you can't hide the source (and anyone can fork your project). On the up-side, the pricing was something like $15/month last time I checked.
For a very simple example, here's an asteroids game I spent a few days making with it: https://playcanvas.com/project/479850/overview/rocks (you can play or jump into the editor and modify from that link.)