Superpowers, a collaborative HTML5 2D and 3D game maker, is now open-source
superpowers-html5.com
superpowers-html5.com
Our game engine is a thin layer on top of http://threejs.org/. Our real-time collaboration is powered by http://socket.io/ (WebSockets). Everything is written with http://www.typescriptlang.org/, http://jade-lang.com/ and http://stylus-lang.com/. The app is powered by Electron / Node.js. We use CodeMirror, Browserify, Gulp, Express, lodash and too many other awesome npm modules to name them all.
Thanks to the community for all the cool stuff we were able to reuse :)
Unfortunately I lost contact with many of those friends but it helped me become what I am today. Game development is a great way to get creative minds going and link the creativity of programming to those who haven't discovered it yet.
Jeez.
To OP: seems like I can jump through walls in the sample game.
Hi! I've been working on live collaborative game development software for about 4 years (some of you might remember me from CraftStudio). For the past year and a half, we've been working on Superpowers with my two friends Bilou and Pixel-boy and now we've open sourced it, as promised back in March when we launched early access for supporters.
Superpowers at its core (http://github.com/superpowers/superpowers) is more than a game maker. It's a generic collaborative client/server Web app for building all kinds of projects. A project type is defined by what we call a system, and you can have any number of systems installed on your Superpowers server.
We spent most of the last year building the core along with a system called Superpowers Game (https://github.com/superpowers/superpowers-game), which is a TypeScript game engine built on top of Three.js along with a bunch of collaborative asset editors.
Now that the platform is maturing, we've started work on other systems. For instance, Superpowers LÖVE (https://github.com/superpowers/superpowers-love2d) lets you build Lua games for the LÖVE framework. Demo: https://i.imgur.com/yLybycP.jpg
Another example: Superpowers Web is (https://github.com/superpowers/superpowers-web) a Superpowers system for building static Websites. We've used it to build the official website (https://github.com/superpowers/superpowers-html5.com) in real-time collaboration. We have plan for a "Superpowers Node.js" system, and hopefully the community will embrace this extensibility and build cool tools for all sorts of engines and creative endeavours.
You can find lots of pictures of the app in the release notes: https://github.com/superpowers/superpowers/releases and many games made with Superpowers Game here: http://sparklinlabs.itch.io/. The devlog album has cool stuff too: http://imgur.com/a/NdIuH
I suggest you modify your title to start with "Show HN: ", as that will signal to the HN community that it is a project you are both releasing for general use and presenting for feedback.
How do you find this impact performance, especially when a behaviour might need to communicate with other behaviours, also how would that be done?
I've looked at several solutions, e.g Apple has a "BehaviourSystem" (called ComponentSystem) where you can fetch Behaviours (Components) per class from all other actors.
Communicating with another behavior can be done like so:
Sup.getActor("Some actor").getBehavior(BehaviorClass).someMethod();
If you use an actor or a behavior often, you'll want to cache it into a member variable so you don't look it up every frame.By the way, we have open sourced all the games we've made for Ludum Dare and the Global Game Jam over the last year, you might like checking them out: https://github.com/superpowers-extra
To show my appreciation, I've set up a $5/month pledge on Patreon. It's not much but I hope it helps! Should Crapule meow my name, please send me the recording. ;)
During our 10 months of early access, we had a recurring / one-time support option on the website. We got (very roughly) about $1000 from that thanks to many generous people. After taxes and all, that doesn't leave much but we are pretty frugal, we live and work together so we've been able to afford it so far.
We're hoping to make a decent living with a mix of donations (we just setup a Patreon - http://patreon.com/SparklinLabs), maybe some sponsors? as well as part-time contract work around Superpowers or game development in general. If it doesn't pan out, well, we're very happy with what we've been able to accomplish so far, so we get to keep that! ^_^
http://docs.superpowers-html5.com/en/development/building-su...
Nice to see this being written from scratch in TS(?).
Seems like Phaser's developer initially considered TypeScript but felt it was too early at the time too: http://www.html5gamedevs.com/topic/13599-reconsidering-build.... It looks like he's decided to go with Babel for Phaser 3 / Lazer: https://github.com/photonstorm/lazer
Does Phaser tend to overlook type definition updates? I know the language has TypeScript files, but I wasn't aware that they tended to be lacking. I use Phaser with ES6 a lot, but I'd be keen to use TypeScript.
If I could nitpick about something...it really bothers me that all the links on that page open in a new tab! Ahh! It shouldn't matter, but I just found it a little frustrating. /rant