Search Unity

Assets Game Framework - FREE asset for Levels, Menus, Dialogs, Social, Free Prize, Localisation, IAP, ...++

Discussion in 'Works In Progress - Archive' started by mahewitt, Jan 25, 2016.

  1. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    One of the new conditional components that is in v4.2. They have several build in conditions and you can easily add your own plugable conditions. Everything is message message for performance. This will really help with setting up things in your game and by using the Context property you can now create powerful custom selection buttons with much less effort.

    upload_2017-3-26_9-27-24.png
     
  2. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    Didn't make it the upcoming version v4.2, however a Vietnamese translation is included in the development code ready for the following release.

    .. many thanks for Truong Giang for the contribution
     
  3. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    Experimental feature to allow for associating variables with GameItems along with a corresponging API to acces them. Future improvements will include more types and a custom editor.

    upload_2017-3-30_16-33-18.png
     
  4. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    v4.2 is released. Some big enhancements to GameItem Buttons, Unlocking, Purchasing and rolling out of the Context concept further to a number of components. Also included are new configurable and extendable EnableBasedUponXxx components.

    See here for a full list of changes and be sure to check out the updated GameStructure demo.

    Let me know if any feedback or comments
     
    Last edited: Mar 31, 2017
  5. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    New Colliders ready for the next version Win Level, Lose Level, Star:

    upload_2017-4-1_10-43-59.png
     
  6. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    A bit of a breather from new features to focus on quality. There were already some test cases in place (there will be more). Using some time now updating scripts for better automation of build, and testing of the many different features and integrations including against different Unity versions and configurations. The result a better higher quality product and less time on manual testing.


    upload_2017-4-7_14-23-48.png
     
  7. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    New colliders custom editor in place - improvements with customisable conditions coming in the future...
     
  8. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    Game Framework works great with PlayMaker! Currently working on additional Playmaker Actions - access to Level and Player coins, score health and lives. Let me know if there are other actions that you need.

    upload_2017-4-19_10-39-3.png
     
    Last edited: Apr 20, 2017
  9. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    Improving and cleaning up the GameManager interface:

    upload_2017-4-20_14-25-2.png
     
    Last edited: Apr 21, 2017
  10. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    New modifiers for the localise text component:

    upload_2017-4-21_11-43-40.png
     
    Last edited: Apr 24, 2017
  11. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    v4.3.1 is submitted to the Asset Store for review with some of the features mentioned above. Should be available in a few days..
     
  12. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    v4.3.1 is released with improved GameManager setup, some localisation additions, several new PlayMaker scripts and several other minor improvements and fixes.

    See here for a full list of changes and be sure to check out the updated GameStructure demo.
     
    Last edited: May 1, 2017
  13. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    The Getting Started Tutorial is updated to cover some of the new changes to GameManager and use of the different setup and unlock modes.
     
  14. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    A new set of components coming in the next version for setting things up based upon Level, World, Player or Character variables.

    upload_2017-5-4_15-43-1.png
     
  15. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    New Master With Overrides Level setup mode - Ideal if you have lots of similar levels that you want to create from a configuration file without the effort of creating individual config files. Also allows ti optionally override a few with custom configuration if needed.

    upload_2017-5-9_21-28-37.png
     
  16. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    Working on a major overhaul of the localisation system. Finally starting to get the editor to play nicely:

    upload_2017-5-19_21-43-43.png
     
  17. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    Localisation enhancements are merged into the git master branch ready for final testing. Let me know if you notice any issues, otherwise a new release should be submitted to the asset store within the next few days.
     
  18. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    Colors now available for configuring within the GameItem (Level, Player,...) Variables section

    upload_2017-6-16_11-19-7.png
     
  19. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    Google translate is now integrated to the localisation editor for easy translation - just press the translate button next to the field you want translated.

    upload_2017-6-17_23-23-47.png
     
  20. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    Added SetPositionFromGameItemVariable, SetRotationFromGameItemVariable, SetScaleFromGameItemVariable components and implementations for Character, Level, Player and World.
     
  21. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    GameManager now has a list of (Global) Variables for use for your own purpose..

    upload_2017-6-20_15-7-8.png
     
  22. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    A bit quiet over the summer with vacation, but in case you missed it v4.4 was released with the rewritten localisation system, Gamemanager variables and new setup mode, new variable types along with other diverse updates and fixes. Hard at work again on a load of new cool features.

    See here for a full list of changes.

    Game Framework - Free
    Game Framework - Extras Bundle
     
    Last edited: Jul 28, 2017
  23. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    New option to Colliders to add your own call backs along with custom editor. More cool features planned for the future too for this component..

    upload_2017-7-31_18-55-11.png
     
  24. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    Fully customisable counters are coming:

    upload_2017-8-1_22-9-37.png
     
  25. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    Refactoring some of the GameItem code to support the new Counters feature and at the same time including unit tests to verify the quality and functioning. Here is a sample so far:

    upload_2017-8-2_18-10-47.png
     
  26. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    A way to show the new counters, options to show amount, best, last saved, ...:

    upload_2017-8-3_18-4-49.png
     
  27. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    Counters are now added to the cheat functions window so you can easily test your game.

    upload_2017-8-5_18-45-18.png
     
  28. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    New release with the new counters features is submitted for review. Also updated Prefs Editor (included in the extras bundle) to display and work with Editor Preferences:

    upload_2017-8-7_11-15-52.png
     
    runningbird likes this.
  29. runningbird

    runningbird

    Joined:
    Sep 3, 2009
    Posts:
    382
    Keep up the amazing work!!!
     
    mahewitt likes this.
  30. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    v4.5 is released with new customisable GameItem counters and several other minor improvements and fixes.

    See here for a full list of changes

    Counter Configuration.png

    Note: Always take a backup before upgrading.
     
  31. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    Change Counter Over Time component added for automatically changing a counter over time.

    Announcement coming in the next couple of days on some big new features in the soon to be released v5.0!

    upload_2017-10-1_13-59-52.png
     
  32. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    More counter components: SetImageColorFromCounter, SetSpriteRendererColorFromCounter, SetTextColorFromCounter and SetImageFillAmountFromCounter

    upload_2017-10-3_18-29-55.png
     
  33. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    The soon to be released v5.0 includes the concept of plugable Actions so you can easily configure things just as you want. Shown below is the new Collision Handler component that replaces the collider components and lets you specify what should happen when a collision occurs.

    This feature will of course be in both the free version and the extras bundle.

    upload_2017-10-4_19-29-40.png
     
  34. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    In addition to actions v5.0 will include plugable Conditions. One of the components that uses this is the ConditionalAction component shown below that lets you perform actions when certain conditions change. This saves time and gives great power without needing to know the underlying API (which is still available). It also utilises messaging to give improved performance over polling for condition changes.

    upload_2017-10-6_16-49-46.png
     
  35. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    Update is submitted for review. Started adding Game Action support to Beautiful Transitions so you can trigger transitions and other things. First up Shake (e.g. you could show particles and shake the camera / a GameObject on a collition):

    upload_2017-10-15_12-22-23.png
     
  36. blacksun666

    blacksun666

    Joined:
    Dec 17, 2015
    Posts:
    214
    Do you have any working examples of creating/loading levels or world via script? I want to dynamically create world and level buttons based on data downloaded from a backend webserver during run time.
     
  37. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    Hi @blacksun666. There should be a couple of ways to do this, however are you thinking of loading all information from the webserver (without local configuration files) or combining the two? Also what type of information are you thinking of loading and how often (once per game or continually)?

    Based upon what you need, I can go into more detail however at a high level, for the first option you would need to setup and populate the GameItemManager collection manually (e.g. GameManager.Instance.Levels.Items), the second you could subclass the GameItem (e.g. Level), override the CustomInitialisation method and then create instances of this in the resources folder.

    Ref. your mail, it is probably correct that the Extending Levels tutorial fails as API improvements have meant there are simpler ways of doing what was mentioned. I have marked the tutorial as deprecated. Thanks for letting me know.
     
  38. blacksun666

    blacksun666

    Joined:
    Dec 17, 2015
    Posts:
    214
    Hi and thanks for getting back on thus so quickly.
    Currently I am downloading information about worlds in the title scene, this includes the name of each of the worlds and an addional field int Id. There are at most 8 worlds returned out of about 32 possible options and their sprites are stored locally and not downloaded.
    I'd like to display the worlds in a simple grid in the 'menu' scene. When a world is clicked on I need to request and download the data for the levels for that world. There is at most 16 levels, again Sprite data is locally stored, but the level data includes name and additional fields int Id, string and 6 additional string,int pairs fir the enemies on that level.
    So basically I only ever download data twice, firstly to get all the data for the worlds, then secondly to download all the data for the chosen worlds' levels. Players will never be given the chance to select a second world, they have to relaunch the app if they wanted to do this.
    I am happy with either option to subclass worlds and levels, or to use the variables options provided for both classes, but want to create the worlds, levels on the screen populated with the extra data.
    As the data I get back from the server is json, I did wonder about changing the GitHub code to include supporting json strings as a source as an alternative to json files, but that's probably even harder than the manual options via script.
     
  39. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    @blacksun666 One of the issues is going to be how to handle the async download of the data and combining that with other setup to make sure everything is in place before you use things. If the number of worlds and levels is fixed then the simplest option might be:
    • Some sort of loading screen that downloads all data (world and level) and caches this with suitable handling of download / internet access errors. I am assuming that the data is small enough that downloading everything won't have a negative impact. You could inherit from the Singleton component or set DontDestroyOnLoad to keep the component with the cached data alive between any scene changes.
    • Create subclasses of Level / World and override the CustomInitialisation() method to access the cached, downloaded data and set / use the data as appropriate.
    • Use the above subclasses to create resource files for use with the standard setup method for worlds / levels
    Does that sound like it might work?
     
  40. blacksun666

    blacksun666

    Joined:
    Dec 17, 2015
    Posts:
    214
    I was hoping to only download the data for the world the user selects as they have to pick a world and play that worlds levels, but guess I could just take the hit and download it all as its about 64KB. What I was hoping was to create the world and buttons via a script similar to the example in the extending custom levels section (although that example is no longer up to date.
    The number of worlds and levels varies but would it be possible without disrupting the system to disable the buttons for any worlds or levels that arent in the downloaded data by disabling the gameobject perhaps in the custominit routine?
    As I mentioned in the email, one option I was wondering about is to add an option to load the data from a resource that is held in a variable (struct or json string) rather than a file on the disk although that does seem more involved and any updates to the framework might break my changes.
    Basically the problem I have is that the world/level data is not static and definately isnt known before the game starts and will be different each day.
     
  41. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    I would initially start simple with downloading all the data and iterate to splitting the loading if that is a problem. You could do this by having a 'loading' scene that downloads the data and automatically swaps to the next menu scene when the downloaded is complete. Even over mobile 64kb should download in less than a second.

    As for the display, it is important to distinguish between the GameItem that holds the data and the display components. If you for example update the GameItem Name in a CustomInitialisation() method on your Level subclass to your downloaded data then that will be displayed automatically in the appropriate place, same with other standard data.

    As for a more customised display, currently in things like the LevelButton most of the UI references are hard coded and so GameObjects must keep similar names to maintain the same functionality (you can find names by looking at the component source that controls them). In the future I will change this behaviour to make more use of the Conditional Action and other components for even greater flexibility, and you can indeed use these component today. Creating a subclass of e.g. LevelButton and using that instead should allow you to disable any GameObject or otherwise customise the display and use your new data.

    Loading data from a variable or string rather than disk is an option, but probably something best done in the CustomInitialisation() method as such needs will likely vary from case to case. There is also how to handle things that can't easily be parsed from a string such as image / prefab reference and the like.

    If you want to add me on Skype (same as my email) then we can take a closer chat if any of the above is unclear.
     
    blacksun666 likes this.
  42. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    v5.0 is now released with much of the above including reusable Conditions and GameActions to save time and coding. Also new counter components, and more...

    Note: Always take a backup before upgrading. See here for a full list of changes

    Game Framework - Free
    Game Framework - Extras Bundle
     
    Last edited: Nov 4, 2017
    blacksun666 likes this.
  43. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
  44. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    Working on a replacement getting started tutorial (that will actually be a bit more fun to play :) ). Will announce again here once the series is ready.

    upload_2017-11-12_21-53-27.png
     
  45. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    Added GameAction support for targeting the 'other' gameobject when involved in a collision. Shown is the Transition Out action from Beautiful Transitions, however this also works with all Game Actions.

    Capture.PNG
     
  46. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    Added customisable targets to game actions so you can swap between the current gameobject, a specified one, or the colliding gameobject.

    upload_2017-12-17_18-46-36.png
     
  47. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    New Run Game Action component for automatically running a list of Game Actions, or adding as a callback from some other component that doesn't natively support Game Actions e.g. UI Button.

    upload_2017-12-18_17-45-0.png
     
  48. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
  49. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
  50. mahewitt

    mahewitt

    Joined:
    Mar 19, 2014
    Posts:
    279
    A few small updates coming soon to Pro Pooling that is in the extras bundle. First a cleaned up PoolManager inspector window:

    upload_2018-1-22_12-21-59.png