Search Unity

Adventure Creator - Make 3D adventure games (DEMO, VIDEO, WEBSITE)

Discussion in 'Assets and Asset Store' started by ChrisIceBox, Oct 9, 2013.

  1. ChrisIceBox

    ChrisIceBox

    Joined:
    Sep 16, 2013
    Posts:
    325

    Adventure Creator is a fully-featured Unity extension that takes the headache out of creating your own adventure games. It's flexible design allows for traditional 2D point-and-clicks like Monkey Island, 3D cinematic epics like Telltale's The Walking Dead, 2.5D games like The Longest Journey and even first-person games like Normality.

    It's designed to let you create a complete adventure without doing any scripting. But, if you do want to extend, it features a "plug-and-create" system for custom events, clean code and good documentation.

    The kit includes a demo game with source, which you can play in your browser here.

    Adventure Creator is available for both Unity Free and Unity Pro on the Asset Store.



    LAUNCH TRAILER



    LINKS


    FEATURES
    • NO CODING - Make a complete adventure game - with characters, puzzles, cutscenes, menus and saving - all from within Unity. Go from concept to completion without writing a line of code.
    • ALL THE STAPLES - Hotspots, interactions, pathfinding, NPCs, conversations, inventory items, global variables, cursors - everything you'd expect in an adventure game engine.
    • ALL THE Ds - Supports 2D, 2.5D and 3D games, all within the same interface.
    • DEMO PROJECT - Pick apart the demo scene, which demonstrates many of 
Adventure Creator's key concepts.
    • MULTIPLE STYLES - Switch between point-and-click, cursor-driven 
and first-person control on the fly. Want to use a controller instead 
of a mouse and keyboard? It's all at the click of a button.
    • INTUITIVE INTERFACE - Tab between the various aspects of game 
design - settings, inventory, variables and more - all from within the 
same window, letting you focus on graphics and gameplay.
    • POWERFUL EVENT SYSTEM - Build cutscenes and interactions 
by chaining events together. Make a character hold something, 
animate the camera, query the state of a variable, even slow time.
    • CHARACTER ANIMATION - Change a character's expression, 
turn their head, make them jump in the air - all separately or all 
at once. By animating different body parts in different ways, you 
can create new, more complex animations.
    • TIMED EVENTS - Want to give your gameplay urgency? Give time limits 
