EDIT: Hmm, didn't see this one linked from the OP: https://github.com/jasnell/dev-policy. Not sure why there are two documents with similar purpose.
2,259 karma · joined March 19, 2011
EDIT: Hmm, didn't see this one linked from the OP: https://github.com/jasnell/dev-policy. Not sure why there are two documents with similar purpose.
On top of its transport layer abstraction, socket.io adds various useful features including events, rooms, namespacing, efficient/convenient (de)serialization of both JSON and binary data, and over-the-network callbacks. I've been using it in websockets-only mode for various projects (you can limit the transports used), because I don't care for slower / less reliable transports but still want the extra features.
EDIT: If you'll allow the plug, an MMO trivia game show I made using socket.io (and three.js): http://masterofthegrid.net/
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.
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!
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.
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.
Here's a video of Superpowers (in all its early access glory) in action: https://www.youtube.com/watch?v=XxX7VFjf-XU
Here are two high-quality 2D jam games made with Superpowers in December and January: http://elisee.itch.io/
Here's a polished 3D demo we made in a couple days for the launch: https://sparklinlabs.com/game/player/
This is CraftStudio, Superpowers' cubic ancestor I built. It's been bought and used by thousands of people: http://craftstud.io/
We've been building a community and doing weekly livestreams in French (cause that's where we're from) for several months.
Superpowers is an extremely modular and extensible, real-time collaborative 2D+3D game maker built with Web technologies. It's the lightweight HTML5 "Unity" for indie developers who want more control, flexibility, native Web tools and the abillity to work online with their team. We're looking for financial support from the people who enjoy what we do and obviously, it's entirely OK for anyone to decide it's not for them :).
I wish for you that you'll find a better, healthier pastime than handwavingly mocking other people's hard work online.
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.
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)
I'll be happy to answer any questions, obviously.
> glTF on the other hand - and please enlighten me if I got this all wrong - is asking engines that already have their own tailor-made runtime format to support this one as well (or even instead). That's asking a lot.
For our Superpowers game maker, we didn't end up using glTF as the actual runtime format but we have a fairly simple importer that reads glTF, scavenges for what it needs and builds the final data. I expect most engines would still need a "last-mile" conversion, still some processing but much simpler than working with COLLADA or FBX directly.
Having spent some time working with the format, I hope it takes off and we see native support for it in most tools at some point. I've had great success using glTF to export models + skeletal animations from Blender and then import them for use with WebGL: https://twitter.com/elisee/status/558238454962978816. This is a little test project made with Superpowers, a soon-to-be open source HTML5 2D+3D game maker I've been designing with a couple of friends: https://sparklinlabs.com/
The devlog on TIGSource is worth checking out, too: http://forums.tigsource.com/index.php?topic=46317
Node.js uses MINOR even = stable, odd = unstable (which is not semver) and is still in 0.x even though it's been used by giants in production all over the world for a couple years.
io.js has many of the top core Node.js contributors. They're trying to move server-side JavaScript forward with open governance, faster release cycles, ES6, etc.
Also of interest, the state of ES6 in io.js: https://github.com/seegno/io.js/wiki/The-state-of-ES6-on-io..... Highlights: 'let', generators, promises, template literals, symbols are all enabled by default. EDIT: just realized this wiki page has been updated and integrated into the website at https://iojs.org/es6.html
OpenTK was until recently an unmaintained C# project. SDL2 on the other hand is a very robust C library, it's been used to ship many commercial games on Steam on all desktop platforms. On top of that, flibitijibibo is being paid to port many XNA games so he's had time to inspect, clean up and improve almost all aspects of the framework in a more methodical fashion that MonoGame's organic development style.
One of the many symptoms of that slow development process is that Node.js is basically running an unsupported version of V8 (https://twitter.com/jmayer/status/532971494695907328).
From what I've read, node-forward is/was only meant as a fork in the GitHub sense: they'd try to get their stuff merged back into node mainline. The GitHub fork has since been made private (https://github.com/node-forward/discussions/issues/7) and they're working to set up a proper governance model so that the community can truly be in charge. Joyent has reacted (I believe, it might have been in the works prior to node-forward) by proposing a node advisory board (https://github.com/joyent/nodejs-advisory-board) but it seems to be too little too late for at least some of the people behind node-forward (I've read what seem like irreconcilable disagreements about how it should be run).
I have no idea what (if anything) io.js is in relation to node-forward or if the same people are behind it. Can't find any announcements / endorsements on Twitter, so maybe it was just posted here before whoever is behind it were ready to go live.
So basically it's a Node.js app built in CoffeeScript. I'm using node-twitter-api to subscribe to the bot's twitter notifications (https://bitbucket.org/sparklinlabs/gdevbot/src/tip/app.coffe...).
Whenever a tweet arrives, I check various stuff (is it a retweet? are multiple people mentioned? more than one hashtag?) to decide whether it's a command or it should just be ignored. If all checks out, I parse the tweet's text (https://bitbucket.org/sparklinlabs/gdevbot/src/tip/app.coffe...) into a command and relay it to the backend for processing (https://bitbucket.org/sparklinlabs/gdevbot/src/tip/lib/backe...).
Images are validated & their size clamped using a node graphics-magick module. Emoji scripts are parsed using a custom parser I cobbled together (https://bitbucket.org/sparklinlabs/gdevbot/src/tip/public/js...) and JavaScript comes out on the other end.
The tiny game engine works with actors (or game objects in Unity3D parlance, it's very similar except 2D-only), they can have components (an image, one or more scripts) on them and can be parented to one another.
I've been building a cooperative game-making platform called CraftStudio (http://craftstud.io/) for the past 2-3 years and @gdevbot was just a kind of crazy "why the hell not" project inspired by all that work that I decided to build a couple weeks ago.
EDIT: I'm building a little game now, you can see it get build over here - http://gdevbot.sparklinlabs.com/p/starpick/edit