Craft Studio

Forum for random topics.

Craft Studio

Postby Zidders » Tue Apr 03, 2012 12:36 am

Craft studio
http://craftstud.io/

This looks exciting!
User avatar
Zidders
 
Posts: 12335
Joined: Fri Oct 30, 2009 9:50 am
Location: Bertram, Texas

Re: Craft Studio

Postby Kukuku » Tue Apr 03, 2012 12:50 am

Wowzers. That's some accent. I don't parse accents well. I mean he's not completely slaughtering Her Majesty's english language; I can understand just about every fourth word. But sometimes it's like hearing this:
http://www.youtube.com/watch?v=MJXww8aizAM&feature=related
User avatar
Kukuku
 
Posts: 256
Joined: Mon Aug 29, 2011 11:40 am

Re: Craft Studio

Postby kaosweilder » Tue Apr 03, 2012 1:05 am

iirc he is french. i dont get why people make a big deal of accent.

on topic: i would support him.....on the last day :P its a noble cause :ugeek:
User avatar
kaosweilder
 
Posts: 645
Joined: Fri Jul 15, 2011 9:41 am

Re: Craft Studio

Postby Zidders » Tue Apr 03, 2012 1:31 am

He had an accent?
User avatar
Zidders
 
Posts: 12335
Joined: Fri Oct 30, 2009 9:50 am
Location: Bertram, Texas

Re: Craft Studio

Postby amb2010 » Tue Apr 03, 2012 2:06 am

Kukuku wrote:Wowzers. That's some accent. I don't parse accents well. I mean he's not completely slaughtering Her Majesty's english language; I can understand just about every fourth word. But sometimes it's like hearing this:
http://www.youtube.com/watch?v=MJXww8aizAM&feature=related


Hate to break it to you but everyone on the planet earth has an accent. I'm sure to some people your accent is just as horrible :P Here in Michigan we're known for our lovely monotonous rambling that makes us sound like emotionless hicks, I'm sure Hawkn's noticed it on vent.

As for the topic at hand, it's an interesting idea. I'll have to check it out later.
Image
Disclaimer: Above berating does not apply to those with a brain (usually).
User avatar
amb2010
 
Posts: 2934
Joined: Sat Nov 07, 2009 12:52 pm
Location: Tucked inside a Mitten.

Re: Craft Studio

Postby Seer » Tue Apr 03, 2012 2:43 am

It's a pretty cool idea. I like very much how lately we see more gamer involvement with developing, with things like kickstarter, indie devs, digital distribution and platforms like this.
And so he spoke, and so he spoke,
that lord of Castamere,
But now the rains weep o'er his hall,
with no one there to hear.
Yes now the rains weep o'er his hall,
and not a soul to hear.
User avatar
Seer
 
Posts: 2363
Joined: Fri Oct 09, 2009 8:23 am
Location: Traverse Town

Re: Craft Studio

Postby Kukuku » Tue Apr 03, 2012 2:46 am

YES!! VINDICATION!!

I'm a horrible person because I'm terrible with understanding people speaking with accents! All those people who said I wasn't horrible were wrong! In your FACE, friends and family!! :D



Spoiler: show
Yes, I have an accent. It'd probably cause the top of your head to pop off trying to understand it too. It's not a bad thing for people to have accents. I think it makes them somewhat interesting. The problem with the video, for me, is that unlike speaking to someone live, I don't have the option to ask "Could you repeat that?" or "Could you say that a little slower?" So naturally, I'm saying it's all his fault. (When does the sarcasm end? Nobody knows.)
User avatar
Kukuku
 
Posts: 256
Joined: Mon Aug 29, 2011 11:40 am

Re: Craft Studio

Postby Seer » Tue Apr 03, 2012 3:27 am

I like the way he speaks. It really isn't much of an issue, be glad that he bothered to learn English instead of you learning French.
And so he spoke, and so he spoke,
that lord of Castamere,
But now the rains weep o'er his hall,
with no one there to hear.
Yes now the rains weep o'er his hall,
and not a soul to hear.
User avatar
Seer
 
Posts: 2363
Joined: Fri Oct 09, 2009 8:23 am
Location: Traverse Town

Re: Craft Studio

Postby DarkTails » Tue Apr 03, 2012 3:46 am

Oh those French and their wacky sideways power outlets.
DarkTails
 
Posts: 3704
Joined: Mon Jul 04, 2011 11:07 am

Re: Craft Studio

Postby EdgeDamodred » Tue Apr 03, 2012 6:39 am

