CraftStudio is my real-time multiplayer "game to make games". I built it out of my own frustration with existing game-making tools and a desire to let everyone (gamers, most importantly) make their own games. Minecraft was an obvious inspiration to its blocky, pixelarty nature.
Among other things, I redesigned the whole interface, added a physics engine (BulletXNA) and build a Web player (using Three.js and Lua.js) to allow playing CraftStudio games right in in the browser: http://store.craftstud.io/games
If you have any questions, technical or otherwise, I'll gladly answer them.
This looks very cool. Were you also inspired by the Kodu Game Lab for Xbox 360? That game was probably one of the more enjoyable game making games I've played.
I rewrote the whole runtime in CoffeeScript. I'm basically using the exact same C# data files, I simply wrote the equivalent of the .NET BinaryReader in JS (using the recent ArrayBufferView WebGL typed array thing) to read back my binary project & asset files. I then use Lua.js (https://github.com/mherkender/lua.js/) to convert the Lua scripts into JS at load time and mrdoob's Three.js (threejs.org) to render it all.
Very (pleasantly) surprised to see a full French localization. Would love to hear whether it was worth it, wondering if I should translate my startup materials. Anyhow, félicitations!
> Very (pleasantly) surprised to see a full French localization.
I looked around for translations, and couldn't find anything. What other languages are available?
Great to hear the author built this with translation/localization in mind! It's simply not optional if kids are in the target audience. Fortunately it also means that imperfect or incomplete translations are better than none! children don't mind the occasional spelling or style error.
Barrier to exploration is what it's all about. It's scary exploring a new user interface in a language you don't understand (great example is the stereotypical "japanese hi-tech toilet" scene in a sitcom). Even a few not-quite-right word-for-word translations builds confidence as to what a button or command _probably_ does, and also what it most probably will _not_ do (say, exit without saving :P).
CraftStudio itself has well-maintained French, German and English translations. There are stubs or partial translations for Spanish, Polish, Portugese, Russian and Dutch.
I'm French myself so it wasn't much of a thing; I've asked the community to help with contributing new translations and I just received a Hebrew one for the website and the German is in the works.
Definitely worth it in my case, since as I have lots of young users who can't speak English.
Super, moi aussi. Still impressive - translating/maintaining our materials in French seems daunting even though I'm a native speaker. Perhaps it'll be more feasible with community involvement.
Last question: How will this work if me and my friends want to sell our game? You might be asking why professionals are using a tool like craftstudio to push out a game.
My friends aren't programmers. I'd rather them trying to figure out craftstudio than teach them opengl/webgl/direct3d.
Everything you build with CraftStudio is yours, entirely (as long as you're using only assets that you own the rights too, obviously) - See http://craftstud.io/terms for details. I wouldn't want to ruin a good platform by providing unfair terms.
Great job, man. I highly recommend you allow people to subscribe to it on a monthly payment system. Or, unfortunately, you won't be making enough money to pay bills off of downloads alone.
I'm trying to keep it affordable for everyone, hence the once-time payment. I plan to have a built-in store to allow sharing games & assets and when people sells their stuff on it, I'll take a cut (although people will still be able to sell their games / assets outside CraftStudio without paying me anything) and might provide server hosting and so on at a cost later too. Thanks for the advice!
If you have any interest in perhaps using JSIL to cross-compile the .NET components of your engine, send me an email. It seems like it could simplify the maintenance of your web player (by eliminating the need for some code duplication). You could potentially consider moving the editor into the browser too, but that's more work.
Anyway, this seems like a great tool. I like your emphasis on collaborative editing - too few tools consider team workflows; some aren't even compatible with revision control!
Thanks for the offer. I'd love to move the whole platform to the browser in the future, but I'll probably wait for WebRTC and WebComponents support to get better before I start looking seriously at it. If I find the time, I'll try to see how a JSIL port of the Web player compares to my handwritten approach, I might be surprised to see the result :) Thanks for the pointer!
That's an awesome idea. I remember how Klik & Play (http://en.wikipedia.org/wiki/Klik) pushed me towards software development, when I was a kid. Projects like this really stimulate the imagination and have a power to inspire children to get into IT. Big kudos :)
I think I've read about it here on HN months ago. The current version looks very decent from the video. I'll surely will check it out. You've my full respect for pulling this off.
One question though: Why does it use an installer on OSX that requires me to enter my admin password?
Thanks :). I had to build an installer to check that you have Mono installed by running a "which mono" command and displays an error/info message otherwise. I could provide a separate download that doesn't but it's more work and my hands are already more than full so for now, I'm afraid that'll have to do :)
Thanks for the quick reply. It's fine, I just wondered, since most "games" don't ask for these permissions, only annoying things like Adobe Flash wants it ;)
Are you guys interested in teaching kids how to code/make games? Your visual method for scripting looks very similar to scratch (http://scratch.mit.edu/). Although I haven't used your program, it seems like it would make a natural stepping stone once kids have done everything they can in scratch.
<CSB> I taught an extracurricular class on game making in scratch to elementary school kids for four years. Every year, there were one or two kids that seemed to have mastered scratch and were being held back by the program's limitations. I wish I had had your program so that I could have given them something more challenging.</CSB>
Yup, teaching kids (and adults alike :)) is one of my motivation for CraftStudio. Scratch was a great advance back in the day (and their visual scripting system was definitely an inspiration for CraftStudio's own) but the Scratch platform is severly limited and I definitely believe CraftStudio would be a good upgrade for a lot of children (as an upgrade path from Minecraft too, since it shares some similarities). I know kids aged 10 to 15 are building actual little games with CraftStudio, so I'm definitely hoping to see that aspect of it grow more :)
Thank! Mipmapping's been on my mind for a while, haven't gotten around to it because XNA doesn't easily support generating mipmaps at runtime (most games would do it in the XNA content pipeline preprocessor but CraftStudio textures can be edited while they're displayed) so I'd have to find a lib or build something myself. Definitely will get to it at some point though :)
Is there a name for the 3D art style shown in the screens? It seems just like pixel art with small palettes applied to low polygon models. But I really like it!
This is looks awesome. Already downloaded the program and forked the repository on Bitbucket to help translating it to brasilian portuguese (pt-BR). Congrats and keep up the great work! =)
Is there somewhere you'd like us to report Linux issues? As it stands, the model creation is unusable, because when clicking the center mouse button, it spins very rapidly. The alternative (alt+left click) is the "grab window" shortcut in X, so that won't work either.
This is one of those few times when the word "awesome" doesn't do justice, I just bought the "extra love" licence for €100... you deserve that and much more.
Here's the full announcement for the Beta with an overview of the changes: http://sparklinlabs.com/2013/04/craftstudio-beta-is-released...
Among other things, I redesigned the whole interface, added a physics engine (BulletXNA) and build a Web player (using Three.js and Lua.js) to allow playing CraftStudio games right in in the browser: http://store.craftstud.io/games
If you have any questions, technical or otherwise, I'll gladly answer them.