Search Unity

How to Make a Game builder On top of Unity

Discussion in 'General Discussion' started by Plaban, May 4, 2014.

  1. Plaban

    Plaban

    Joined:
    Jan 23, 2014
    Posts:
    16
    Hello everyone,

    Thank you very much for being so amazing community. I need your help to make this project. here is my situation. I am a conversion student from business to computing at university of greenwich UK. I am doing my MSc project to build a mimigame builder on Unity3D.

    1. Model and Behaviour (Script Will be provided)
    2. user can create account
    3. user can make game
    4. user can save and publish their game.
    5. other user can play that game.

    I was thinking to approach by using inventory system to provide model and behaviour and game state or prefabs to save them and some how publish them. Though at this point I do not have specific Idea How i will solve this.

    I am ready to work hard and have 3 months in hand. Please put me in right direction.
    many many thanks in advance.
     
  2. squared55

    squared55

    Joined:
    Aug 28, 2012
    Posts:
    1,818
    I don't think you can, legally

     
  3. User340

    User340

    Joined:
    Feb 28, 2007
    Posts:
    3,001
    Wait so you actually can't build a game maker with unity? Boy that's new to me I was actually considering making a mini 3d game maker myself.
     
  4. TheRaider

    TheRaider

    Joined:
    Dec 5, 2010
    Posts:
    2,250
    I can't imagine this being a competing product.

    I can't see why you couldn't make a platform like scratch with it? If you allow users to be able to export the games and not just play within your environment then you might start to move into the competing clause.
     
  5. BrainMelter

    BrainMelter

    Joined:
    Nov 20, 2012
    Posts:
    572
    In theory, you could make Unity, or something reasonably close to it, with Unity itself. A lot of the work would be done for you, and you'd just have to create thin wrappers around lots of Unity's functionality.
     
  6. Plaban

    Plaban

    Joined:
    Jan 23, 2014
    Posts:
    16
    Thank you for a quick reply..
    I am new to whole IT.. But hard working.. being brave to make this sort of product. Please give some idea, resource to study, guidance. Please please...
    I did not think It would at first..
    Can I use normal C# stuff here inside unity.
    Please help me.
     
  7. Plaban

    Plaban

    Joined:
    Jan 23, 2014
    Posts:
    16
    Thank you very much guys for quick reply.

    @squared55
    I don't think legality will be issue here. its just a form of game.

    @_Daniel_
    Please give me some detailed idea how would you go to solve the problem ? and organise everything ? Please.. please..

    @turkeypotpie
    please explain a bit more.. put me through direction.
     
  8. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    I was working on some such thing at one point and asked Unity about it and they said you could just send it to them and they'd look at it and tell you whether it's acceptable.. if its a direct rip-off of capabilities, it's a no no... but if you're offering enough custom interface/features/higher level stuff then I don't see why not. Especially if the kind of games it makes are a niche.
     
  9. BrainMelter

    BrainMelter

    Joined:
    Nov 20, 2012
    Posts:
    572
    I was saying they have that competing product restriction because some things would be quite easy to copy. As long as Unity exposes an API for something, you could build your own UI around it and call it your own, even though it really isn't.
     
  10. User340

    User340

    Joined:
    Feb 28, 2007
    Posts:
    3,001
    @Plaban: That's a bit vague to answer, can you be a little more specific?

    @imaginaryhuman: I think you're right, as long as you're not doing some kind of 1-1 thing where you expose the whole api and let the user code in c#, you'll probably be fine.
     
  11. Plaban

    Plaban

    Joined:
    Jan 23, 2014
    Posts:
    16
    Good morning guys

    Thanks for all your reply. I am not worried about legality. I am sure product I am building will not be conflicting with unity. no coding will be necessary on my version and no designing stuff... all provided for user. just drag and drop sort of game.

    I need your help on guidance on technical area. How I can make this project a reality?
    How can I let user create account and create game ?
    How can user save, export and publish for other to play ?

    Please please I need guidance to build the product.
     
  12. S3dition

    S3dition

    Joined:
    Jan 6, 2013
    Posts:
    252
    Well, first off, which is better:

    Assuming you're fine to make the product, then get sued by Unity a year into it and lose all your time and money.

    or

    Asking Unity first.

    As for how to do it - do you understand game development? If you're asking basic questions about C#, then you aren't ready to tackle something as complex as a game engine. Judging by your questions, you're a LONG ways from being able to start your project.

    An account would require a database connection, which means a basic back end in PHP or .net and understanding of SQL. Saving is ambiguous. You can write to a serialized file, use system.io to save in xml, or use a local sqlite database. There are other options as well, or you can write your own.

    Nobody can really tell you which way is the best way because we don't know what your ultimate goal is. However, if you're dead set on doing this, I recommend:

    Don't try to ship a modified version of Unity as your own product. Instead, make game "templates" for the asset store. For example, an RPG template with all the controllers, save functionality, conversation system, etc already built into it. This way, someone could buy the uRPG template for $50 or whatever and essentially be able to drop their models into the scene, apply a handful of scripts, and go.

    Then advertise your templates the same way you would your game engine, similar to how Tornado Twins push FPS Controller.

    That being said, if you are new to programming, then this is shooting yourself in the foot. You really need to at least make a couple of games and actually learn efficient coding and how to use Unity before trying to sell that ability to other people.
     
  13. JovanD

    JovanD

    Joined:
    Jan 5, 2014
    Posts:
    205
    Start with "City Builder" type tutorials, also you mention accounts and stuff, so im assuming you're making an online game, if not than don't do it, other than that "saving" is just writing/reading variable states to a file.
    Go read up on database design and arrays, especially arrays and using them in loops im sure you will need a lot of that knowledge.
     
  14. Bradamante

    Bradamante

    Joined:
    Sep 27, 2012
    Posts:
    300
    Sounds like you are new to Unity3D and game development in general. We will gladly help you, but we can't teach you Unity. Unity has exhaustive section of learning material, both in video and text form. You should start there.

    Yes, you can script Unity using C#, but you are limited to what the Movo framework supports. You should not learn "general" C# first and then go to Unity. Instead, pick it up along the way. Look at the examples that Unity themselve provide (see Asset Store -> Free category).

    To me it sounds like what you actually want to do is a "game kit" inside Unity, a la the Action Game Kit. You are allowed to do this, but not much more. For more examples, look in the Asset Store under: Editor Extensions -> Game Toolkits.

    If you want visual workflows without coding, you are looking at something like Playmaker. It is perfectly legitimate to declare Playmaker a requirement of your product. That would limit your target audience, but if this is academic work it wouldn't matter.

    Since a game kit is still working inside Unity, Unity would take care of the publishing side, you don't have to do that. In terms of account creation scripts, there are countless examples on the Unity Asset Store. Also notice that "account creation" is rather vague. A offline account creation is obviously simpler to do, requiring not more than your average save/config file magic.

     
    Last edited: May 4, 2014
  15. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    I'm pretty sure thats not what he was talking about.
     
  16. JovanD

    JovanD

    Joined:
    Jan 5, 2014
    Posts:
    205
    Im pretty sure he wants to make something like Gmod, Little big planet or Project Spark, something where you can drag and drop stuff and make a "game" in 5 minutes.
    That's totally different from asset/template kit.
     
  17. S3dition

    S3dition

    Joined:
    Jan 6, 2013
    Posts:
    252
    He said specifically that he wants users to be able to publish and then play games.

    I take game to mean game, not level/mod/etc.

    What he describes is like a template based game maker.
     
  18. Plaban

    Plaban

    Joined:
    Jan 23, 2014
    Posts:
    16
    Thank you very much guys for taking the time to help me out..

    @S3dition
    I am good with database and php is not a problem. I studied java therefore chosen c#.. now its seems I only can use what supported by unity API's. Final product I want to make is giving users the tool to make and play game with out any technical knowledge and with out having to download any software as plan is to make it browser based. for education and training purposes. you can say visual learning.

    @JovanD
    Is this is planned to be online game. yes, I was thinking to go about making a role playing game type. I might be able to give users model and script in format of inventory system. but when they produce a game how can they save and publish and how other users can play it. Now publish game should have a list from where user can pick and play game. it would be nice to give users ability to edit and republish.

    @Bradamante
    Yes, I am new and learning as much as I can. reason I am asking question before going deep in unity system that I can get proper guidance on what I need and how should I go about it rather going worn direction and rework everything as the project is time limited by 4 months.Playmaker seems almost everything. It is online game development tool right ?

    My proposed project is a visual game builder using unity.
    use case:
    You are a first aid trainer. you develop a a simple game with character, props and action (script) provided.
    and instead of give people speech ask them to play the game. so, they can be more involve and learn more.
    the game is online based user do not need to download any software. Like scratch.

    Now, I am not hopping for finished product just want to develop a prototype. I need your guidance on how I can make it easiest way possible as I am new and I can develop it further after my MSc but time is very limited now. If you guys can tell me :

    how I can solve this problems ? (suggestion)
    what I need to learn ?
    Possible where I can find them ?
    If any feature is impossible to implement ? (then I have to change my proposal)

    Thanks again
     
  19. S3dition

    S3dition

    Joined:
    Jan 6, 2013
    Posts:
    252
    That's pretty massive in scope. If you have CPR trainers and Drivers Ed Instructor, that's an enormous amount of models, coding, physics, etc just for those two areas. If you're familiar with php, sql, and java, then you should already know everything that's involved (minus the graphical assets perhaps). Honestly, all you would be doing is the coding. Unity already has a drag and drop asset manager and web publisher. But getting the assets together so that all your customer has to do is drop from a library of models... that's a lot of time right there, just in models alone.
     
  20. Plaban

    Plaban

    Joined:
    Jan 23, 2014
    Posts:
    16
    Thanks for your reply.

    Yes it big. But I am not going to provide everything for my Project. Just may be one or to use case. Very simple one. may be something like simple education game for kid. What i am after is to provide all those functionality. I know those but not too familiar with unity. learning though.

    I am just trying to cut my learning process as I have to write a theirs on it as well. So, would learn what I must and needed right now. Please give me some idea where to start, what to learn and what techniques and and tricks will make it easier and quicker.

    Thanks again
     
  21. Plaban

    Plaban

    Joined:
    Jan 23, 2014
    Posts:
    16
    should I go as a editor extension ?

    I should say, I intended to make the project open source. so, that community add into it and use it to make a better education tool.
     
    Last edited: May 5, 2014
  22. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,967
    I think a competing product would be to just make a wrap of Unity functionality, re-package, and re-sell it.

    But a simple game-maker, with some basic node-based programming, that is meant to be fun to use, rather than a professional game engine tool, would be accepted by Unity as non-competition. Of course ask first, show some mockups and stuff.
     
  23. violinbg

    violinbg

    Joined:
    Mar 24, 2014
    Posts:
    79
    I read your posts and I'm not sure what you want as help. It's not consistent. It is going to be completely online but you ask if it should be an editor extension? Yes, you can do a Game Kit as someone suggested earlier.

    You mentioned educational...If I were you I'd do a 2D game maker. Do not make it in Unity. You know java - so try LibGDX. It's nice and supports everything - including HTML/WEBGL.
    As a simple example of what you might have time to do is something like the very first version of GameMaker (before YoYo Games bought it).
    It was very simple and is very good to teach kids.

    You only have 3 things:

    Number 1: Object Editor; You assign a sprite. You set it to "active" or "solid". If "active" it will trigger events. If "solid" it will collide with others. If neither - it's just a background. Then you simply drag and drop pre-defined script onto "Triggers/Events". Say the Move "Left" Icon over keyboard(Left) will move the object to the left when the key is pressed.

    $gm1_objects.png

    Number 2: Rooms Editor: You simply make your level by placing the objects on the grid.

    $gm1_rooms.png

    Number 3: Play and have fun.

    $gm1_play.png

    Than you just polish it, make it save everything, publish etc. 3 months should be enough. If you want to do a Full 3D Game Maker - I'm not so sure you have enough time. But there is something that exists and was a good attempt to do so- the "3D Game Maker" (another very old software by TheGameCreators)
     
  24. Plaban

    Plaban

    Joined:
    Jan 23, 2014
    Posts:
    16
    Thanks very much for your replay..
    I am trying to make almost similar product like" 3D Game Maker".. but planned to be more flexible.
    Plan is to deploy web version.

    Thanks again
     
    Last edited: May 5, 2014
  25. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    I was making a similar thing for IOS, Android and Web I don't know what you are asking so I can't be of much help. Adding scripting killed it for me.
     
  26. Plaban

    Plaban

    Joined:
    Jan 23, 2014
    Posts:
    16
    I am asking for direction. If you done or have idea it will help me very much. I not much familiar with Unity.

    Suppose, I am making a CMS for many features. Before I Start I would have a mental picture how I am going to do it and what I will need and if I need to study any particular techniques.

    This case, I am having problem to draw up the mental model. Normally, I would go and study everything unity and unity community has. Because time is limited I am asking for direction. what I need to learn and how I should approach it. Details will be helpful.

    As far as feature and product specification concern, I hope you are clear by now. Here is a use case :


    Thanks again
     
    Last edited: May 5, 2014
  27. Plaban

    Plaban

    Joined:
    Jan 23, 2014
    Posts:
    16
    So far, i believe, I will be able to provide user model and script, and let them drag and drop it. having problem how they can save it, then list as mini game and other user can play it.

    Please help.

    Thanks again
     
  28. S3dition

    S3dition

    Joined:
    Jan 6, 2013
    Posts:
    252
    This is Unity gossip. If you need help with a specific problem, you should post in one of the Unity help sections.
     
  29. Bradamante

    Bradamante

    Joined:
    Sep 27, 2012
    Posts:
    300
    Is this literally the game you want to make or is this just a example, something the product you will create could produce?

     
  30. Plaban

    Plaban

    Joined:
    Jan 23, 2014
    Posts:
    16
    Just an example. What my product could produce.
     
  31. Rony

    Rony

    Joined:
    Nov 26, 2013
    Posts:
    3
    This is really an old post. But did anyone figure something out? I am working on a project similar to this. The approach I am going for is more of a level editor. Players create levels which act as individual games and then players can publish those custom levels, and other players can play them. My only concern is how scalable will it be.
     
  32. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,566
    There isn't anything to figure out as the answer is "it can be done".
     
    MadeFromPolygons likes this.
  33. Rony

    Rony

    Joined:
    Nov 26, 2013
    Posts:
    3
    I do understand that. But is there a "right" approach?
     
  34. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,566
    Nope. There is large number of possible approaches with none offering obvious benefits.

    For example, you could make an editor extension on top of unity engine. (Did that one before myself)
    You could write play mode level editor that would leverage unity's scenegraph and use some preset behaviors.
    You could write your own tool and use Unity as a graphic api wrapper.
    You could write an external application that would generate data for a unity project.
    You could also write an external application that generates data for your game.

    There are also many ways you could go about something as trivial as representing a "level" within an editor and so on.

    Basically... large number of ways how you could posssibly go about it.

    One thing though. Be aware that unity EULA has this clause.
    https://unity3d.com/legal/terms-of-service/software
    You may not use unity to create its competitor.
     
    Joe-Censored likes this.
  35. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    In game dev, instances where a single one size fits all "right" approach exists are exceedingly rare. The right approach is almost always:

    "it depends"

    The same goes for "what is the best way", "what is the best tool", etc.