
Superpowers – The extensible, collaborative HTML5 2D+3D game maker - elisee
https://sparklinlabs.com/?superpowers
======
elisee
Hey! I'm part of the small team building Superpowers over the past 6 months.
I've been working on collaborative game-making tools for several years and
Superpowers is the result of a lot of that work. I'm very proud of the small
core + plugins architecture we came up with and excited to open source (MIT)
it all soon!

I'll be happy to answer any questions, obviously.

~~~
AnkhMorporkian
Why TypeScript? Not a criticism by any means, just curious.

~~~
elisee
We evaluated various possibilities and even started building our own scripting
language (because TS compiler APIs weren't ready back then) before going with
TypeScript. Many reasons:

We want Superpowers to be as "Web native" as possible. TypeScript is just
JavaScript + types, they're working to align with ES6 and maybe even merge
with ES7+, they have a lot of mindshare, their compiler services are awesome
(having intellisense-like in the editor is a big deal) and the whole compiler
can be run in the browser, which means it'll work everywhere just like the Web
we're building on.

(I've talked in more details about it in our devlog -
[http://forums.tigsource.com/index.php?topic=46317.0](http://forums.tigsource.com/index.php?topic=46317.0))

------
kevingadd
I like the pitch and the objectives stated here. The monthly funding model is
a good fit for this sort of thing where users will want ongoing maintenance
and improvement for their middleware.

Demo doesn't work well in Firefox (latest, Developer Edition) on Win8.1 x64,
though. Z-buffering looks totally busted and the framerate is bad.

[https://www.dropbox.com/s/jymr2vr8ip52tw5/Screenshot%202015-...](https://www.dropbox.com/s/jymr2vr8ip52tw5/Screenshot%202015-03-14%2018.58.29.png?dl=0)

~~~
elisee
Thanks! We thought long and hard about how to fund the whole thing, and open
sourcing + ongoing funding ended up looking like the best solution indeed.

That's quite the weird rendering bug. Everything works fine here in Firefox
stable (tested on both Windows 7 and 8.1). Probably a driver issue of some
sort? We're really not doing anything fancy, just using the default basic mesh
material of Three.js and simple meshes.

------
elisee
I just uploaded a Superpowers video demo showing off some of the editor
plugins as well as real-time collaboration:

[https://www.youtube.com/watch?v=XxX7VFjf-
XU](https://www.youtube.com/watch?v=XxX7VFjf-XU)

------
greggman
The real-time collaboration seems kind of cool but also makes me wonder how
you handle history, permissions, etc. If I'm editing code and you're editing
code and I hit 'RUN' I don't want your half finished code that doesn't compile
to prevent me from running the game.

I'm curious why I'd choose this over say Unreal (free), Unity3D (free), Source
2 (free). ok, they aren't 100% free but they're effectively free until you
make money.

They all have a track record of shipping games on multiple platforms (some
more than others). Some already have huge communities. 2 of them export to
HTML5 if that's what you want. They have large detail animation system,
cutscene systems, visual programming system, shader editors, quality importers
for tons of formats...

~~~
elisee
> The real-time collaboration seems kind of cool but also makes me wonder how
> you handle history, permissions, etc. If I'm editing code and you're editing
> code and I hit 'RUN' I don't want your half finished code that doesn't
> compile to prevent me from running the game.

Script changes are marked as drafted until you explicitely choose to apply
them to the current build (Ctrl+S), so you won't break the build because
you're in the middle of typing a line of code. There'll be a membership and
rights system, right now there's only a server-wide password. Real-time script
editing uses the same tech behind google docs and such (operational
transform). There's no special history support right now, the server owner can
version the projects in Mercurial / Git manually. Later on we'd like to have a
project-wide revision system right in the UI.

> I'm curious why I'd choose this over say Unreal (free), Unity3D (free),
> Source 2 (free). ok, they aren't 100% free but they're effectively free
> until you make money.

Unity, UE4 (and probably Source 2) are multi-GB download and fairly
heavyweight tools with sooo many options and drawers. Don't get me wrong, I
love Unity (haven't spent much time with UE and Source 2 isn't out yet), but
Superpowers is competing with Game Maker, Construct and the likes, not the big
engines.

------
bauser
Hey, this is pretty cool. Looking forward to seeing progress with it!

------
daredevildave
Hi Elisee,

Great to see Superpowers making progress. I'm interested in your choice of
Three.js. Did you consider other WebGL game engines? Like PlayCanvas[1] (where
I'm a co-founder) which is also open-source[2] but more designed towards games
than three?

[1]: [https://playcanvas.com/](https://playcanvas.com/)

[2]:
[https://github.com/playcanvas/engine/](https://github.com/playcanvas/engine/)

~~~
elisee
Hi Dave! I didn't realize the PlayCanvas engine was standalone like Three.js,
I somehow assumed it was linked with the online editing tools you built. Good
news! Really impressed with your physically-based shading support by the way.

We went with Three.js because it's pretty versatile and does everything we
need in the near future. Superpowers is built in 3 layers: the core (which
handles projects, storage and networking), the system (which is basically
Three.js + game instance/actors/components) and all the editor & asset plugins
built upon the system. The system can be swapped out with something else, and
a new set of plugins can be built on top of it, or the existing plugins
adapted for a new engine, so the community will totally be able experiment
with other engines including PlayCanvas!

We spent a lot of time designing the Superpowers platform so that this would
be possible :). In fact, Superpowers could even be used to make movies or
write novels collaboratively, with the appropriate system and set of plugins.

------
xigency
Cool!

This sounds exactly like an idea that I've had before. What my friends and I
called it was 'GameTube' which would be a platform for making and sharing
games online. That was part of what motivated me to work on the Duck
programming language, which would be a simplified language to develop in,
along with some web IDE's for game making and common content that aspiring
game developers could work with.

I think creating a platform for collaborative creation in games is a great
idea and something that is as-of-yet untapped in online communities. The main
limiting factor is creating tools and platforms that outperform what already
exists and creating an ecosystem for users where they have support to work on
ideas that connect.

Links:
[http://github.com/teamduck/gametube](http://github.com/teamduck/gametube)
[http://www.team-duck.com/space/](http://www.team-duck.com/space/)

------
slimbods
Looks cool. My boy spends a lot of time building games in scratch and has
tried a few different ways to do it collaboratively with his mates without
much success. This could be a great next step if you're successful.

------
kamac
Hey, I saw craftstudio (your previous product before), and I fairly liked the
way you could create models there. Is that the case with superpowers aswell,
or are we limited to modelling using 3rd party tools?

Any plans for shaders?

~~~
elisee
Hey kamac! Right now we don't have a cubic model editor plugin but it's
something I'd love to add back from CraftStudio (or to see the community
contribute) because it's so easy to make things with, either for prototyping
or just to make blocky games :D.

I've also been toying with the idea of making a "Superpowers Minecraft modding
edition" when Minecraft 1.9 comes out with an actual 3D model + skeletal
animation format (everything has been hardcoded until now), so that could go
hand-in-hand.

EDIT: Missed your question about shaders. We do plan to have a material editor
and postprocessing shaders!

------
emsy
I already saw you on TIGSoucre and thought Superpowers looks pretty awesome. I
was wondering if deployment to PC/Mobile is already working and what the
performance on mobile can be expected.

~~~
elisee
It's working! Demo:
[https://twitter.com/SuperpowersDev/status/566993176532373504](https://twitter.com/SuperpowersDev/status/566993176532373504)

You can load up your games in a recent mobile browser or package them into
APKs with the Intel XDK (we didn't have a chance to test iOS export yet since
we don't have an iDevice but it should work). Performance-wise, I don't have
hard numbers or anything. This is the Web, you won't get as much perf out of
it as a native app, but the games we've built so far run great.

------
CmonDev
Another one :). JS and HTML? No, thanks.

------
Galactigon
Definitely something lost in translation...

You don't need funding to make an open source solution to game development.

There is lots of competition out there for what you are doing. Have you
compared your project to others just like it?

Best bet is to continue to work on the open source project, but if you need
funding, do that separately, and don't confuse it with open source.

~~~
AlexeyBrin
_You don 't need funding to make an open source solution to game development._

I think you are confusing open source with free as in beer. A lot of open
source projects are funded by companies, being open source doesn't exclude
being paid to develop the software.

~~~
lambeosaurus
This is really the crux of it. What the heck are people complaining about?