Looks like a pretty fun tool. It's definitely more for the RPG Maker type crowd, which is perfectly fine as I've seen some really amazing things come out of those communities. The built-in creature editor alone looks like it would be fun to play with even if you can do modeling in a 3D package as creating a model, texturing it, setting it up for animation and actually animating it is quite an involved process. Sadly scripting isn't implemented yet though the wiki states it will have traditional and visual scripting.
User avatar
EdgeDamodred
 
Posts: 81
Joined: Thu Nov 12, 2009 5:36 pm

Re: Craft Studio

Postby Zidders » Tue Apr 03, 2012 7:20 am

Kukuku wrote:YES!! VINDICATION!!

I'm a horrible person because I'm terrible with understanding people speaking with accents! All those people who said I wasn't horrible were wrong! In your FACE, friends and family!! :D


Spoiler: show
Image
Oh, Vous
User avatar
Zidders
 
Posts: 12335
Joined: Fri Oct 30, 2009 9:50 am
Location: Bertram, Texas

Re: Craft Studio

Postby gold163 » Tue Apr 03, 2012 7:26 am

so any reason why it looks like minecraft? The style of the visuals, that is.
User avatar
gold163
 
Posts: 4162
Joined: Mon Sep 26, 2011 11:52 am

Re: Craft Studio

Postby Zidders » Tue Apr 03, 2012 7:49 am

gold163 wrote:so any reason why it looks like minecraft? The style of the visuals, that is.


CraftStudio uses voxels http://en.wikipedia.org/wiki/Voxel Voxels have been used by more games than Minecraft -Westwoods 1998 classic adventure game Blade Runner used them to render objects and particles- Minecraft is just one of the most popular games to have used them. One reason why they're perfect for something like this is that they don't use up as much processing power as mesh and wireframe rendered objects do. While minecraft can be a resource hog, this is due to Java, not the graphics.

It makes sense that someone would use Minecrafts example to make something like this. After all, it's not really a clone of minecraft. If anything, I think it has the potential to improve on Minecraft-depending upon who uses it and how good they are at learning their way around the program. Of course, it could produce some spectacular disasters, too. Either way, i'm gettin' my paws on it as soon as I can.
User avatar
Zidders
 
Posts: 12335
Joined: Fri Oct 30, 2009 9:50 am
Location: Bertram, Texas

Re: Craft Studio

Postby gold163 » Tue Apr 03, 2012 7:57 am

I dunno, some of them look like textured polygons. I was under the impression that voxels couldn't be arranged and rotated on different axes like they appear to be in Minecraft and etc. I thought voxels could only be arranged on an XYZ plane as cubes, like pixels are on a 2D plane.

Still, it's a good decision. It's probably far easier to create models from voxel-ish legos than sculpting triangles, and it's probably more easily scalable too.

I didn't get a chance to watch the video. Have you guys heard of Blockland? It has a similar fundamental concept with the scripting and such.
User avatar
gold163
 
Posts: 4162
Joined: Mon Sep 26, 2011 11:52 am

Re: Craft Studio

Postby EdgeDamodred » Tue Apr 03, 2012 8:54 am

The voxels themselves cannot be rearranged but the fact that we don't use voxel displays(yet, think holograms), allows them to be eventually subject to traditional rasterization techniques. The voxels have to be converted into pixels anyways so basically they are put in box containers which are subject to transformations(translation, rotation and scaling). Because they have to be converted into polygonal geometry for eventual rasterization they can be transformed at that point.

If you've ever done Quake Engine or Unreal Engine editing using Brushes it's a similar concept, the brushes just define a volume but they have to go through an operation called Constructive Solid Geometry to create the actual polygons for the rasterizer. If you load up UDK and create an Additive box in the toolbar above a view window you can see two different wireframe views. One view shows just the bounding volume of the brush, the other shows the actual polygons generated by the brush after the Build Geometry command is executed.
User avatar
EdgeDamodred
 
Posts: 81
Joined: Thu Nov 12, 2009 5:36 pm

Re: Craft Studio

Postby Zidders » Tue Apr 03, 2012 9:02 am

Thanks Edge. I'm kinda derp when it comes to this stuff. Tried to make a kangaroo using the alpha of this and my head asploded. I know i'll be able to make stuff. The object manipulation is what looks like a simplified version of the build tool system in second life.
User avatar
Zidders
 
Posts: 12335
Joined: Fri Oct 30, 2009 9:50 am
Location: Bertram, Texas

