Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411423 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 19, 2024, 04:41:10 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsCraftStudio: game-making for gamers (real-time collaborative!)
Pages: 1 2 [3] 4 5 ... 10
Print
Author Topic: CraftStudio: game-making for gamers (real-time collaborative!)  (Read 67900 times)
elisee
Level 1
*



View Profile WWW
« Reply #40 on: January 16, 2012, 01:30:41 PM »

I'm currently working on implementing access rules and member roles. Here's my plan as of now (might change)

The following member roles will be defined:

  • Spectator: a spectator can look through the project and see what others are doing, but can't make changes
  • User: a user can create, rename, move, edit and trash assets, they can create new revisions.
  • Moderator: a moderator can do anything a user can do, plus restore trashed assets, edit the project's whiteboard, edit project tasks, invite new members, accept membership requests and ban people
  • Administrator: an administrator can do all of the above plus edit a member's role, purge trashed assets, delete asset revisions, publish the project and change the project's settings

You'll be able to decide how open you want your game / movie project to be and set the default role for new members (spectator or user). Here are the 3 modes that I plan on adding:

  • Open: anyone who knows about your project can join
  • Request membership: anyone can request membership, moderators & administrators can approve or deny membership requests
  • Invite-only: only people who have been added by moderators or administrators can join the project

I think this should cater for all use cases:

  • open projects where anyone can take part (risky because of possible griefing, but if people are careful to create revisions often, it might just work)
  • projects developed in the open (anyone can spectate) but only team members can edit
  • mostly private projects but people can request membership
  • fully private projects where the admins / mods decide who gets to access the project

As far as licenses go, that's one of the thing the upcoming whiteboard could be used for. For instance if you want all assets on your server to be licensed under a Creative Commons license, you could let people know this by putting it in the whiteboard. (Although I wonder if an actual agreement with a "I agree" button would be needed?)

If you think I've missed anything (maybe I forgot a use case?), please let me know!
Logged

slot9
Level 0
*


View Profile
« Reply #41 on: January 16, 2012, 01:34:53 PM »

This looks great Elisee! Thank you!
Logged
SolarLune
Level 10
*****


It's been eons


View Profile WWW
« Reply #42 on: January 16, 2012, 02:19:15 PM »

I'd say just the whiteboard's necessary. It's not like you can bring in models from Blender or anything (can you? :O). By the way, awesome implementation so far - I look forward to this becoming mature, and I'm pretty sure I'll buy access when it's available.

I would give a suggestion of the ability to lock certain assets with a password - this way, only some things (non-important things) can be 'grief-able'.

For example, you might make a game about a ninja, and password protect just the ninja. Anyone can edit and change anything about the world but that one ninja. That one ninja is secure.

__________
|                  |
|       Ninja       |
|_________|
 
LOL

So that way, the project can be open, but not totally destructible.
« Last Edit: January 16, 2012, 02:30:27 PM by SolarLune » Logged

elisee
Level 1
*



View Profile WWW
« Reply #43 on: January 16, 2012, 03:38:36 PM »

I lol'ed at the locked up ninja Grin.

Yeah per-asset locking might be useful to secure "validated" content, I'll write it down, thanks!

There are no import / export options for now. Export options will be added later on (probably OBJ for models, maybe FBX ASCII... any suggestions?), and some import options are planned too (textures & sprites mostly, but maybe models could be made to work too, at some point)
Logged

elisee
Level 1
*



View Profile WWW
« Reply #44 on: January 16, 2012, 04:38:51 PM »

I'm having second thoughts about naming people making stuff in CraftStudio "users".

Spectactors, admins & mods are fine because they actually describe what those people can do. Any idea what would be the right word for people-who-can-actually-edit-the-game? Designers? Editors? Makers? (The fact that I'm not a native speaker doesn't help here)

I'm thinking of grouping people by role in the member list, but maybe I should rather put little badges next to admins, mods and spectators, and leave "normal" members as is...
Logged

SolarLune
Level 10
*****


It's been eons


View Profile WWW
« Reply #45 on: January 16, 2012, 06:22:25 PM »

I'm having second thoughts about naming people making stuff in CraftStudio "users".

Spectactors, admins & mods are fine because they actually describe what those people can do. Any idea what would be the right word for people-who-can-actually-edit-the-game? Designers? Editors?
Those sound good. Or "Creators".
Logged

elisee
Level 1
*



View Profile WWW
« Reply #46 on: January 23, 2012, 01:19:52 PM »

I ended up keeping standard project members labelled as, well, "Members".



I spent the whole day working on setting up a client-server authentication system so servers can ensure clients are not pretending to be someone else. It's not a very sexy feature but it needs to be done.

