Search Unity

Template AnyMMO - Open Source MMORPG Engine Now In Playable Alpha

Discussion in 'Tools In Progress' started by michaelday008, Oct 13, 2019.

?

What type of Unity Package would you prefer to see for AnyRPG

  1. Minimal Download Size: Base Engine and Prefabs Only - No Icons, animations, effects, or sounds

    12.9%
  2. Medium Download Size: Base Engine with all abilities and animations from the AnyRPG Alpha Game

    13.7%
  3. Large Download Size: The works - entire engine plus full content of AnyRPG Alpha Game

    46.0%
  4. All Of The Above: I like choice!

    52.4%
Multiple votes are allowed.
  1. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    Introduction
    AnyRPG is a Role Playing Game engine written in C# for Unity.

    It is a free, open source project with the goal of enabling storytellers to tell their stories in the format of a Role Playing Game quickly and easily.

    It accomplishes this by providing a platform with the most common game functionality out of the box.

    Content creators only need to provide visual assets and story content to create unique and compelling short stories, scenarios, adventures, and even full games.

    AnyMMO
    AnyMMO is the next evolution of AnyRPG and adds network support via FishNet to enable online play.

    Latest Update


    Previous Updates


    Current Features
    • Built-in controller system that supports autorun, fall damage, gliding/slowfall, swimming, and flying, and mounts.
    • XBox controller support.
    • Full UI including minimap, main map, combat log, scrolling action text, name plates, unit frames, quest tracking, configurable action bars, and a built-in settings menu.
    • Fully functional save game system.
    • Mecanim and UMA character support including UMA character appearance editing.
    • Questing system with achievements, multi-step quests, and quest chains.
    • Dialog system.
    • Leveling system including enemy level scaling.
    • Character classes and specializations with fully configurable primary and secondary stats, weapon skills, and armor skills.
    • Expandable Inventory and bank system with configurable bag sizes.
    • Item and equipment system with configurable item quality level and scaling items.
    • Gathering and crafting support.
    • Vendor and currency system including item buyback support.
    • Factions and reputations.
    • Combat system with configurable enemy difficulty and multi-phase health-based configurable combat strategies.
    • Combat pets.
    • Comprehensive ability system including spells, directional attacks, AOE attacks, status buffs/debuffs, projectiles, and melee combat.
    • Teleportation and portals.
    • Cutscene support.
    • Day/night cycle.
    • Weather Effects.
    Included Assets

    AnyRPG Core includes the following assets to get you started quickly without needing to download extra content.


    • 1150 item, ability, and UI icons.
    • 397 audio clips including sound effects, ambient sounds, and background music.
    • 2 Day and 1 night skyboxes.
    • 266 animation clips including movement, casting, crafting, gathering, attacks, and non combat actions.
    • Male and Female mecanim models with multiple face, hair, and equipment options.
    • 59 UMA recipes (equipment) with multiple color variations of each.
    • 300+ prefabs including weapons, tools, crafting items, props, food, trees, plants, and buildings.
    • 85 particle system effects.
    • 61 textures for ground and environment.
    • 1819 scriptable object templates that can be installed using the included wizard to rapidly populate a new game with content including spells, character classes, items, equipment, recipes, trade skills, and much more.
    In Development
    Future Plans
    • MMO support
    The Back Story Behind The Engine

    I created this engine because 6 months ago I was total newbie to Unity, C#, and video game design in general who wanted to make his own game for just a few friends without spending any money. I didn't want to invest piles of cash to make my vision come to life without knowing if it would even turn out, or if I would even have the motivation to finish something that complex.

    As I started learning game design, I found that it was an amazing amount of effort (almost 1000 hours so far) to create something with complex mechanics that would make for an engaging story and gameplay.

    I felt that there were probably quite a few people out there who would have given up much earlier and were not stubborn like me, so I wanted to release this back into the community to help remove the financial and time cost associated with setting up a prototype RPG, and as kind of a thank you to Brackeys, Unity3d college, and everyone else who made the early tutorials I learned from.

    How Can You Help?
    • Download AnyRPG from the Unity Asset Store and don't forget to rate it!
    • Spread the word. Let as many people know about this project as possible.
    • Support the project through code or art contributions.
    • Support the project on Patreon.
    • Suggest features you would like to see by replying to this thread, commenting on discord, or adding to the feature requests board on Trello.

    Web Site
    http://www.anyrpg.org/

    Unity Asset Store Download
    https://assetstore.unity.com/packages/slug/234361

    Documentation
    https://docs.anyrpg.org/

    Patreon
    https://www.patreon.com/anyrpg


    Discord

    https://discord.gg/huSAuqk

    GitHub
    https://github.com/michaelday008/AnyRPGCore

    YouTube Channel
    https://www.youtube.com/channel/UC-SiqAyRXR6eijPggFhFG2g

    Trello Roadmap and Project Status
    https://trello.com/anyrpg/

    Facebook
    https://www.facebook.com/anyrpg/
     
    Last edited: Aug 26, 2023
    tequyla, mgear, valarnur and 2 others like this.
  2. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    Version 0.4a is now released.

    Here is the development livestream for the new release:
     
    valarnur and DBarlok like this.
  3. DBarlok

    DBarlok

    Joined:
    Apr 24, 2013
    Posts:
    268
    Ouuuuuuuh my gosh! This is real?!!!!! haha, congratulations for this! I will give it a try!
     
  4. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    I'll have to take a look at what you have. I have bought uRPG however it is not very flexible as far as the character controller and enemy AI. One thing to keep in mind is to have other 3rd party integration be easy. This will increase the value of the system and will allow more people to jump on board.
     
  5. DBarlok

    DBarlok

    Joined:
    Apr 24, 2013
    Posts:
    268
    Question 1:
    Would you use or find something like this useful as a quick prototype engine or a full base engine for your game?

    -As part of the engine for a prototype im doing that i hope someday will become a new game!

    Question 2:
    If you would not find this tool useful, are there any features or capabilities that would need to be added to find it useful?

    -It's more than useful. It's A MA ZING!

    Question 3:
    Whether you find the engine useful or not, would you like a YouTube series on how to build a more complex engine like this one? I say more complex because although there are some great tutorials out there, many of them stop after creating simple mechanics.

    -Yes please. Keep it up!

    Question 4:
    Check the poll attached to the post. I want to know if you want a Unity package for this and if so, what would you like to see included in the Unity Package.

    -Voted!

    Question 5:
    I'm still kinda new to Unity, but what is the Asset Store policy for posting derivative works? Ie, the engine looks best when packaged with at least some animations and the basic system bar icons that are free downloads from the Asset Store. Are we allowed to post content that includes as part of it content that is already available on the Asset Store?
    No idea about this, but if you need help with the Icons,
    i can help you out! Just PM me!

    You are kinda newwwww!? Then you my friend are a super crack!
     
  6. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    To answer number 5, I think you are ok to post free content? Kripto used the Viking's Village in his demo for his paid product. I don't see why you can't use other free assets for a free product... @AndrewAssetStore would be the guy who can give you an answer on this.
     
    DBarlok likes this.
  7. Mister-D

    Mister-D

    Joined:
    Dec 6, 2011
    Posts:
    1,694
    hah, u used my knights!
    u can find more free characters at my sketchfab

    good luck with the project
     
    DBarlok likes this.
  8. DBarlok

    DBarlok

    Joined:
    Apr 24, 2013
    Posts:
    268
    @Mister-D I've used your knight too for a prototype i think! haha Best knight on the internet! Paladiiiiiiiin it's awesoooooome! haha, please people amazing work.
     
    Mister-D likes this.
  9. Dreamwalker23

    Dreamwalker23

    Joined:
    Mar 18, 2018
    Posts:
    10
    The progress you have made in such a short space of time is pretty impressive. keeping an eye on this one. If I could request a feature then it would be xbox one controller support, thank you.
     
    SickaGames1 likes this.
  10. Dreamwalker23

    Dreamwalker23

    Joined:
    Mar 18, 2018
    Posts:
    10
    To me as someone who only plays single player rpg's the core of any rpg should be:
    1 levelling up to get better skills and better stats
    2 currency & shops to sell collected loot and buy better gear
    3 A good story (maybe that should have been 1)
     
    SickaGames1 likes this.
  11. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    He is already better than uRPG. rideable mounts would be nice :)
     
  12. kdgalla

    kdgalla

    Joined:
    Mar 15, 2013
    Posts:
    4,639
    As I understand, Unity-provided assets are often specially licensed in such a way to allow you to do this but, generally-speaking, free assets are covered by the same license as paid, so you will want to get permission for third-party assets.
     
  13. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    Version 0.5a is now released.

    Here is the development livestream for the new release:



    Thanks for all the replies and feedback so far.

    I realized the other day that my bags were getting kind of full and I was missing a sell function. I will need to implement tabbed windows for that to happen, because I think a buyback option should be part of the sell option. After I add a few more core features, I will be releasing the sun temple as part of chapter 2 and you'll definitely start to see shops and more of the story at that point. I have about 3 years / expansions worth of story content ready.

    Aww, thanks. I actually have a dragon ready to use for a flying mount, and a rhino for a rideable mount. I just need to finish working bone based ability source locations and NPC casting into the engine because I want to actually have to defeat the fire breathing dragon before gaining the ability to ride it ;)

    I see many new votes on this poll too! If I don't get the asset store thing worked out quickly, I can always just post the Unity packages directly to anyrpg.org for now.
     
    Dreamwalker23 and SickaGames1 like this.
  14. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    Halloween Update:



    It's been a while since I posted a release, but there's been a lot of work going on behind the scenes to ensure that the Unity package meets the bar for easy to use.

    The above video is a special Halloween challenge I gave myself: see how fast I can create a simple Halloween themed game from scratch and livestream it.

    The end result: 1 hour 22 minutes for a game with 1 level, 3 character models, 2 quests and 5 dialogs.

    If you think this hits the bar for usable, let me know. I hope to have the downloadable package available soon.

    Due to the issue with contacting so many people for permission to redistribute, I decided the initial package will contain the entire Alpha game, but just with simple prefabs and UMA. That way you kind of get the best of both worlds with a package that is not super big from all the graphical elements, but still contains a very good selection of prefabs and objects that demonstrate pretty much all the functionality of the engine and contain an entire game worth of content.
     
    konsic, SickaGames1 and John-G like this.
  15. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    I'd like to try this out once you get into a Beta testing phase. Also a robust AI system is a must for not only ranged, melee AI's but also for complex phased boss fights and abilities.
     
    Last edited: Nov 7, 2019
  16. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
  17. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    AnyRPG Engine has finally been released in Unity Package format!

    I'm working on Unity Asset Store approval now, but in the meantime you can download it at https://www.anyrpg.org/downloads/ if you want to try it out and start making games with it.

    If you want a good laugh, watch this LiveStream of me trying to figure out how to comply with Unity Asset Store rules while still releasing something that doesn't require a nuclear physics degree to get working...



    Based on the results of that video, I may end up having 2 downloads: an Asset Store download that complies fully with their rules, and a full download that works out of the box on anyrpg.org for people who don't want to mess with missing dependencies and stuff.

    Features
    • UI color scheme can now be changed through the SystemConfigurationManager
    • Replaceable default animation names can now be changed through the SystemConfigurationManager
    • Full complement of example scenes, resources, and prefabs are now included in the engine that demonstrate all engine capabilities.
    • Cast targeting projector material can now be set in the SystemConfigurationManager
    • Default bag auto-equip can be configured in the SystemConfigurationManager
    • In combat and out of combat animations can now be set separately on animation profiles.
    • NPCs can now equip and unequip weapons and gain stats from them.
    Bug Fixes
    • Circular reference protection has been added to AbilityEffects to prevent them from calling themselves if misconfigured by the user.
    • NPCs will now have the correct walking animations played because the animator will receive local velocity, not world velocity.
    • Several null reference bugs have been fixed.
    Enhancements
    • All scripts are now contained in the AnyRPG namespace.
    • Channeled objects now have an interface to reduce class name and namespace dependencies and allow easy extension.

    I didn't have much luck integrating the last third party controller I tried (RPG Free). In the end, I just ended up basically writing my own because it was more reliable and quicker (spent 7 days trying to integrate with very little success).

    I definitely have to return to this issue now that the code base is a little more mature and figure out how to make a good interface for hooking in 3rd party integrations, especially when it comes to the controller. I recognize that this will be a sticking point for adoption for some people.

    The best way to get feature requests like this into the queue is to add them at the GitHub issues page as a feature or enhancement request: https://github.com/michaelday008/AnyRPGAlphaCode/issues

    That way I can treat comments on each issue like a voting board.

    I'm going to be starting on AI very soon as I integrate NPC spellcasting. It will be a little basic at first, but I definitely want cool multi-stage boss fights eventually. Like most things, it will be a prototype, probably followed by multiple iterations of improvement until it's something solid and flexible.
     
    StevenPicard, SickaGames1 and eaque like this.
  18. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    I have added some of the features that I would like to see.
     
  19. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    I finally got automatic currency exchange, tabbed vendor windows, scriptable vendor collections, and buy back implemented. This will be coming out in 0.7a.

     
    DBarlok and SickaGames1 like this.
  20. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    Rideable mounts are now a thing :)

    Coming in 0.7a.

     
    SickaGames1 likes this.
  21. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    The controller run walk is always funny!
     
  22. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    AnyRPG Engine 0.7a Unity Package Released

    Download at: https://www.anyrpg.org/downloads/


    Features
    • UMA and non UMA mounts are now supported with further increased movement speed now capped at 20m/s.
    • Spells and abilities can now spawn multiple prefabs or effects and have those effects parented to any object in the character hierarchy, allowing for things like fire breathing dragons with fire coming from their mouths, or crafting while holding tools.
    • Character classes are now available along with the ability to change character class. Character classes include Armor and Weapon proficiencies, unique abilities, and always-on special traits.
    • Vendor system is enhanced, with automatic currency conversion, buy back, and multiple vendor tab support as well as shared vendor profiles.
    • Currency System is enhanced and supports currency groups for automatic currency conversion.
    • AI Characters can now equip weapons and armor.
    • Pet charm ability and pet spawn status effects have been added.
    • Item Levels and stat budgets have been added, allowing stats and spell damage on characters and gear to automatically scale with level.
    • Threat and taunt effects have been added.
    • Accuracy status effects are now possible.
    • Haste has been added.
    • Critical hits are now possible and chance can be affected by status effects.
    • Auto-Attack system is now merged with the ability system, allowing ranged auto-attacks. This makes things like hunters and bows a possibility.
    • Combat AI with phases, music, and attack strategies has been added. AI units can now cast spells.
    • In game music player now exists.
    • A configurable mob spawn control panel can now be accessed in-game.
    • You can now copy any saved game to make a backup of it.
    • Knockback effect has been added.
    Engine & Performance Enhancements
    • The ScriptableObject system has been heavily refactored so that most ScriptableObjects now have no hard references to other ScriptableObjects on disk. This allows content to be loaded at run time and lays the foundation for database storage of ScriptableObjects in the future. It also allows the majority of the content of A Lost Soul to be directly shared and exported along with the Engine to provide a fully functional clone of the game with redistributable assets with minimal effort.
    • Combat log uses object pooling for better performance.
    • Combat text uses object pooling for better performance.
    • Nav Mesh Agent control system logic enhanced to reduce pathing calls and perform better ground detection and invalid path workarounds.
     
  23. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    @michaelday008 I'd like to see him clean up the controller a little bit :)
     
  24. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    A Lost Soul Chapter 1.5 Released

    Download at: https://www.anyrpg.org/downloads/
    You're welcome ;)


    Chapter 1.5 extends the story quests started in chapter 1 and lays the groundwork for the introduction to chapter 2. I would say the best part of the story will happen in book 3 of the initial trilogy, but it's going to be a wild and fun ride getting there.

    Features
    • The world has become a much more dangerous place. Monsters can now cast spells, summon pets, and raise their allies from the dead.
    • Searching the bodies of the monsters in the Crystal Mine can now reveal powerful armor from others they have defeated.
    • The Traveling Salesman is now happy to purchase your old gear from you, allowing you to keep your bags clean and turn a tidy profit at the same time.
    • The goblin invasion event can now be completed, allowing players to unlock both the Ranger class and the Fishing skill.
    • To prepare adventurers for the challenges ahead in chapter 2, the Guardian of Souls has unlocked the Arena of Trials where Monsters can be summoned on demand at any difficulty rating the player desires while rocking out to their favorite music with a nearby working jukebox. There are even rumors of a creature that will allow you to ride it after being defeated.
     
  25. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    Heh, I think I'm going to need professional help for that. Believe it or not, the character controller has been the single largest component so far in the project in terms of time spent. It's also been one of the least intuitive things to try to get working the way you would expect it to.

    Every time I try to make improvements to it, I spent about 10 - 20 hours trying to get everything working. I don't record or stream most of that work as it's mostly trial and error, and a lot of watching other Unity tutorials or reading articles about character controller design, how to deal with stairs, slope sliding, root motion, IK, etc.

    I will make this commitment though: If anyone donates a development copy of a paid pro controller they want integrated, I will bump it straight to the front of the line and put all other work on hold until it's integrated :)

    Also, if you are the developer of any pro product that you would like promoted, get in touch with me and I'll put integration of it on the priority list. I'll even make a new page on anyrpg.org with integration partners listed and promoted.
     
  26. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    @Malbers @Invector @TonyLi @BHS @justb @S4G4N @Jaimi @Vondox

    Hello! I have been following this project for sometime now and I think if the developer gets this right, this could be a great FREE system to get people into RPGs. If you have time, take a look at the amount of work that is put into this project and from what I have seen, it looks very promising. I have bought assets from all of you and I am throwing your names out there because I think your assets are the best the store has to offer for what they do and could your assets could enhance this demo! And in the case that you would like the developer to integrate or promote your assets with the RPG system, now would be a great opportunity to do so once this takes off! Thanks!
     
    Last edited: Jan 5, 2020
  27. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
  28. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    I'm interested to know what your definition of integrated would be for this controller or what your goal is in attempting to use this controller inside the AnyRPG framework.

    I downloaded / installed it and immediately noted several issues:

    1. It is a full project, including project settings, and will overwrite your existing settings including build settings, scenes, layers, etc which immediately breaks AnyRPG. Since I cannot break the asset store rules and package this, it would be up to the user to import it themselves, which leaves a very large possibility that they accidentally break their project in an irreversible way if they don't back it up.

    2. It comes with a very limited animation controller that only does movement and no combat. Since it requires its own input system and would completely ignore the settings that AnyRPG uses to define movement controls, the user experience could get quite confusing as they could define movement settings and not have those applied. I suppose I could have some type of system setting that hides the input settings page of the Engine if you check a box that says use third party input. It would be great if anyone could provide some examples of how they've seen this done in other types of projects.

    3. Because it comes with an animation controller that doesn't handle combat, and requires that animation controller on the unit, there is no feasible way to engage in melee combat or perform any spellcasting with a casting time greater than 0 seconds. Since swapping out the animation controller at runtime seems to cause several frames where the character can't perform any action, and I'm not sure if its a good practice to have multiple animator components on a unit and enable / disable them depending on what state you are in, I don't see a feasible way to switch back and forth between free running and combat / casting modes of play.

    Based on the above, without more information, I can't see any way in which attempting to integrate the controller would do anything other than inhibit all of the main functionality of the engine to a point where the game would be completely unplayable.
     
    StevenPicard likes this.
  29. RikGrek

    RikGrek

    Joined:
    Jan 26, 2020
    Posts:
    1
    Nice work!
     
  30. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    Progress Update - Frame Rate Improvements



    Due to the frame rate issues I was having in the Sun Temple zone, I decided to take some time and dive deep to find out the causes. This level had finally caused the fact that I had 8 cameras all active at any time to become a performance issue.

    I did a lot of research and experimentation with replacement shaders, lighting modes, manual camera rendering, disabling or frame rate limiting of cameras, clipping distances, culling masks, and even different types of character models.

    In the end I'm pretty satisfied, and was able to improve the performance of this level from 4-5 FPS up to 35-65 FPS depending on how complex the scene is. The linked episode is a summary and walkthrough of the results of the last few weeks of performance improvements.
     
    SickaGames1 likes this.
  31. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    Progress Update - New Complete Game Tutorial And AI/Automation/Scripting Improvements



    Someone recently requested a tutorial showing how to make a dungeon using AnyRPG so I decided to challenge myself and create a complete game from scratch with an actual win condition and ending. I'm pretty happy with the result. I was able to make a dungeon with armor, weapons, nice icons, a potion, combat, enemies, and an end scene in around 2 hours from starting a new project. This is a little longer than the 1.5 hours it took in my Halloween livestream, but this game is much more polished and has a lot more content.



    I've also been doing a lot of work on making anything that characters can do in the game scriptable. I ended up creating a component that allows me to send any arbitrary sequence of messages to a GameObject using the builtin SendMessage() calls. This is working really well as I don't have to hard code or add any new functions to script existing functionality, I just send a message that is configurable though serialized properties.

    Have a look at the video above and watch the last 2 minutes to see the type of cutscenes and AI scripting that are now possible. There are more cool videos showing the possibilities that provides on the YouTube channel including a dance troupe with music and a conductor, and an NPC walking around a library reading books.

    Request For Advice - Character Controllers

    I'm still in desperate need of advice from anyone experienced with integrating character controllers. I had someone recently donate a character controller that handles melee fights and really want to start integrating it, but have no idea how to start. There are basically 2 major challenges:

    1. These controllers require that you start a new project and overwrite all your existing project settings. It seems like they want your entire game to be built around them, instead of being something you just plug in to an existing game. The biggest issue is their reliance on layers / tags. AnyRPG must have it's own layers and tags to manage all the complex interactions like multiple cameras needing their own culling masks / layers for performance, and tags that need to exist for finding certain types of objects in the scenes.

    If you've successfully integrated something like this into a big or fairly complex project before, how did you overcome this?

    2. The controllers only support a limited set of actions. For example, even the melee combat capable controller has like 3 actions hard coded, and doesn't support things like swimming, floating suspended in mid-air, riding etc.

    If you've got experience with this type of thing, how did you get past this type of limit? Do you just choose one of the actions and swap out the animation at run-time? Do you use some type of scripting to add more types of parameters and actions to their controller at run-time to allow playing the types of animations it does not support?

    Obviously whatever is done, has to be scriptable. Since I cannot re-distribute these I cannot just import it, modify and extend it, and then re-package it as these are paid products and not re-distributable.
     
  32. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    I know very little about controllers, but you could study the basics of what they have and implement the characteristics that you like into your controller.
     
  33. PhilipRit

    PhilipRit

    Joined:
    Mar 26, 2017
    Posts:
    16
    This looks seriously fantastic I am myself a 3d developer and UI designer and love to contribute to this project with UI improvements and some new 3d models.

    I think going the low poly style or voxel art way would be super cool for a open source project and is simple to do too even for yourself.

    Has Unity so far already replied to having your Asset available in the Asset Store?
     
  34. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    Now create wizards that make it easy to create your scriptable objects :)
     
    michaelday008 likes this.
  35. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,315
    i made a similar framework as your and had some problems:
    other controller were too complex, had very specific way to handle actions & animation.
    so i integrated them only this way, only movement will be integrated like climbing ladder, swimming, no combat, no interaction, no inventory integration, simply because if you have to maintain all those integration it a full day job.

    instead have your system reuse the movement and have a common action system that layer on top of the character for fighting and interaction, with own equipment & inventory

    users can create new integration by extending a "mechanics scriptable object" where they override OnCreateCharacter & OnCreateCamera

    which is enough to handle any external controller by any novice developer.
     
  36. DBarlok

    DBarlok

    Joined:
    Apr 24, 2013
    Posts:
    268
    WOW, this much activity here, i must stop soon and read it all!
     
  37. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    I decided to hold off a bit before submitting it as they require that you have full documentation included in the package, not links to youtube tutorials.

    Since I was making so many breaking changes in the latest versions, I didn't want to write a bunch of documentation yet that I would have to re-write. Also didn't want to post something that would break almost everything on a version upgrade.

    I should have things to a stable enough state soon to make it worth doing.
     
    Last edited: Mar 2, 2020
  38. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    Progress Update - Unity Timeline Integration



    The last few weeks have been spent improving the ability to tell stories in a more interactive way than just speed clicking through dialogs. I have put together an event that tells the history of the SunSworn in a series of character actions, animations, dialogs, and cutscenes.

    The first two cutscenes in the video were done just using tools in AnyRPG, and the final cutscene uses the Unity Timeline as a central orchestrator.

    Also, I have a discord account now, so DM me if you want an invite to the server.
     
  39. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    I have like zero 3d modelling or art skills despite years of trying and failing. I've spent hours trying to follow Blender tutorials and it just makes my head spin. I get a lot more accomplished when I stick to what I'm good at. Hence the quick job of circles and cylinders for the example prefabs and mostly focusing on the actual engine.

    I would definitely welcome any UI and modelling help. For the example stuff that is included with the engine low poly would be perfect so I don't have to have every example character be UMA and it keeps the download size small.

    People have asked how to do non UMA characters and I have nothing rigged and re-distributable to include as an example. It would also be great to have a low poly mount or two so I don't have to have one character piggybacking on another UMA model's shoulders when mounted.

    The sample icons could also use some love as they are quite ugly and hard to tell apart since they are just text, and you basically have to find some good icons and download them before the UI is really useful.
     
  40. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    This is a great idea. I had already planned to make some custom editors in the future when I have some time to learn about that part of Unity, and wizards would make it even better.
     
  41. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    Yeah wizards would be it easy to setup your inventory, quests, dialogue, vendors ect...
     
  42. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    1 Year Progress Update - World Building, Voice Overs, and Puzzle Dungeons

    I can't believe it, but tomorrow will be the 1 year anniversary of the start of my Unity learning journey and the beginning of development on AnyRPG as my learning project.

    I totally ignored all the common advice to make simple games first and never try to do an MMO and I'm glad I did! The amount of really cool and fun stuff I get to build by just going straight for the goal has taught me so much.

    I've been mostly spending the last month doing content creation for A Lost Soul Chapter 2. This involved adding a few new features to the engine - namely voice over support and interactable switches to create puzzle dungeons.





    I've also been adding content to the Sun Temple like trainers and vendors. This has involved a lot of time browsing the Internet and sources like Sketchfab for nice looking character models to keep the variety up when adding NPCs.

     
    Last edited: Mar 31, 2020
    Acissathar likes this.
  43. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    Create some wizards for us non coder folk to use your system :)
     
    HeadClot88 likes this.
  44. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    736
    Hey @michaelday008 - I have been quietly watching your live streams. I lurk in the back ground allot of the time. I really like how this system has evolved over time.


    I agree. Some in editor setup wizards would be greatly appreciated for those who just want to make content. My 2 cents
     
  45. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    Progress Update - Invector Controller Integration

    It's been a long time coming, but I've finally started on Invector controller integration. I'm trying to make a system that is as extensible as possible based on a bunch of googling and some advice from people in this thread.

    So far, I've created a nice extensible event based messaging system that can accept an event with any primitive parameter, and pass that parameter (or a custom override) to a GameObject through the SendMessage() functionality in Unity. This system is not tied to any specific class, so should work for any third party product integration that has public methods on it's monobehaviors.

    This is working great so far but in the case of Invector, I will need to go a step further. Movement speed isn't exposed as something that can be set with a method, so I plan to use some reflection techniques to allow setting variables on user defined types which should open up access to set public properties such as movement speed while not needing to hard-code references to any specific invector class.

    I've also made some improvements to the animator code lately and found most causes of animator lag / random T poses, and I think I can safely swap out animators to allow the built-in animator to be used for spellcasing and other custom actions not supported by the third party controller just by ensuring that the animator Update() method is called after the swap to avoid that single frame t pose.

    Check out the video below to see the current progress.



    I've started on this feature now too. Step one is to make templates that I can use in the wizards later. I've started with common weapon attachment templates to make adding most weapons much less painful. I'll start work on the editor side of things soon.

     
    HeadClot88 likes this.
  46. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    Looking great and thanks for all of the work!
     
  47. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    Progress Update - Invector Integration (And Third Party Plug-in Architecture) Complete

    Well, it was a lot of work, but it's finally done. Third party anything support (including Invector controller) is now part of the engine.

    The entire video below was done using the Invector controller.



    I ended up basically doing what @Tiny-Tree suggested and using only the movement from the third party controller, but swap back to the built-in controller for things that weren't supported like combat, spell casting, and riding mounts.

    In order to make the interface with third party components as flexible as possible I built a Monobehavior that uses ScriptableObjects to configure itself, meaning anyone can 'write' plug-ins for third party products without needing to change the AnyRPG C# code or the third party product code.

    It works like this: Use a scriptableObject to subscribe to events emitted by the AnyRPG System Event Manager by event name using strings.

    Define responses to those events using more strings and reflection. Send Messages to the GameObject with the third party component on it using Unity SendMessage function or set properties on third party classes, invoke third party methods by passing parameters received from the AnyRPG events, and instantiate third party objects all using reflection and strings for class and object names.

    Define responses to events emitted by the third party classes on the GameObject also using reflection and Dynamic functions created at run time. I even used this functionality to subscribe to a third party event using a function created at run time, create a third party class with parameters by mapping inputs received from the AnyRPG event, and then set a variable value on a third party component to the instance of that dynamically created class with the custom parameters and invoke third party methods to fix a bug in the Invector code at run time.

    That last bit is something I couldn't actually find an example of online and am quite happy about as I've stretched Dynamic Methods and reflection to their absolute limits, plus put hours of videos about the process and code for the entire system on GitHub for anyone else attempting this type of thing for their own project in the future.

    Check out the video below if you are interested in the details of how to do it.

     
    Last edited: May 11, 2020
    Mark_01, Tiny-Tree and SickaGames1 like this.
  48. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    That is awesome! Now to start creating Wizards and Editors for all of your modules! :)
     
  49. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    Progress Update - Rage, Energy, Combo Points, and Other Custom Resources

    This week I've been doing pre-release difficulty tuning on the final dungeon of chapter 2, the Temple Of Ancient Energy.



    I've mostly been tuning the feeling of the environment, combat, boss mechanics, and gear / power scaling to get the gameplay to the point where it is both fun and challenging, and the content creation doesn't feel like a chore.

    To those ends, I have added the following features to make designing a game that auto-scales with level much less labor intensive:
    • All gear that scales according to level can now be capped at a certain level. Eg: the gear for the first chapter dungeon scales from level 1-12, but the new gear scales from 1-20.
    • Environmental Effects are now a thing. A new type of casting interface has been added that allows any object to cast spells, even if it's not a character. I am currently using this for a poison cloud that damages you as you walk through it, but it could be used in its current state for things like fire damage as you walk through lava, drowning damage in deep water, rocks collapsing in a tunnel, lightning storms, etc.
    • Elevators that work with the Navmesh are implemented. Enemies can now follow you around on moving platforms!
    • Line of sight mechanics have been added. The final boss of the dungeon has a very powerful explosion ability (preview in the video below) that you can hide from if you are out of line of sight. The boss will chase you around until he has LOS to your character.
    • Item cost scaling is now available. Item cost can scale based on item quality and item level (or both).
    • Custom Power Resources have been implemented. This means you can now have rage, energy, mana, combo points, soul shards, runes, or anything else you can imagine as something that can be generated over time and spent to cast abilities.
    • Shift key modifiers for action bar key binds are now working. This was quite helpful to me personally as I find it hard to reach anything past 1-6 so tapping shift to get 6 extra close keys is a life saver if you don't like using mouse clicks to cast abilities.
    • Abilities can now use the current auto-attack animations. This means you can now have abilities that aren't tied to weapons. In the past you could do this, but for example the character would just perform a punch animation while still holding the sword. Now, the ability will use the animation from the sword instead.
    • Many prerequisite conditions have been made simpler to use. Eg, Items that require a certain class to use will now only drop for that class without having to use the generic prerequisites (which was previously quite labor intensive on things like loot tables with 30 items).
    • Knockbacks can now have a physical explosion effect that will throw around rigidbodies on any layer you define. This is used to make a fun cutscene at the end of the newest dungeon.
     
  50. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    Progress Update - Custom Character Stat System

    The day has finally come. AnyRPG now supports completely custom character stats. Define your own primary stats (like Wisdom, Spirit, Charisma, etc). Define how those primary stats affect secondary stats (like critical strike). Health is now a resource and can be spent like any other resource so you can define abilities that have health as a cost. I'll be using that last feature to make a Life Tap ability in an upcoming episode.

    Secondary Stats and item qualities can now be randomly assigned to items on drop, so you can now have random items drop in dungeons including some great finds like a legendary 2 handed battle axe of spellpower for your warrior!

    This also makes it much easier to add random junk drops to loot tables for all those vendor trash farmers out there.

    Gear with random item quality or secondary stats can be saved and loaded and will retain the custom properties.

    You can see the random secondary stat system in action in the following video:



    Besides that, the crafting system received a major upgrade and you can now hold custom items per crafting recipe. This means when you are crafting a sword, you can now choose to have a certain type of ingot, or the actual sword in your hand while you craft.



    And Finally, your bags will now look a lot prettier as they can now have custom item quality backgrounds, so you can easily tell your vendor trash from high quality items at a glance.

     
    HeadClot88 likes this.