Re: Craft Studio

Postby Kukuku » Tue Apr 03, 2012 2:59 pm

EdgeDamodred wrote:The voxels themselves cannot be rearranged but the fact that we don't use voxel displays(yet, think holograms), allows them to be eventually subject to traditional rasterization techniques. The voxels have to blah blah blah, wordy words.


None of what you wrote made sense to me. And you didn't even need an accent. Congratulations.

I think it's cool what he's doing. Making a program that allows inexperienced people to animate LEGO style stuff that um...
OK. What was he doing exactly? Something about making a game that makes a game? I didn't fully understand what he was saying, for some reason. >_>
User avatar
Kukuku
 
Posts: 256
Joined: Mon Aug 29, 2011 11:40 am

Re: Craft Studio

Postby Zidders » Tue Apr 03, 2012 3:38 pm

CraftStudio is a real-time cooperative 3D game-making platform
You can make your own 3D models and maps, put them together in scenes and add behaviors to them.
It features block-based 3D modelling, a voxel map editor and (optionally visual) scripting. And it's all real-time: you can make a game (or movie) just like you would play Minecraft, with a bunch of buddies. Setup a project, invite your friends and start building awesome stuff!

"Why?
I think making a good game is hard for the wrong reasons. Mechanics, graphics, sfx, story, levels, fine tuning, testing... All of this is hard work that will make it into the game, and that's fine. That's what game dev is about!

What's sad is that there's an *awful lot* of technical stuff you need to learn, making it very hard to get into game dev. Not everyone needs (or wants) to learn a bazillion programming tricks. I want to let more people jump right in and have fun making art/games/movies/whatever.

So, yeah, that's why I'm building CraftStudio. And also because I'd love to make games with friends (and get to know people while making games, too!).

Core features
There are great tools like Construct, Game Maker, Unity, etc. doing a good job of making game dev more accessible. But I want more:

It's real-time collaborative: everything you do happens right on the server. You can interact with your friends, tweak a 3D model, a texture, a behavior together, in real-time.
It includes pretty much everything you need: models, maps, scenes & scripts are all created within CraftStudio. (Hopefully sounds & musics too at some point!)
It's gamey: Game dev is exciting, challenging, rewarding. By taking out the technical hurdles, it pretty much becomes a game of its own.
"http://forums.tigsource.com/index.php?PHPSESSID=cb113a52038ef942cba5aec5ae107af8&topic=22939.0
User avatar
Zidders
 
Posts: 12335
Joined: Fri Oct 30, 2009 9:50 am
Location: Bertram, Texas

Re: Craft Studio

Postby EdgeDamodred » Tue Apr 03, 2012 6:05 pm

Kukuku wrote:
EdgeDamodred wrote:The voxels themselves cannot be rearranged but the fact that we don't use voxel displays(yet, think holograms), allows them to be eventually subject to traditional rasterization techniques. The voxels have to blah blah blah, wordy words.


None of what you wrote made sense to me. And you didn't even need an accent. Congratulations.



MASSIVE WALL OF TEXT AHEAD WITH NO TL;DR VERSION EXCEPT PRETTY FORMULAS MAKE PRETTY PICTURES

Yeah I myself do hate it when someone explains it with nothing but terminology to make what they're saying shorter(hence the reason mathematical short hand drives me nuts even though I can actually understand the mathematics themselves most of time, but remembering all those symbols and the fact that it's not written linearly drives me bonkers. Which is why I like programming because you have to write it linearly).

First off you understand that your screen is just a bunch of rows and columns making a lot of tiny, evenly sized, evenly spaced dots. Usually this is expressed as a resolution such as 1920 x 1080. In this case I have 1,920 dots going across, and 1080 going down. Each dot is a single color made up of a combination of intensity of the three primary colors of light, red, green and blue. Each dot is called a pixel which is short for Picture Element.

A voxel is essentially the same concept except it uses a third axis. So instead of only the x axis and y axis used to tell where an individual pixel lies on the screen, we have a z axis as well to state how far "away" from the screen a pixel is from whatever we designate as the origin. It stands for Volumetric Pixel, or Volumetric Picture Element.