I read up a bit about how Minecraft does it, and I'm implementing something similar. Here's a little summary of how it will work in CraftStudio:

  • Server advertising Servers send a heartbeat every 50 seconds to the master server with a secret salt (randomly generated string).
  • Protocol negotiation When a client connects to a server, it sends its protocol version. If the protocol versions don't match, the server denies the connection right away.
  • Server settings The server sends a message letting the client know whether or not it should authenticate (authentication can be disabled with a command line switch to allow for LAN servers. It's highly discouraged when online though, since clients could pretend to be anyone fairly easily!)
  • Request authentication key If authentication is enabled, the client requests a "server authentication key" from the master server by specifying the server's address. The master server looks for an entry in its list of servers and returns an authentication key, which is a hash of a string composed of the user's name and the server-specific salt.
  • Authenticate against the server The client then sends its username and authentication key to the server. The server computes the expected key and compares it with the supplied key. The client is now authenticated!

I still need to finish this properly, and then I should be able to release a new version with a bunch of other changes (most importantly cyrillic support & an initial russian translation).


CraftStudio in Russian
« Last Edit: January 23, 2012, 01:45:53 PM by elisee » Logged

elisee
Level 1
*



View Profile WWW
« Reply #47 on: January 25, 2012, 02:47:09 PM »

I just pushed a new update (0.0.11.0) with the new triangular authentication system (client - server - master server) and Russian translation as detailed in the previous post.

I also managed to fix a big limitation that I had accidentally trapped myself into: the launcher you install didn't have an auto-update system. This meant that I could not change much of the master server's protocol or easily add new features to the launcher for everyone (people would have to manually download and reinstall the launcher every once in a while).

Happily I worked around it by having the master server serves a fake client update to outdated launchers. Instead of containing a new client version, it's just a little program that downloads & runs the latest installer from craftstud.io. So everyone should be smoothly updated to the 0.2.0.0 launcher which has a proper update mechanism built-in.

I've done some good progress on the administration features but it's not complete yet.

I'm running a bit behind my self-imposed schedule (having an alpha release with scripting by early February), but I had to "pay off the technical debt" for a bunch of shortcuts I took earlier. I'm still making good progress overall and hopefully alpha isn't too far off!
Logged

slot9
Level 0
*


View Profile
« Reply #48 on: January 26, 2012, 12:31:56 PM »

Good job on this stuff - laying the groundwork for a solid future product. Keep it up!
Logged
elisee
Level 1
*



View Profile WWW
« Reply #49 on: February 14, 2012, 10:51:19 AM »

Oh my, it looks like I had forgotten a bit about you guys Shocked. Sorry about that!

I released CraftStudio pre-alpha 0.0.12.0 at the end of last week with 4 new block shapes (Inverted Slope, Horizontal Slab, Vertical Slab and Post) and a moutain of fixes & small improvements.


Some Cool architecture with the new block shapes


Many cool assets have been created with CraftStudio. Here are a few:

 
  

  (See more on Facebook)


Check out this little video of a map I worked on with glorek and rosalie:


Scenes

Next up is scene support for 0.0.13.0. I'm mostly done with an initial version so it should be released this week.

Scenes are pretty similar in spirit to the way Unity 3D handle them: you create game objects and add components to them to render models, maps, add physics, etc. (First version will just have static models & maps, and then scripting and all will come in later updates)

I'm also working with Thomas Frick on some big news that I can't quite announce yet. Stay tuned!
Logged

imaginationac
Level 2
**


Makin' games instead of makin' money.


View Profile WWW
« Reply #50 on: February 15, 2012, 03:13:44 PM »

Hey, just want to say that I gave this a try. I left a bunch of suggestions and bug reports on your forums. Mostly things from an modeling and animation POV (as I haven't looked into the other parts of the program yet).
Logged

Youtube channel | Charger! Dev Log
              
toad
Level 0
**


Never finished a game


View Profile
« Reply #51 on: February 15, 2012, 04:32:11 PM »

Man, that is just AWWSUMMMM!!1

Really loved it! And the PT-BR langage support surprised me  Cheesy
Logged
elisee
Level 1
*



View Profile WWW
« Reply #52 on: February 16, 2012, 04:20:47 AM »

Thanks a lot for the feedback, glad you guys like it!

imaginationac: I'll address your reports in the forums, thanks! (http://craftstudio.simplygaming.org/)

toad: Yeah, someone has contributed a pt-BR translation and sent me the files. There might be missing strings since I'm adding new ones all the time. Should you or anyone else want to contribute, check out this Wiki page: http://craftstudio.wikia.com/wiki/Translating_CraftStudio
« Last Edit: February 17, 2012, 02:58:16 PM by elisee » Logged

ollie
Level 0
***



View Profile
« Reply #53 on: February 18, 2012, 05:29:02 AM »

This is really cool, looks like it might be useful for a project I'm working on atm. Is there anyway of exporting images and image sequences? (haven't got my laptop in front of me so I can't check myself, sorry)
Logged
elisee
Level 1
*



View Profile WWW
« Reply #54 on: February 18, 2012, 06:08:59 AM »

This is really cool, looks like it might be useful for a project I'm working on atm. Is there anyway of exporting images and image sequences? (haven't got my laptop in front of me so I can't check myself, sorry)

Glad you like it! Various export options are planned but I haven't gotten around to it, since there's still a lot of foundation work to be done. Sorry Undecided

Could you explain a little bit what you'd like to do so I can understand your needs?



Here's a mockup (work in progress!) of the upcoming redesign of http://craftstud.io/. The pirate artwork and the shape of the new logo were designed by Thomas Frick (a friend of mine and a great artist).


Also making good progress on scene support as you can see here:


The tree view of the left contains all the scene's game objects (I used a star symbol for them because I couldn't find any expressive symbols. Most tools would use a cube but cube = model blocks in CraftStudio so...)

A game object can have one or more components (pictured on the right). The selected "Player01" has a Transform component (which is added to all new game objects) which allows positioning it in space, and a Model Renderer component which, well, is pretty self-explanatory.

Other planned components include:

  • MapRenderer for rendering maps (which means you can render multiple maps in a single scene... maps as editable spaceships anyone? Big Laff
  • Camera
  • Light
  • ScriptedBehavior
  • RigidBody for Newtonian physics
« Last Edit: February 18, 2012, 06:38:32 AM by elisee » Logged

ollie
Level 0
***



View Profile
« Reply #55 on: February 18, 2012, 06:53:36 AM »

That's cool. What I'd need would be to save PNGs with transparent backgrounds of a posed model or each frame of an animation. I'll be installing this when I get home to have a play around
Logged
elisee
Level 1
*



View Profile WWW
« Reply #56 on: February 18, 2012, 07:00:03 AM »

That's cool. What I'd need would be to save PNGs with transparent backgrounds of a posed model or each frame of an animation. I'll be installing this when I get home to have a play around

Ok. Here's an (admittedly pretty cumbersome) way you could do that:

  • Create your model and animation(s)
  • Close the tab, reopen it so your camera's transform is reset
  • Orient the model properly for capture by changing the root block's transform
  • Print screen for each frame of the animation and paste in any image editing program
  • Use the magic wand select tool in your image editor to remove the darkish background

There will probably be an easy way to make this in "CraftStudio 1.0" by adding your model to a scene, setting up a camera and rendering a movie to PNG or something. But I'm still a long way from there.

By the way, you'll probably want to check out Setting up a server on the wiki if you want to have your own private project (which I would recommend if you don't want random people to edit your assets on the public test project).

Let me know if you have any issue. I spent quite a bit of time on the public test project each day so you might catch me there too.
« Last Edit: February 18, 2012, 07:11:37 AM by elisee » Logged

elisee
Level 1
*



View Profile WWW
« Reply #57 on: February 19, 2012, 11:55:17 AM »

Almost done with scene support for CraftStudio pre-alpha 0.0.13.0. Made a little video showing off how scenes work:

Logged

Danmark
Level 7
**



View Profile
« Reply #58 on: February 20, 2012, 10:15:56 PM »

Looking great. What are your plans for visual scripting?
Logged
elisee
Level 1
*



View Profile WWW
« Reply #59 on: February 21, 2012, 02:38:57 AM »

I'm looking at various approaches, I haven't really made my mind up yet, but here's my current thinking:

On the one hand, I really like the clarity of the puzzle-like approach you can find in AppInventor, Stencyl or even in Construct (though Construct doesn't provide drag'n'drop-based interaction I think).

On the other hand, it's really cumbersome for power users to be forced to click everywhere instead of typing code.

Ideally I'd like to have the best of both worlds: Make the program keyboard-editable while still retaining the nice eye-candy / drag'n'drop features.

A very important point I think is getting rid of the concept of a syntax error (or at least make it really hard to make one)

And of course this would all be based on (Unity 3D-like) component-based game objects, so you could easily share a pre-made script (or set of scripts) on the store and people could just drop it on their object and get a new behavior with a nice UI to edit its properties.
Logged

Pages: 1 2 [3] 4 5 ... 10
Print
Jump to:  

Theme orange-lt created by panic