to conversations and interactions, and display arrows on screen for the 
player to follow.
    • BUILT FOR EXTENSION - Written your own events? Plug them into the event system. Custom scripts? Call them from within cutscenes. And with it's clean source code, core functionality can be tailored to your needs.
    • SAVING AND LOADING - Flag objects for saving just by attaching scripts. The fast serialisation system gives tiny save files, and stores data automatically when the player moves between rooms.
    • OPTIONS MANAGEMENT - Change the volume of music, speech and sound effects in-game and regardless of save slot. Turn on subtitles, and change the language - all from within the default options menu.
    • CUSTOM MENUS - Customise the in-game menus or design your own. Construct a menu, change it's appearance and position, add graphics, buttons, lists and toggles all from simple functions. (Some coding required)
    • MASSIVE MANUAL - A 20,000-word document covers all aspects of Adventure Creator, and includes a chapter on how it works, to help coders looking to extend it's core.
     
    Last edited: Feb 6, 2015
  2. sicga123

    sicga123

    Joined:
    Jan 26, 2011
    Posts:
    780
    Already got this, in fact possibly five minutes after it went up. I've already started messing about with it. Looks really good, this was one of those things on a wishlist of hoped for assets and definitely a must have for anyone into these games.
     
  3. TheNorthridge

    TheNorthridge

    Joined:
    Jan 4, 2012
    Posts:
    193
    Got this recently, and you've saved my arse in development time :)

    By any chance, is there a way for having those "Clementine will Remember That" moments like in the walking dead, saving information that will carry on and effect game play if you were making episodic games lets say?

    Great Work Chris, cant wait to see what improvements youll make.
     
  4. Trystar

    Trystar

    Joined:
    Oct 9, 2013
    Posts:
    6
  5. LordSoth30

    LordSoth30

    Joined:
    Aug 9, 2013
    Posts:
    14
    Wow very nice will keep my eye on this for my personal use of Unity :)
     
  6. ChrisIceBox

    ChrisIceBox

    Joined:
    Sep 16, 2013
    Posts:
    325
    Do you mean saving between different games? You can easily record ints and bools within one game using the Variables Manager, and have them save/load, but it won't transfer between different Unity projects. It's feasible that you could have an import function that loaded in just the variables from a saved game file, but you'd need to make sure both games shared the same Variables Manager.

    Thanks, I'll keep this thread updated. Once any teething problems are out the way, I'll see where to take things. I don't know if Unity auto-alerts you to updates, but you should grab the latest version (1.12) before starting a game, as I had to change the names of a couple of script files.
     
  7. DigiLusionist

    DigiLusionist

    Joined:
    Apr 30, 2007
    Posts:
    213
    Does this app incorporate Drag and Drop functionality?

    I would like to incorporate card play into an adventure puzzle game.
     
  8. sicga123

    sicga123

    Joined:
    Jan 26, 2011
    Posts:
    780
    Hi
    I've been messing around with the demo in the project. When I get Tin Pot to look at the barrel, left and right arrows appear. These do nothing at the moment, they don't react to clicks, and the character is stuck at the barrel - it's not frozen, Tin pot will react to a click on the barrel but nothing else. Was the same in the web demo. Has this been fixed in the latest version or are you unaware of the problem? Just FYI really, it's a great kit
     
  9. ChrisIceBox

    ChrisIceBox

    Joined:
    Sep 16, 2013
    Posts:
    325
    Not right now, I'm afraid. Would a two-click interface be sufficient? ie. click to select the card, click again to place it. Should be quite quick for me to implement for you, if that would do the job.

    Actually, arrow prompts are just for the cursor keys, not to be clicked on. They're designed for more of a "Walking Dead"-type game, where the whole game would be played with cursor keys. You wouldn't typically combine them with a point-and-click interface, they're just in there to demonstrate it's possible.
     
  10. DigiLusionist

    DigiLusionist

    Joined:
    Apr 30, 2007
    Posts:
    213
    Chris, yes, that would work, too.

    Though, I would have to figure out how to have the cards displayed.

    I'm a game designer, but not a coder. I tried your demo and the functionality looks great.
     
  11. sicga123

    sicga123

    Joined:
    Jan 26, 2011
    Posts:
    780
    I'd like to see the 2 click functionality as well if possible, allows for additional types of games. Thanks for pointing out about the arrows, sorry, I was a bit slow on the uptake there most of the point and click games I've seen are restricted to mouse clicks including clicking on direction arrows on screen (HOPA games), using cursor or arrow keys are strictly off limits. But putting that functionality in would be easy enough.
     
    Last edited: Oct 10, 2013
  12. ChrisIceBox

    ChrisIceBox

    Joined:
    Sep 16, 2013
    Posts:
    325
    OK! I'm writing version 1.13 right now - amongst other things, it'll have a new Action called Inventory: Select, which you'll be able to do this with.

    Other improvements will be better iOS/Android support, and the ability to play different speech audio depending on the selected language.

    In it goes! I'll give designers the option to make Arrow Prompts respond to cursors, clicks, or both.

    If they're meshes in the scene, you can use the visibility action to hide and show them as and when needed.
     
  13. Zozo2099

    Zozo2099

    Joined:
    Jul 15, 2012
    Posts:
    478
    Hi ChrisIceBox

    Very nice kit, but I hope that you would make some video tutorials for it, here most of people prefer an interactive learning with image and voice, because its faster :)

    Thanks
     
  14. hitking100

    hitking100

    Joined:
    Oct 4, 2011
    Posts:
    75
    I have to agree with Zozo. I bought this on the spot when it came out yesterday (thank you for finally making such a kit - it was long overdue) but it's a bit overwhelming with all the available options. A few video tuts would help out a lot in order to get us going.
     
  15. TheMightyZQ

    TheMightyZQ

    Joined:
    Aug 15, 2012
    Posts:
    28
    This looks very promising! I've been trying to get a system together on my own for a little while and am not past the prototype stage, so I might just grab this sucker and start working! You'll probably see a new purchase go through soon. :D
     
  16. MaaS

    MaaS

    Joined:
    Mar 9, 2010
    Posts:
    51
    Hey! GREAT kit! Instand buy! I just went to look if there was any new asset for this, and there it was! Shiny and new :)

    I've been writing my own but never had the time to finish it, so I'll go with yours... It's so completed! Great documentation also! A few videotuts will do the trick for people who dont know if buy it and new customers for starting up.

    Now... :)... I've got looots of things to comment for future development :p

    I readed the documentation and I've been looking at your code. Clear and readable, so thanks!! It's a great work!

    I miss a touch interface... easy one adding a InputType and modifing how buttonPressed is flagged at PlayerInput.cs in case of touch. I was thinking on extending it to something like, tap=go/look at, double tap use/take, drag around the screen just like mouse hovering for discovering objects... But I see you should have something in mind if you talk about ios/android.

    But it would be nice to be able to create the game interface (not menus) with actionslists or at game settings ...

    I mean, in a point and click enviroment there could be different interface solutions like scumms, verb coins, click = go/look doubleclick=use, or click=go click&wait=look double click=use or even a Loom style musical-verb staff !! Some will suit better for touchscreens, other for PC mouse control. So many implementations... so thinking about it, maybe there is a way to let us customize our own solution (without thouching your code).

    Other thing I saw is that there is only one speech audio but I see you are dealing with it. If speech files will reside at Resources folder, I think a bit of organization will be needed... like Resources\speech\spanish\guybrush001.mp3 ... or even Resources\speech\spanish\scene02\guybrush\guybrush001.mp3 (just in case you need to make a whole game from a episodic one and not lose all the files/ids references).

    Also... the "Player" name... Lots of adventure games have multiple characters ala DOTT. Some code look for the character called player, so careful there :) more with speech files names... The files will be named differently because its ID, but it would be better to have bernard012.mp3, hoagie054.mp3 than player012.mp3 and player054.mp3 as those "players" will be recorded by different actors.

    More on localization... The "use" + object.name + "with" + object2.name string literals should be language customizables, maybe at general settings.

    Cameras... I would add two other cam modes... follow character 2D like (when you reach near a right/left border the cam scrolls), and follow character over path, for 3D movement (not look-at, real follow over a path spline/points like is some rooms of Tales of Monkey).

    And last... I will use this kit primarly for 2D adventure games, although I knew its more 2.5 or 3D focused, so I've been looking at ActionCharAnim, ActionCharHolds and ActionCharFace, pathfinding and the Char class, to make my owns, extend them or overwrite funtions to use a 2D animation package (2dtoolkit or smooth moves) for characters/npcs as every other 2D package have their own animation class to .blend or .play clips its kind of "animationclip". Also when dealing with 2D characters, rotation must be fake 4/8 directions (for facing and walking)...

    I have some clues of where to touch (PlayStandardAnim at AdvGame, and Char for change lookDirection/facing...), but a standard solution for 2D characters would be better (maybe some upper class char-> subclass1 2Dchar / subclass2 3Dchar).

    I know... It's a bit too much for a feedback :p But... take in mind that you have done the next best thing since ags, visionaire, scumm and pancakes! :)

    So thanks!! And keep the good work!

    PS. Good looking shortfilms you got... I Loved En passant..
     
    Last edited: Oct 11, 2013
  17. ChrisIceBox

    ChrisIceBox

    Joined:
    Sep 16, 2013
    Posts:
    325
    The way Touch Screen support will work will depend on the control style option you choose. Point and Click will be pretty much the same as it is now, but Direct and First Person will involve clicking and dragging (Tales of Monkey Island-style). It may need further tweaking based on feedback, but I think it's important to get the core of iOS/Android support out soon.

    Something to think about for the future. One thing I was quite adamant about was that AC doesn't take control away from the coder. If you want to go in and change things, it should be simple to do so. I think there'll still need to be a balance between functionality and simplicity, so far as interface customisation goes.

    The first example is exactly how it'll be ;)

    Unfortunately, despite my efforts it's not possible to make an adventure game with multiple characters. The reason for calling the player's lines "Player" in the audio files is to make it easier to swap out the player prefab in your game, and not have to rename audio files.

    Quite a lot of people have been asking about 2D support. You're right in that it's mainly only the animation that'll need to be changed - I need to get everything else behind me, and then I can look into it properly, but I'll refer to this when I do.

    OK, so a couple more things for 1.13! Hoping to submit later today..
     
  18. ChrisIceBox

    ChrisIceBox

    Joined:
    Sep 16, 2013
    Posts:
    325
    Good point. I'll look into this.
     
  19. MaaS

    MaaS

    Joined:
    Mar 9, 2010
    Posts:
    51
    I really like that the source code is included... you have done so much that changing a few things it's quite easy. And your code is so clear and understable it's easy to catch up if you want to mess with it. The only drawback is start changing things around and deal with future asset updates :'(

    Dont worry, multiple playable characters is not an easy task, but I hope for it in a future :)

    Yep, every adventure game done with unity that I know are 2D and all of them use non-public engines. And the indie scene is fully 2D (maybe doing 3D assets is way harder so it's a bit more profesional oriented). I think lots of AGS/Visionaire/Wintermute users will come here for its easyness and Unity's multiplataform and moderm deployment...

    So, really good work :) It looks great now, and it will be great with any improvements you do in the future...
     
    Last edited: Oct 11, 2013
  20. TheNorthridge

    TheNorthridge

    Joined:
    Jan 4, 2012
    Posts:
    193
  21. sicga123

    sicga123

    Joined:
    Jan 26, 2011
    Posts:
    780
    Thanks, Chris. After reading the manual and starting to experiment this kit just gets better. The functionality is amazing.
     
  22. ChrisIceBox

    ChrisIceBox

    Joined:
    Sep 16, 2013
    Posts:
    325
    Thanks. A couple of points I ought to make about this:

    - Since the interface is separate from the game logic, I would recommend you build your gameplay first and then go about changing the interface afterwards. That way, you can hold off having to balance official updates with your own changes as late as possible.

    - The menu system in particular was designed to be contained in just one script, so that so long as your interface changes aren't too great, you could well end up only having to worry about the changes in one script per update.

    Thanks! Hoping to get back into films at some point.


    I think the only thing that differs with this is the gameplay camera, which spins around the player independently of the character's own movement. I suppose you could make a 1st-person game but move the camera to a 3rd-person position, and then re-write the code. I'll look into a more official solution, but that's the only thing I see differing from what Adventure Creator currently offers.

    You're welcome! :) I've submitted 1.13 now - I guess it'll be approved early next week. Full touch screen support for all control styles!
     
  23. TheMightyZQ

    TheMightyZQ

    Joined:
    Aug 15, 2012
    Posts:
    28
    Hey Chris, I just wanted to let you know I bought it and after about a day's worth of work, I've already replaced pretty much all of my systems with yours. I'm sure I'll have questions from time to time, but this is pretty much exactly what I've been looking for. Thanks a bunch and I hope it's ridiculously successful for you!
     
  24. sicga123

    sicga123

    Joined:
    Jan 26, 2011
    Posts:
    780
    HI Chris, quick question. In HOPA games, as well as an inventory, the player has to find lists of hidden objects, usually as an object is found it disappears from screen and either the image or word describing it is removed from a GUI bar. Would this need a seperate action or could it be rolled into the inventory system? Just asking for a pointer really as to which would be the best way for me to do it? Thanks.
     
  25. MaaS

    MaaS

    Joined:
    Mar 9, 2010
    Posts:
    51
    Hey there...

    I've been playing around a bit trying to merge your code with a few 2D sprites I have around and I got it running (using 2DToolkit in my case) without touching the original asset code.

    The player/npc hierarchy is the same as the robot, but instead of the robot mesh as a child (and the other object with bone positions) the only child is my animated sprite with it's animation ready. The character will have a script which will do the 2D thing. It determine its 2D facing based on the rotation of y axis, so it can move around like the robot. This script also fix the orientation of the sprite child, so when your character is rotating it keeps facing the camera. And last it has two functions to play 2D animation clips from 2DToolkit (update2DAnim_DIR, and update2DAnim)

    Your code will play a Unity animation clip, Idle, Walk, Run... so I create empty ones for each (one frame is needed, I keyframe whatever, a script enable for example) with a call to the update2DAnim_DIR, with the name of the clip playing as param... As I know the direction, I concatenate a suffix _D (Down), _L (left)... and then I do play at 2DTK. So in resume, I have a Unity anim "Walk", with an animation event that calls update2DAnim_DIR("Walk"). Then I have a 2DTK animation clip called Walk_D, Walk_L, etc.

    That's it.

    The scene configuration, is 2D looking from top. You have to take care with units... something like 100 units/meters at 2DTK Cameras/Sprites collections. And dont move too far away the camera as the raycast from InputInteraction are only 50 units (I extended them to 1000).

    The only is that for the character to play the talk anim, in your speech scripts, you have to first play the anim, then speak, and then go back to idle, as the speech action doesnt have a base anim slot.

    The script I use, nothing fance but I hope it helps someone... (all those public, is just for debugging, they can be private and a few of them are not needed :p )

    Code (csharp):
    1. using UnityEngine;
    2. using System.Collections;
    3.  
    4. public enum DIR {
    5.     RIGHT   = 0,
    6.     DOWN    = 1,
    7.     LEFT    = 2,
    8.     UP      = 3
    9. }
    10.  
    11. public class Control2DAnim : MonoBehaviour {
    12.    
    13.     public Transform cacheTransform;
    14.     public tk2dSpriteAnimator cacheAnimation2D;
    15.     public GameObject target;
    16.     public DIR lookat;
    17.     public float angle;
    18.     public char [] animclipname;
    19.     public string animclip;
    20.    
    21.     void Start() {
    22.         cacheTransform = transform;
    23.         cacheAnimation2D = gameObject.GetComponentInChildren<tk2dSpriteAnimator>();
    24.         target = cacheAnimation2D.gameObject;
    25.         lookat = DIR.DOWN;
    26.     }
    27.    
    28.     void Update () {
    29.         updatedir();
    30.         target.transform.rotation = Quaternion.Euler(90, 0, 0);
    31.     }
    32.    
    33.     private void update2DAnim_DIR (string clip) {
    34.         switch (lookat) {
    35.             case DIR.UP: clip+="_U";break;
    36.             case DIR.DOWN: clip+="_D";break;
    37.             case DIR.LEFT: clip+="_L";break;
    38.             case DIR.RIGHT: clip+="_R";break;
    39.         }
    40.         animclip = clip;
    41.         cacheAnimation2D.Play(clip);
    42.     }
    43.    
    44.     private void update2DAnim (string clip) {
    45.         animclip = clip;
    46.         cacheAnimation2D.Play(clip);
    47.     }
    48.    
    49.    
    50.     private void updatedir() {
    51.         angle = cacheTransform.rotation.eulerAngles.y;     
    52.         DIR newdir = DIR.DOWN;
    53.         if(angle>=315.0f || angle<45.0f)  newdir = DIR.UP;
    54.         if(angle>=45.0f  angle<135.0f)  newdir = DIR.RIGHT;
    55.         if(angle>=135.0f  angle<225.0f) newdir = DIR.DOWN;
    56.         if(angle>=225.0f  angle<315.0f) newdir = DIR.LEFT;
    57.        
    58.         if(newdir!=lookat) { lookat = newdir; }
    59.     }
    60.    
    61. }
    62.  
     
    Last edited: Oct 13, 2013
  26. ChrisIceBox

    ChrisIceBox

    Joined:
    Sep 16, 2013
    Posts:
    325
    Great to hear it's working out so well for you! I hoped it'd be a time saver for people.


    Hm. Well, it'd be quite easy if you didn't need a separate inventory system as well - you could just "give" the player every item they need to find, and then remove items as they're found. And you could modify the MenuInventoryBox script to display a label instead of/as well as the graphic, and the MenuSystem script to ignore item clicks.

    If you need to have a separate inventory system to work as standard, I reckon you'd need to write a new MenuElement type (a copy of the MenuInventoryBox to start with), and a custom script that removes a specific object from it, via a SendMessage action.


    This is FANTASTIC. Very smart idea to have the rotating child. With your consent, I'd like to integrate this properly into the system (with a few additions to make things as easy as possible).
     
  27. pixelsteam

    pixelsteam

    Joined:
    May 1, 2009
    Posts:
    924
    Yes I am also very interested in the 2d integration.
    Great work on this Chris! Your Mom is proud!
     
  28. MaaS

    MaaS

    Joined:
    Mar 9, 2010
    Posts:
    51
    Obviously, you can use it, that's why I posted it hehe :p

    The only problems I had were the player acceleration (If I use a big number, it get "stuck at navmesh") when using normal 2DTK units (2dtkcam usually uses a 1 unit = 1 pixel orthographic) but I configured to be 100 units to be in scale, and acceleration to 20 to avoid slicing when It goes back to Idle. And the raycast that were a bit too short :p
     
    Last edited: Oct 13, 2013
  29. sicga123

    sicga123

    Joined:
    Jan 26, 2011
    Posts:
    780
    Hi Chris, I was thinking some more about what was required and came to the same conclusions. It would be very easy to set up. Thanks.
     
  30. Lestricon

    Lestricon

    Joined:
    Aug 17, 2013
    Posts:
    6
    You rock Chris!!

    Brainstorm! Could you use a Player prefab without a character and have an NPC effectively follow right on top to do multiple characters? The player would have colliders, movement, and scripts it currently has and a script that would spawn and pass animation and position on to the current character. This would also mean you could do more commercial stuff like an ad for a car where you shift around the camera to the features of the latest model. :D (hope this makes sense)

    Basically like MaaS was saying (I think) but for 3d characters as well.
     
    Last edited: Oct 13, 2013
  31. chongdashu

    chongdashu

    Joined:
    Jan 14, 2013
    Posts:
    2
    Wow, glad I took a look at more comments before posting a question! I'm interested in making use of this Adventure Creator asset with 2D Toolkit too! Could I ask, based on your experience with fiddling around, whether you see any limitations and/or workarounds that someone might need to be able to get both assets working together?
     
  32. MaaS

    MaaS

    Joined:
    Mar 9, 2010
    Posts:
    51
    Well, It's easy to do it... I didnt invest too much time (a few hours yesterday) and I have a prof of concept. If you dont have the Adventure asset, I can tell you its code is clear and easy to understand, so it's quite easy to change its functionality from 3D to 2D. But I didn't want to touch the original code, so what I comment in a post before is a way to use it for 2D with 2DToolkit (or any other 2D system) without touching the original asset code.

    And also it seems that, Chris, the asset developer, will include what I did, properly inside the kit, so maybe you could just wait for it :)

    I can post a look of what I explained before... The robot ("Tin Pot") is the Player from the asset demo, so you can see the difference with the 2D character ("Laika"), with a top orientation. The same with the scenery. Yellow boxes are hotspots. You can see how I did the Unity animation clips, the animation event call, and the configuration of the "Laika" (2D character) object.

    What I didnt try yet? ...

    - 2D Camera follow. I have one from other project, like the ones of adventure games (center character horizontally if near the left/right-border)... so I'll try to add it to the mix :p
    - Layers! Our characters should be able to walk behind and front of other objects! Ok... this could be a bit harder, but I think it could be achieve with a 3D navmesh (for the test I used a normal plane).
    - Character scaling : Hmmm... It could be achieve maybe with real scaling through non-orthographic character cam, or easier a scaling script that change the 2DTK scale param by a % depending position.z
    - Resolution independence : We will see...

    So those are the things I'm going to try the next weekend... :)

    $test001.jpg
     
  33. chongdashu

    chongdashu

    Joined:
    Jan 14, 2013
    Posts:
    2
    Wow, MaaS ... thanks a lot! That was a very informative post!

    Pretty excited about this! I won't be able to pick it up just yet (tight on cash!), but once I have the chance I definitely will!
     
  34. ChrisIceBox

    ChrisIceBox

    Joined:
    Sep 16, 2013
    Posts:
    325
    Those are exactly the things I've been thinking need to be addressed for a proper 2D adaptation. I think having orthographic cameras is going to be the way to go - they'll be necessary for side-scrolling, and if we have a 3D navmesh.

    I've been working on an initial set of tutorials, which will be up either tomorrow or the day after. After that, I'll be looking into the things above. I also want to make certain actions 2D/3D dependent, so that we can have eg. 2D Animation actions that are only available when you make your game 2D (there'll be a new setting for what dimension your game will be).

    Stay tuned. Hopefully, version 1.2 will bring 2D support ;)
     
  35. MaaS

    MaaS

    Joined:
    Mar 9, 2010
    Posts:
    51
    I will :)

    In the meantime then, I will try to hack it for multiple playable characters hehe ;)...

    A few more comments:

    - For the localization support, I didnt look at it, but can the object names (hotspot label) be localizabled? Any game string should be able to, like the "Use "+object+" with "+otherObject literals. Maybe all those texts could be a localizable class gametext with different lenguages and its speechfiles?

    - The create script lenguage option, only exports speech actions (in scene or inventory)... some kind of exporting/importing a string table (xml/csv) should be great, so you can export all your adventure texts (speechs&dialogs, hotspot labels, object names, menu strings), give them to translators and import them back as a new lenguage. If possible being able to load the lenguage pack from external file will be welcomed, so if compiled you dont need to recompile again to add a new lenguage (for easing things all those fan-translators out there)

    - The global adventure variables will be a mess to track when dealing with complete games... I think it will be needed global variables ("I opened the door from other scene?"), room/scene variables ("the wardrobe door is open?"), and local dialog/hotspot/npc/player variables "(I asked about the orichalcum?" for dialogs, "Indy made me angry?" for a Sophia NPC or "Number of take-attemps" for a "necklace" hotspot, for example). If not, you could have in the same global list all those, although they dont have anything in common.

    - Unity 4.3 brings renderer.sortingOrder to its 2D. I'm not familiar of how it runs, but changing that maybe enough to avoid a real 3D navmesh to walk behind/in front other sprites. 2DTK srpites, version 2.2, also have a SortingOrder option.

    That's all.. I look forward any improvement you do. Thank you very much for being so helpful... I hope the asset goes well at the store, I gave you my 5 starts hehe :)

    PS. I saw your post at AGS forums... good reception there too ;)
     
    Last edited: Oct 14, 2013
  36. ChrisIceBox

    ChrisIceBox

    Joined:
    Sep 16, 2013
    Posts:
    325
    Thanks! Other suggestions noted, some good ideas there.

    In the meantime, a 14-part video tutorial series has launched!



    You'll find them all here, where you can also download the assets they make use of, so you can follow along.
     
  37. SteveB

    SteveB

    Joined:
    Jan 17, 2009
    Posts:
    1,448
    Hey Chris! A few questions I've been meaning to ask, if you don't mind? (and I super truly hope these weren't answered elsewhere!) :D

    • I see Mecanim Support could be coming; ...is it difficult to call Mecanim on my own from within your system, a sort of piggybacking of your calls to Legacy and my intercepting and calling/managing Mecanim?
    • Playmaker, either now or in the future? I suspect with how robust your system is it's unnecessary, so long as variables/functions are exposed I could call them myself without an explicit PM integration...
    • NGUI support? Again even if not directly, is it possible to integrate the two with some modest code tomfoolery?
    • ...and if not NGUI at the very least how flexible is your GUI to allow completely unique styles, from things as innocuous as relocating the inventory bar from the upper right corner, to actually creating rich detailed GUI elements? Creating a box inventory rather than bar inventory?
    • Does theInventory bar scroll left/right if there are more items than there is room to display?
    • General Custom Gameplay integration, such as a shooting element? Arguably dexterity based play isn't a part of adventure games (though Walking Dead of course has a few instances); could I create said shooting aspect of the gameplay and have it called by, and return to, your system? Minigames, such as say lock-picking?
    • Are there any known limitations to First Person mode play? Can you create a fully FP adventure?
    • You mention swapping in and out of first-person to point-and-click to direct-control on the fly; is this also in-game or just while editing?
    • Can one create a third person control, which would arguably be direct-control mixed with the first-person camera, where the camera is over-the-shoulder lets say, and follows the character? (e.g. any 3rd person game today such as Assassins Creed)


    I think that's it, as I'm staring at your Features list on your site to make sure one of my questions hasn't been answered, even in brief.

    I sincerely believe this is by far one of the most complete, robust packages I've seen, up there with the aforementioned Playmaker and NGUI, so please take my large list of questions as unbridled enthusiasm! :D

    Cheers Chris

    -Steven
     
    Last edited: Oct 16, 2013
  38. ChrisIceBox

    ChrisIceBox

    Joined:
    Sep 16, 2013
    Posts:
    325
    Steve,

    Definitely. The legacy animation fields can be left blank and nothing will break, and it's only three or four scripts that make animation calls. The standard character animation clips (walk, run etc) are all called from just one function in the Char.cs script: PlayStandardAnim.


    I admit I haven't used Playmaker myself, but the prefabs and scripts are designed to be used with SendMessage calls - for example, SendMessage (Interact) will run any ActionList (cutscene, trigger, interaction) it's called to, so you could always try that. The Object: Send Message action will let you call PlayMaker scripts too, if that helps.


    I haven't used NGUI either, so I can't really comment on how easy it is to integrate. One thing I have tried to do, however, is keep the GUI appearance as separate from functionality as possible. For example, inventory item data, interactions etc are in a separate script - the GUI just handles their display.

    AC's own GUI system is still fairly flexible, though - you can resize, add background textures, change "mouse-over" styles.. Inventory capabilities are a little limited - you can't have a scroll bar, nor can you make a grid for items - but the MenuSystem script is quite simple to mess around with. Here's some sample code that describes the current Inventory menu:

    Code (csharp):
    1.     public List<Menu> menus = new List<Menu>();
    2.     private Menu inventoryMenu = new Menu (0.005f, Orientation.Horizontal, AppearType.MouseOverInventory, new Vector2 (0.06f, 0.10f));
    3.     private MenuInventoryBox inventory_Box = new MenuInventoryBox ();
    4.  
    5.     private void Start ()
    6.     {
    7.         menus.Add (inventoryMenu);
    8.        
    9.         inventoryMenu.Add (inventory_Box);
    10.         inventoryMenu.SetSize (new Vector2 (1f, 0.12f));
    11.         inventoryMenu.Align (TextAnchor.UpperCenter);
    12.         inventoryMenu.SetBackground (backgroundTexture);
    13.     }
    14.    
    15.    
    16.     public void ProcessClick (Menu _menu, MenuElement _element, int _slot, int _buttonPressed)
    17.     {
    18.         if (_menu == inventoryMenu)
    19.         {
    20.             RuntimeInventory runtimeInventory = GameObject.FindWithTag (Tags.persistentEngine).GetComponent <RuntimeInventory>();
    21.            
    22.             if (runtimeInventory  _element == inventory_Box)
    23.             {
    24.                 if (_buttonPressed == 1)
    25.                 {
    26.                     if (runtimeInventory.selectedID == -1)
    27.                     {
    28.                         runtimeInventory.Use (_slot);
    29.                     }
    30.                     else
    31.                     {
    32.                         runtimeInventory.Combine (_slot);
    33.                     }
    34.                 }
    35.                 else if (_buttonPressed == 2)
    36.                 {
    37.                     runtimeInventory.Look (_slot);
    38.                 }
    39.             }
    40.         }
    41.     }
    Sure! You just have to change the StateHandler script's gameState to GameState.Cutscene to pretty much turn the entire of Adventure Creator off, and change it back to GameState.Normal to turn it back on.


    Yep! You can walk, run, look around, use interactions just as you do in any other mode. The "Character: Face Object" action also has an extra setting to affect the camera's tilt, so you can make cutscenes in which the player's camera looks up or down at an object.

    The imminent 1.13 update also introduces a stupidly-lacking toggle feature to let you toggle between using the cursor to freelook, and using it to point and click. Before the update, the cursor's locked in the centre of the screen.


    On the fly, though only while in the editor, since it's a manager setting.


    Not out of the box, but with coding yes. You can already make psuedo-3rd person game by pulling the first person camera backwards, but it'll always be directly behind the player - you wouldn't be able to rotate around the player to see the front. Proper support for this kind of camera is on my todo list.


    That's very much appreciated! BTW, I checked out your website. Kudos for the quality of your animation portfolio - I remember watching many of them with a hand on a controller :)
     
    Last edited: Oct 16, 2013
  39. SteveB

    SteveB

    Joined:
    Jan 17, 2009
    Posts:
    1,448
    Yay! Quick AND friendly! :D

    I watched your 14 tutorial vids, and I'm not entirely sure I saw this particular event. Can you describe how this would work in a tad more detail?

    See if I could intercept control here(no pun to see here!), I could implement my own complete 3rd person code and just not use AC's...possible? Otherwise yea, definitely another great addition to this tool.

    Lastly, with regards to your inventory, what would happen if in fact I allowed the player to carry more items than there is room for? Regardless of it perhaps being poor game design on my part if the player is lugging around a ton of items, what if it became an inevitability?






    Thank you so much Chris, thats very nice of you to say and I appreciate it immensely. You can see now why your wonderful tool is so exciting! :D

    Cheers man

    -Steve
     
  40. SteveB

    SteveB

    Joined:
    Jan 17, 2009
    Posts:
    1,448
    OH! S*** one more thing!


    • Branching Dialog? So we can have a more naturalistic approach to conversation, keeping it moving forward and making choices deliberate and permanent at times. Walking Dead is perhaps the best example of a fluid convo system.

    Phew, thank you!

    -Steve
     
  41. ChrisIceBox

    ChrisIceBox

    Joined:
    Sep 16, 2013
    Posts:
    325
    It's something you'll have to do in script. It's really easy, this should do it:

    Code (csharp):
    1. StateHandler stateHandler = GameObject.FindWithTag (Tags.persistentEngine).GetComponent <StateHandler>();
    2. stateHandler.gameState = GameState.Cutscene;

    You're free to dig into the source code, so of course it's possible. I should be able to get something up in a couple of weeks, though.


    At the moment, an inventory list will go beyond the screen space. You could reduce the size of the icons (all elements are constructed using screen-relative decimals, so it all looks the same regardless of resolution), but it's an oversight on my part. I'll look into a fix.


    Of course, that's what it's designed for! Conversations are made up of dialogue options, that you can turn on and off at will. If you wanted an option to result in a completely different set of new options, you'd probably want to make another Conversation object and just turn that on instead. And since Dialogue Options have the same capabilities as Cutscenes, Interactions and Triggers, you can use the Variable: Set Action to record the player's choice of words.
     
  42. ChrisIceBox

    ChrisIceBox

    Joined:
    Sep 16, 2013
    Posts:
    325
    And I've just learned version 1.13 is out!

    A fair number of small tweaks and fixes, but the biggest update is iOS and Android support! You now get a third Input Type option in the Settings Manager: Touch Screen. Single-tap a Hotspot to select it, tap it again to use - or hold the first tap and tap with a second finger to examine.

    Check the full post for the full changelog. Next up: 2D!
     
  43. MaaS

    MaaS

    Joined:
    Mar 9, 2010
    Posts:
    51
    Great! Just like in scummvm! :)

    Da new guys mobile version!! :p

    (from the first page changelog...)

    Hehe... I see where are you going ;) What does the "inventory select" mean?

    I watched the videos... good work with the tutorials (please more on advanced stuff !! The waypoints and more on NPCs and inventory-inventory interaction). I hope this way this will attract more people :)
     
  44. Migueljb

    Migueljb

    Joined:
    Feb 27, 2008
    Posts:
    453
    Hey Chris had some questions. Say I have 2 avatars and I want them to be able to interact with each other. Like hug, kiss on cheek, high five, fist bump and hand shake. Can I be one avatar and walk up to the other select him or her and they say something to me then ask what i would like to do. Once I select one of the actions we hug or handshake etc... depending on what I choose to do at that time?

    Can NPC's while they idle play more than 1 idle or the player character for that matter. It's always nice in game when npc's or player characters have more then 1 idle to sample thru as it provides that next level of theres more going on with the player then the same simple idle over and over again.

    I wanted to have simple small scenes with say 5-10 avatars and interact and talk to them but when I start out I want to choose who to be say a male or female does the system allow me to choose at game start to choose who to be rather then have to drag in the player prefab of who will start the game?

    Definitely want to buy this if all this can happen will be getting this for my projects. Thanks.
     
  45. ChrisIceBox

    ChrisIceBox

    Joined:
    Sep 16, 2013
    Posts:
    325
    For sure. You can use a Conversation object for more than just talking. it's really just a list of options that cause different interactions - it's only called a Conversation because that's the most typical adventure-game use for it.

    You set a character's initial idle animation in the prefab, but you can swap it out for another in-game. Same for walking and running, too. See Brain in the demo for an example - he's standing up to begin with, but sitting down for most of the game.

    Currently you can only set one player character per-game.
     
  46. ChrisIceBox

    ChrisIceBox

    Joined:
    Sep 16, 2013
    Posts:
    325
    It automatically puts an inventory item on the mouse-cursor, as though the player clicked on the item in the inventory bar to select it. Someone might find it useful! :p
     
  47. lundon

    lundon

    Joined:
    Nov 6, 2009
    Posts:
    59
    I can see how you could use a global variable to cycle through your idle animations, to change it each time the player triggered the action with the NPC. Is there a way (other than through code) to generated a random number to the global variable?
     
  48. ChrisIceBox

    ChrisIceBox

    Joined:
    Sep 16, 2013
    Posts:
    325
    I've been looking into 2D support, and I thought I'd write about my progress so far. This'll be a bit of a ramble..

    The goal is not to have a lone "2D / 3D" setting which changes your game completely, but rather to give designers as much control as they want. Any combination of 2D or 3D characters, sets, and cameras ought to be possible. And the workflow for 2D, 2.5D and 3D should be near-identical.

    Sprites and 2D animation aren't actually the biggest hurdle - thanks to MaaS' code I have a head start. The main thing is having 2D cameras.

    With still cameras, it's easy to just replace the characters with 2D sprites, put up a plane with a background texture, and call it a day. But once you want to pan sideways, then it becomes a problem: the 3D NavMesh changes perspective, while the background doesn't.

    My first thought was to make use of Orthographic cameras, but this brought up even more problems: NavMeshes then become invisible (if all the vertices have the same height), characters don't scale as they move closer to the camera, and nor do they change their relative speed. Now you could fix all of these features with extra parameters and skewing the NavMesh, but it's not very intuitive.

    So, back to using Perspective cameras. I've been playing around with projection matrices all day (fun!), and finally found a way to do the Ken Burns effect in Unity (with much help from Eric Haines). After many vector drawings and swearing, we now have a GameCamera2D script. This lets you pan-follow the player horizontally and vertically, without changing perspective. And you can set a "freedom" value, which causes it to only follow the player once they near the edges of the screen, old-school style!

    No, but it should be. I'll see to it that in the next update, the Variable: Set Action will have randomisation options.
     
  49. SteveB

    SteveB

    Joined:
    Jan 17, 2009
    Posts:
    1,448
    Hey Chris! Haha, I hate to be the 'ceaseless question guy' but I have to ask...

    ...swipe to move for direct control?

    Thanks man!

    -Steve
     
  50. GWPGearWorx

    GWPGearWorx

    Joined:
    Apr 29, 2007
    Posts:
    327
    I wish I knew about this 3 months ago when I started my new game project. It would of saved me 2 months of dev time at least as I created my own adventure game core from scratch. Which is good, but not as solid and user friendly as yours! I will be buying this for my next project instead of using my current solution. Keep up the amazing work man, top notch stuff.