

A Game to Make Games - esente
http://craftstud.io/

======
elisee
Hi, CraftStudio developer here.

Just woke up to a surge of visits & contributions and realized CraftStudio
made it to the HN front page. Thanks for the love and criticism, I value it a
lot coming from the Hacker News crowd.

A bit of technical background for those who might be interested: CraftStudio
is built in C# using the XNA framework.

I will port it to MacOS X and Linux using Mono + MonoGame
(<https://github.com/mono/MonoGame>), when MonoGame reaches enough 3D support.
I already managed to get the UI to run under Linux so I'm pretty confident
this will pan out well.

The network code uses the most amazing Lidgren.Network library
(<http://lidgren-network-gen3.googlecode.com/>). Honestly I don't know that
CraftStudio could have happened without it. It's entirely UDP-based and does
such a great job of handling all the low-level bits while providing a great
API.

The user interface uses a custom built library (which I open sourced under the
MIT license over there, documentation is severely lacking for now though:
<http://nuclearwinter.codeplex.com/>).

You can also find the Operational Transform library I built for real-time
collaborative document editing (MIT too,
<https://bitbucket.org/elisee/nuclearot>). It's only used for the text-editing
support.

If you have any questions, please go ahead and ask :).

You can follow me on Twitter there: <https://twitter.com/craftstudiodev> if
you want to be kept in the loop. I also do livecoding on CraftStudio every
once in a while: <http://www.twitch.tv/eliseegw>

------
pak
Well produced video and website, simple and honest presentation. Seems to
build a lot on the appeal of Minecraft, but considering how popular Minecraft
is that's probably a very smart move. Hope it works out! I'd try it out if
there were a Mac version.

Looking at the time-lapse of using it [1] it's certainly not a "game"; you
need to have patience and dedication to make anything serious. If there were
any friendlier looking interface for learning the principles of 3D editing and
animation, though, I sure haven't seen it. Could perhaps inspire a lot of kids
from middle-school age and up.

[1] <http://www.youtube.com/watch?v=r1QbJO3y_O0#>!

~~~
roryokane
To make it more game-like, perhaps CraftStudio could emulate the Jobs function
from WarioWare D.I.Y. for the DS. In that game, you were tasked with drawing a
small number of assets for a game template, such as drawing your spaceship and
enemies in a top-down shooter. It also had a programming challenges function
where it asked you to implement a certain functionality, and just one line of
code was blank - but you sometimes had to look at the code of the whole rest
of the game to figure out what was left.

I would certainly call WarioWario D.I.Y. a "game to make games", so the
developer should definitely check it out if he hasn't. It's very polished.
Though CraftStudio's scripting system will have to be pretty different.
WWDIY's scripting system is very primitive, and has low, hard limits on
numbers of objects. It isn't too bad in-game because each game you create is
played for only a few seconds, so doesn't have too much stuff, but CraftStudio
is obviously different.

~~~
elisee
Yeah I've watched a few videos about WarioWare. They really nailed the "it's a
game" thing, but the restrictions are really heavy. Having worked on a couple
Nintendo DS titles myself (nothing worth mentioning), I'm pretty sure the
hardware limitations had a great part in this. Those consoles were / are
amazingly limited.

------
matsim
Hi, I've got a couple things I wanted to comment on.

First, and the most obvious, I want to say that this looks like a very
interesting and fun project. I wish you the best.

Secondly, and I know I'm pointing out the elephant-in-the-post here, but I
think if one is launching a product or revealing a project to a wide group of
potential users, it would be best to utilize a speaker that is easy-to-
understand. This has been a point of criticism in past HN posts. Obviously, I
don't mean to be offensive in anyway and I really don't know the most
politically correct way of pointing this out. I just simply could not
understand a large chunk of what the speaker in the video was saying because
of his strong accent.

I think there are some ways around this. For example, you could use a
different speaker and if you felt the need to make an appearance or comment in
a video as the creator/founder of a project, you could make a couple brief
rehearsed/precise comments.

Again, very interesting project and I wish you the best.

~~~
elisee
Hi there,

Thanks for the criticism! I do realize my accent might be off-putting and did
my best. My friends and I did many takes and kept the best of them, fully
realizing the limitations we were working with.

I wanted the video to feel personal and also use this as an opportunity to
improve my communication skills.

I subtitled the video in both English and French right away to mitigate the
problem.

------
roryokane
"CraftStudio will provide an easy-to-use scripting system catering to both
beginners and power users"

I hope that by supporting power users you mean CraftStudio will support, in
addition to your visual scripting language, an existing (textual) programming
language. A language has to be text-based for users to input the code with
reasonable speed, unless your GUI is fantastic. And if you try to implement
your own text-based language, I bet you will miss a lot of useful features of
existing languages - and users wouldn't be able to use existing libraries with
your language. I've heard that Lua is a popular game scripting language, but
there are many other possible languages. So, what are your plans for the
scripting language?

~~~
elisee
I'm working on a design using a special-purpose, custom-built text editor
which will provide visual cues and mouse-based interaction in addition to your
regular keyboard support. So beginners could write conditions and call API
functions without much or any typing.

It's very important for me to not hinder the productivity of people who
already have scripting / game dev experience and as such I want the scripts to
be fully editable with a keyboard. There will probably be a way to edit your
scripts externally at some point too.

The details are still a bit blurry as I'm quite busy implementing all the
other core features but it's coming together. I'm looking at a lot of what has
been done, too.

CraftStudio has scenes, which are pretty similar to Unity 3D scenes. You have
game objects in a hierarchy and you can add components to them to render stuff
or add physics or script behaviors.

I plan on using Lua as the underlying scripting language, but I might change
my mind by the time I get around to implementing it. I expect (just a wild
guess) to have scripting support ready sometimes over the next 2-3 months.

There will be a library of "black box" scripts with a bunch of variables and
nobs you can turn. People will be able to make more and share them with the
community. You'll also be able to reveal the underlying code if you want to
tweak it to your specific needs.

On that front, I think CraftStudio has the potential to get people into
programming by starting with simple tools and then learning with the help of
others thanks to the real-time collaborative editing capabilities. Being able
to chat and interact about code will be pretty awesome I think.

------
citricsquid
For those who don't watch the video, they're currently raising crowd funding
via indiegogo (which is a bit like Kickstarter[1]) and have raised almost
$10,000. Link here: <http://www.indiegogo.com/craftstudio>

[1] IndieGoGo is like Kickstarter except instead of money being taken when
they total is reached (with "pledging") it's taken straight away and provided
whether or not the project succeeds in raising the total.

~~~
elisee
IndieGoGo actually lets you choose whether you want an "all-or-nothing" or
"keep it all" campaign.

The main reason I wandered away from Kickstarter is that in order to start a
campaign, you need to be a US citizen living in the US with a US id. Since I'm
living in France, that's not happening.

------
sounds
Reminds me of the 'Inventing on Principle' talk: <http://vimeo.com/36579366>

------
phzbOx
Wow, I just got nerd chills while listening to that video, great idea and
awesome execution. Where it will shine is when you'll be able to follow a 5min
tutorial and create a "Quake" and invite your friends to play your game..
while letting them hack their own characters, edit levels and add more
original features to the game.

------
ParadisoShlee_
Enjoy my money.. I spent months of my life on Klickandplay and other game
maker stereos in my time.

Id wonder how hard it would be to support both templated GUI based events and
a scripted language for those who wanted to get a little deeper than

onclick(mouse1).character(player).section(armleft).item(bow).create(arrow1).shootforward(90)

Can you show a preview of the shirt?

~~~
elisee
Thanks for contributing!

You can read my comment about scripting down there, which should give some
more insight about what I'm trying to achieve:
<http://news.ycombinator.com/item?id=3752396>.

Thomas Frick is working on multiple concepts for the t-shirt and we'll
probably have a community vote to choose which one will go to print. He
designed the pirate on the frontpage of <http://craftstud.io/> and also made
this pretty cool artwork:
[http://d2oadd98wnjs7n.cloudfront.net/medias/192736/files/Cra...](http://d2oadd98wnjs7n.cloudfront.net/medias/192736/files/CraftTeam.jpg).
You can see more of his work at <http://xaelgraphics.com/>

------
jurre
It looks really great! I'm going to try and get my kid brothers to play this
because I hope it will get them interested in the technologies behind games a
little rather than just playing them. Only saw a windows version so far
though? Any plans voor an OXS/linux version?

Edit: It's on the wiki, both are planned.

------
Erwin
What's new since 1991 -- multiplayer?
<http://en.wikipedia.org/wiki/3D_Construction_Kit>

------
EtienneK
This has so much potential! Well done and goodluck!

