Search Unity

Games [WIP] AnyRPG - Open Source Role Playing Game Engine (Unity Package Available)

Discussion in 'Works 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

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

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

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

    34.5%
Multiple votes are allowed.
  1. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    21
    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.

    Features


    GamePlay


    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?
    The state of the game is early alpha. I haven't released this for testing to the general public, so if you find bugs, you are welcome to report them (GitHub link below).

    At this time, I'm mostly looking for feedback on the engine so if you can answer the following questions in this thread, I would appreciate it.

    Question 1:

    Would you use or find something like this useful as a quick prototype engine or a full base engine for your 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?

    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.

    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.

    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?

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

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

    YouTube Channel
    https://www.youtube.com/channel/UC-SiqAyRXR6eijPggFhFG2g
     
    Last edited: Jan 3, 2020
  2. michaelday008

    michaelday008

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

    Here is the development livestream for the new release:
     
    TheKingOfTheRoad likes this.
  3. TheKingOfTheRoad

    TheKingOfTheRoad

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

    SickaGamer

    Joined:
    Jan 15, 2018
    Posts:
    901
    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. TheKingOfTheRoad

    TheKingOfTheRoad

    Joined:
    Apr 24, 2013
    Posts:
    235
    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. SickaGamer

    SickaGamer

    Joined:
    Jan 15, 2018
    Posts:
    901
    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.
     
    TheKingOfTheRoad likes this.
  7. Mister-D

    Mister-D

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

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

    TheKingOfTheRoad

    Joined:
    Apr 24, 2013
    Posts:
    235
    @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.
     
    SickaGamer 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)
     
    SickaGamer likes this.
  11. SickaGamer

    SickaGamer

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

    kdgalla

    Joined:
    Mar 15, 2013
    Posts:
    2,069
    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:
    21
    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 SickaGamer like this.
  14. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    21
    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, SickaGamer and John-G like this.
  15. SickaGamer

    SickaGamer

    Joined:
    Jan 15, 2018
    Posts:
    901
    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. SickaGamer

    SickaGamer

    Joined:
    Jan 15, 2018
    Posts:
    901
  17. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    21
    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, SickaGamer and eaque like this.
  18. SickaGamer

    SickaGamer

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

    michaelday008

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

     
    SickaGamer likes this.
  20. michaelday008

    michaelday008

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

    Coming in 0.7a.

     
    SickaGamer likes this.
  21. SickaGamer

    SickaGamer

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

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    21
    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. SickaGamer

    SickaGamer

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

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    21
    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:
    21
    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. SickaGamer

    SickaGamer

    Joined:
    Jan 15, 2018
    Posts:
    901
    @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. SickaGamer

    SickaGamer

    Joined:
    Jan 15, 2018
    Posts:
    901
  28. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    21
    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:
    21
    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.
     
    SickaGamer likes this.
  31. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    21
    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. SickaGamer

    SickaGamer

    Joined:
    Jan 15, 2018
    Posts:
    901
    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. BraindeadGamesLLC

    BraindeadGamesLLC

    Joined:
    Mar 26, 2017
    Posts:
    15
    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. SickaGamer

    SickaGamer

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

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,301
    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.
     
    SickaGamer likes this.
unityunity