However our screens only work in pixels as it is a two dimensional display and not a three dimensional display, which are not common place. (Side note: the current "3D" TV's/monitors are not true 3D displays as they rely on trick that causes our brains to interpret a "3D" effect called stereoscopic 3D. Honestly it looks more like a pop up book and is rather annoying in most cases and has been around for decades yet they feel the need bring it back every 25 years or so.).

Now as a way to actually display something on a 2D screen voxels are actually pretty useless in and of themselves. However the concept of a voxel can still be used to define a large volume "efficiently" or at least easily. In the case of Minecraft, and apparently CraftStudio, the world is essentially divided into evenly sized cubes called voxels and a player can tell each voxel what "color" it is in the game. A specific color determines the properties of the voxel such as whether it's solid, can it be mined, what type of mining surface it is, etc. So the world can be efficiently stored because it is just a 3D grid of numbers that is maximum length along each axis. Each number takes up a relatively small amount of memory and the size of the overall data never changes, just the values.

As I said we can't display voxels on the screen, so we need some way of converting them into pixels. This is where the standard graphics pipeline comes into play. Since each voxel represents a cube it can only be seen on 3 sides at most at any one time. Go ahead, find a block somewhere in your house and try to see more than 3 sides of it at once with some method of reflection(a mirror, a recently waxed car, a really shiny kitchen floor, etc.). So now to display a single voxel we just need three squares that are positioned and angled relative to our camera's view.

Unfortunately our monitor only understands pixels. While square themselves they must always be positioned and oriented to the surface of the screen. So now we need to use some mathematics and logic to turn get this to work. First up is the idea of Transforms. A transform is simply something that describes an object's position(Translation), orientation(Rotation) or which it is facing, and scale(how stretched out or squished along a particular axis). The transform is stored in a matrix, which is nothing more than a 2D grid. However the positions in the do have meaning as they are relative to some equation(s), in this particular case the set of equations that translate,or move something directly to, rotate, reorient something, and scale, stretch or shrink something, a point or set of points that make up an object. What this will allow us to do later on is apply a complex formula to a transform simply by multiplying the transform matrix by another matrix.

Now we need to convert each square surface into a set of triangles, in this case 2. The reason for them being triangles is because a triangle is the simplest form of polygons there is and all other polygons can be made up of just triangles. That and some other reasons such as a triangle is always convex(if you draw a line from one point to any of the other point within the shape the line will be contained completely within the bounds of the shape) which a lot of other algorithms depend on. Polygons in general are used over other shapes such as circles or lines or points or some of those other geometric shapes that are bizarre, because they can define areas fairly precisely with fairly low memory cost and are pretty easy to work with.

Next up is the concept of relative spaces. This one's a bit trickier to conceptualize without actually seeing it. But basically every possible Transformation is relative to a particular origin. When I say "5 meters to the left", you have no frame of reference, but if I say "5 meters to the left of your desk" you know where I'm talking about. In that case, all transformations are relative to the origin, which is your desk. If I say "100 kilometers north from Atlanta, Georgia's center", we're talking about a different relative space. The cool thing is we can actually convert from one space to another. I'm not going to go into the math but basically it involves multiplying one transform by another matrix .

We need to take an object and convert it through several different spaces. Our square is made up of 2 triangles it is made up of six points, with 2 of them shared between both triangles. Those points are relatives to the voxel's origin(along with the points that make up the other 5 sides. We need to convert those points into World Space, so they become relative to the world's origin.

Here's another tricky concept to understand, Camera, View, or Screen Space. When it comes to actually drawing stuff on screen, the screen does not move, you have to move the world in front of the screen because it only draws a certain range from its own origin(-1 to 1 or 0 to 1 along an axis depending on what your using to draw, either OpenGL or Direct3D).

While we're done moving points into different spaces we're not done with multiplying them by matrices. The next one up is applying a projection to the points to given a sense of depth. We have two types of projections we can apply, an Orthographic and Perspective.

Even though Orthographic may sound like the more involved one as you may or may not have ever heard the word, it's actually the simplest. It essentially just removes the depth or z value of a point and creates a rather flat look where objects will be shown at the same size regardless if they are further back from the camera. This kind of projection you find common in CAD(Computer Aided Drawing) and 3D modeling/level editing packages as it is useful for easily comparing two objects size wise without navigating to each of them and busting out a measuring tape.

Perspective Projection gives us that sense of depth but it is mathematically harder. The nice thing is we can wrap the equation into a matrix that we can use to apply it to our points simply by multiplying the point by the matrix. If you ever taken an art class in school you may have done perspective drawing, usually involving drawing a bunch of lines all converging on a center point to give a sense of depth to a building so the back end looks smaller the "further back" it goes into the picture. The nice thing is that this can be done mathematically and has been done by artists for centuries. In Europe you can find certain historical homes where entire rooms appear to be filled with book cases and furniture but are in fact just 6 flat walls.

Note: The nice thing about using matrix math to do the space conversions is we can combine all the matrices(the ones that convert from Object Space to World Space, to Screen Space, and apply a projection) by multiplying them in the reverse order into a single matrix and then just multiply each point by that single matrix.

Okay great! We now have cubes defined as voxels converted from squares to triangles to points that make up the triangle and have converted and projected them so they hopefully show up on screen...we still haven't even drawn the damn things yet!

Now we enter the fun world of Rasterization! Rasterization is converting a Vector Graphic into a Raster Graphic! "Oh noes! More termeseses Precious!" Time to break these down.

Raster Graphic is pretty easy as it is what your screen is and any photographic you store digitally is, an image defined by a set of pixels. A Vector Graphic is an image defined by mathematical equations(which a triangle is). The cool thing about Vector Graphic is they do not suffer from distortion due to pixelation the closer you look in on them, they will always appear smooth, even curved edges. But for various reasons we no longer use Vector Graphic displays however if you can find some old arcade machines(especially the Star Wars arcade game that featured the trench run) you can see some examples of vector displays. While the edges appear smooth, the areas defined by them are either empty, creating wireframe look, or a single solid color, which isn't terribly useful especially if two or more vector images are next to each other and are the same color. Plus filled areas take significantly more processing power. So we need to convert them into Raster Graphics.

Sadly this can't be done by simple matrix multiplication and basically requires a brute force algorithm. There are basically 2 well known algorithms to do this. One finds the slope of each edge of the triangle and then goes up each pixel along the edge of the triangle and fills in that row to a certain point based on another formula I believe involves the center of the triangle. So basically you fill in 3 smaller triangles for each triangle. The second algorithm is much more brute force but is faster and is the standard one used by most graphics hardware today. It simply defines the smallest box around the triangle and then tests whether or not each pixel resides within the bounds of the triangle's edges.

There's quite a bit more to it but we've gotten to the point where we've converted worlds defined by voxels into pixel positions. There's still the matter of textures and and lighting and the other fun stuff. If you want I will post more if anyone is interested, or you can google, The Rendering Pipeline, though you're more likely to come up with more technical explanations.
User avatar
EdgeDamodred
 
Posts: 81
Joined: Thu Nov 12, 2009 5:36 pm

Re: Craft Studio

Postby gold163 » Tue Apr 03, 2012 6:15 pm

Here, I will tl;dr it for you, or at least just the part that I think is most important:

Voxels are essentially 3D pixels. So they're cubes. But our monitors are two-dimensional displays and as a result have no way of naturally conveying how voxels take up space other than a 2D representation. Nothing on our monitors is actually 3D, it is in 2D even if it is stereoscopic (but you probably already knew that). A hologram (like Star Trek or something) would be a three-dimensional representation, for example, instead of a picture on a flat screen.

Today's games use "3D graphics" but they're actually just mathematical models of 3D objects represented two-dimensionally. The way most 3D modeling works with polygons, it is like a paper mache model, hollow on the inside and the image you see on your screen is like a photograph of that paper mache. If we use voxels in a game it allows us to define volume accurately like how we define area using pixels, since there is no empty space between pixels. So voxels would be like building that same model out of legos instead of paper mache.

Since we can't represent 3D objects in three dimensions, we have to use pixels anyway regardless of whether we're using polygons or voxels. So the end result in representation is pretty much the same. As a result since we aren't strictly representing voxels, we can do a lot of the same things to represent them similarly to how we represent other non-voxel 3D objects, so we can make voxels scale and rotate like conventional 3D models.

Did I get that right?

If you really want to see how strictly using voxels would work you should try out Voxelstein 3D. You should see it to see what we mean.

http://voxelstein3d.sourceforge.net/

Then, compare how the game looks and represents volume to how a game like Quake would represent 3D objects. And then compare that to how Minecraft represents objects, which is in-between the two for the sake of gameplay purposes and the ease of building things. Craft Studio looks like it functions similarly to Minecraft on a fundamental level, but the reason why Zidders is excited about it is because of the other potential possibilities that allow users to interact, script, and create their own games in real-time, rather than just being a sandbox construct for someone else's game (Notch and Mojang's) like Minecraft is.
User avatar
gold163
 
Posts: 4162
Joined: Mon Sep 26, 2011 11:52 am

Next

Return to Off-Topic Discussion

Who is online

Users browsing this forum: No registered users and 4 guests