Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

UMARPG - Ultimate Modern Action RPG

Discussion in 'Assets and Asset Store' started by IllogicalGames, Nov 19, 2015.

  1. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
    Hi, I am currently developing my next game, but I'm also currently low on budget.

    then I come up with this idea, while I'm developing the game, I'm also selling its source files on the AssetStore. so, with that, I'm hoping to get the fund to continue developing the game, while at the same time, share the development with you guys.

    As I continue adding features to the game, UMARPG will also get updated.

    enough with the intro. let me tell you about;




    pageshot.png

    ARPG redesigned for simple control and great for mobile.

    Features:
    simple RPG combat system
    supports mouse/keyboard and touch control, suitable for mobile
    easy control
    simple AI
    various modifyable attribute
    various attribute impairing skills
    wealth of informative combat UI
    variety of player/enemy skills
    elemental attack/def
    item drops
    powerup status boost
    more feature coming soon (leave feedback)


    various modifyable attribute: attributes such as health, movespeed, damage, attackspeed, reloadspeed, burstcount, waterdef, firedef, earthdef etc are easy to modify. all statuses are kept in single script, you can easily change any parameters according to your game design.

    various attribute impairing skills: skills have secondary attribute impairing statuses. for example, fire damage deals "burning" status that deals damage over time. this status is easy to attach to any attack that you want and is very easy to modify.

    wealth of informative combat UI: everything about the player/enemy is displayed on the UI. waterdef/firedef/earthdef, current move impairing status, damage bonus etc is displayed on the UI. anything that is not normal on the characterStat, is displayed. this is to help the player identify current status stacks on the characters.

    friendly script: easy to add/modify/remove attack elements and status modifier attributes

    Game design:
    click/touch/hold to move
    click/touch enemies to target
    while targeted, player will auto shoot target even when moving
    click/tap/keyboard skill bar at bottom to change elements
    each attack has its own element which can only damage its opposing elemental's defense
    water>fire>earth>water
    damage is reduced by defense, amount is applied to health
    each attack has its own attribute impairing damage

    play the demo here: WebPlayer or Web-GL

    or download the game here: PC or Mac
    More features coming in next update!!
    Leave feedback for what feature do you want next

    get the asset here on the asset store
     
    Last edited: Dec 29, 2015
  2. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
    Understanding elements in UMARPG

    Characters in UMARPG has 3 basic elements for defense. To damage a character in UMARPG, a character’s
    elemental attack must be higher than it’s opposite elemental defense. see diagram below.

    Untitled-1.png
     
    Last edited: Dec 9, 2015
  3. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
  4. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    Played around with the demo. Seems like a solid start to a game. Can you explain how it would play on mobile? The player would just press where he wants to go and then the character keeps attacking the selected enemy in range once the player presses that enemy once?
     
  5. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
    yes, the player would just tap anywhere on screen to move. and to shoot an enemy, just tap the enemy and it will auto fire to the enemy regardless where you move until the enemy is dead or if you switch target.
     
  6. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
    im working on the leveling system and inventory system. next update will come with brand new leveling system and inventory system..
     
  7. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
    the leveling system is done. in the next update, player will have the ability to earn xp. when enough xp is earned, player will level up, gaining 2 xp points which can be spent to customize the character.

    now im working on the inventory system and loot randomization..
     
  8. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
    Hi guys! i just uploaded the next update. hopefully we'll see the asset live within 5 days. a lot has been added to UMARPG in this patch, you wouldnt remember UMARPG from the first release. there's a lot of new features including leveling and inventory system. check out below!

    What's new in Update #2:
    leveling system: now after scene completion, player will earn experience
    experience is used to level up the character
    each time the player levels up, xp points is earned
    xp points can be used to customize character eg: increase its attack speed, move speed etc
    new score screen after level complete, displaying xp earned and loot if found
    new character profile screen to distribute xp points
    new inventory screen after a scene completion,
    player have a chance for item drop
    item can be equipped in inventory screen
    items have effects on character stats
    and lots more.

    check out the new gameplay demo here
    pc download
    mac download

    web gl stream (for chrome)
    web player stream (for other browser)
     
    LoDx likes this.
  9. sebasfreelance

    sebasfreelance

    Joined:
    Aug 27, 2015
    Posts:
    240
    Greetings, and sorry my inglish.

    I just bought your asset and it has happened to me here to comment that it is a great product, it fulfills everything you mention, It has been as easy as following the steps indicated in the manual, and try it on my phone, everything is perfect!

    a greeting!
    good job!
     
  10. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
    Hi,
    Thank you for your reply. its great to know that the asset meets your needs. may i ask you to leave a rating and a review on the asset's page? the asset has been on the store for so long but i havent receive any review yet. it would be grateful if you could do that. thank you!
     
  11. sebasfreelance

    sebasfreelance

    Joined:
    Aug 27, 2015
    Posts:
    240
    Escribí en la tienda de activos antes de aquí;)

    un saludo
     
  12. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
    ahh i just noticed. thank you!
     
  13. sebasfreelance

    sebasfreelance

    Joined:
    Aug 27, 2015
    Posts:
    240
    Greetings, could you help me please?

    Could you tell me, how to do, than when the character shoots, stay looking towards the direction where the projectile came out.

    if you watch the next video



    the character, after firing, returns to his rotation (where he was looking) before firing, could he do, that when he shoots, he does not return to his previous rotation?

    If you watch the next video, you see what I said, sometimes the turn makes a strange gimbal look.



    this is annoying, could you help me solve it?

    I have tried to make the rotation of the character only on the Y axis, but I have not been successful.

    thanks for helping me in advance.

    a greeting and sorry my english.
     
  14. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
    Hi,
    Thats a weird bug. i'll take a look into it now.
     
  15. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
    Here, use this script for character movement. it will take a while until the asset get updated on the assetstore. for the meantime, use this.
     

    Attached Files:

  16. sebasfreelance

    sebasfreelance

    Joined:
    Aug 27, 2015
    Posts:
    240
    Thank you very much, I have tried, but sometimes it works so that it stays looking at where it shoots, random, it occurs to you what is the problem?

    on the other hand it seems that he no longer does gimbal in the rotation, this seems solved.

    I show you a video so you can see


    thanks for helping me, greetings.
     
  17. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
    here, use this one.
     

    Attached Files:

  18. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
    From your gameplay video, i think maybe you misunderstood its feature. i designed UMARPG to allows player to MOVE while ATTACKING. allowing player to do strafe shot tricks. you can actually move while shooting. just click a target, and click anywhere to move. the character will shoot while moving to the location you clicked.
     
  19. sebasfreelance

    sebasfreelance

    Joined:
    Aug 27, 2015
    Posts:
    240
    It seems that this works better, I have tested directly in your demo, instead of my project, I understand what you are saying.

    the gimbal has been solved, that to my jucio was the most problematic.
    thanks for helping.
     
  20. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
    glad it helped you!
     
  21. LoDx

    LoDx

    Joined:
    Feb 13, 2013
    Posts:
    67
    hi @IllogicalGames ,
    nice asset !
    question :-
    - Any chance of making multiplayer for it ? Photon/uNet ?

    Thanks
     
  22. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
    Hi, thanks for your interest.
    we're not planning on adding multiplayer function at the moment.
     
  23. sebasfreelance

    sebasfreelance

    Joined:
    Aug 27, 2015
    Posts:
    240
    Could you help me or tell me how to do the following?

    I'm using an inventory, when I select the weapon from the inventory

    the script activates the weapon if I select it, if I do not have it selected, the weapon is deactivated.

    I have the following structure

    Player
    Weapons
    Melee
    Range

    I have added the CharacterCompat script to "Range" and I have removed it from the character.
    with the intention that when active the "Range" weapon can attack

    I have removed the option I had to shoot, with this I have no problems to use my weapons, I can shoot without problems.

    but it is more comfortable for the player as you had thought, with the auto attack.

    You could indircame how I can make it work for me, how can I make the player shoot automatically if I have the "Range" weapon active with the CharacterCompat script?

    a greeting
     
  24. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
    Hi,
    im sorry i couldn't understand what you mean. did you mean you want to have 2 weapon type, which is 1 is melee, and 1 is ranged?
     
  25. sebasfreelance

    sebasfreelance

    Joined:
    Aug 27, 2015
    Posts:
    240
    sorry my english is not very good.

    I am trying to use the "charactercombat" script on a weapon.

    a weapon that I activate and deactivate through an inventory.

    I'm not using your inventory, if not, another.

    the script "charactercombat" I have it inside gun,
    in Player / Weapons / Gun. for example,. But it's not working,

    Could you guide me?
    How can I do that, if the gun has the charactercombat script, the combat works and shoot.

    thx.
     
  26. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
    im not sure how you do that. could you send me the script? ill take a look.
     
  27. sebasfreelance

    sebasfreelance

    Joined:
    Aug 27, 2015
    Posts:
    240
    ok, I send you an email with the script and images, to see if you can help me

    Thank you!
     
  28. sebasfreelance

    sebasfreelance

    Joined:
    Aug 27, 2015
    Posts:
    240
    @IllogicalGames, could help me, how could the player shoot the closest enemy within a range, instead of having to select the enemy, could you please guide me.

    Thank you.
     
  29. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
    Hi, you could store all enemy gameobject in an gameobject[]. and then run for loop for all the enemies stored in the gameobject[]. in the for statement, calculate distance from the gameobject to the player and store it in a float. then check if the float is the lowest(shortest distance) compared to all object stored in the gameobject[]. select the gameobject with the lowest distance. then you will get your closest enemy.

    ill post code example later
     
    theANMATOR2b likes this.
  30. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
    function to find the nearest enemy.
    Code (CSharp):
    1.  
    2.     public GameObject findNearestEnemy(){
    3.         GameObject[] enemies = (GameObject[])GameObject.FindGameObjectsWithTag ("Enemy");
    4.         float NearestDistance=1000;
    5.         if (enemies.Length>0) {
    6.             for (int i = 0; i < enemies.Length; i++) {
    7.                 float distance = (transform.position - enemies [i].transform.position).sqrMagnitude;
    8.                 if (distance < NearestDistance) {
    9.                     NearestDistance = distance;
    10.                     return enemies [i];
    11.                 }
    12.             }
    13.         }
    14.         return null;
    15.     }
    use this to find
    Code (CSharp):
    1.  
    2.     public void FindNow(){
    3.         NearestEnemy= findNearestEnemy();
    4.     }
    then you want your character to look at the nearest enemy
    Code (CSharp):
    1.  
    2.                         Vector3 dir = (transform.position -NearestEnemy.transform.position);
    3.                         moveComponent.angle = Mathf.Atan2(dir.x, dir.z) * Mathf.Rad2Deg+180;
    4.  
     
  31. sebasfreelance

    sebasfreelance

    Joined:
    Aug 27, 2015
    Posts:
    240
    oooh thank!, this should go inside the Navigation.cs script? I'm sorry but I'm not a programmer, little by little I understand how to do things, but in cases like this, it's where I'm blocked

    Thank you very much for the help.
    a greeting.
     
  32. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    167
    Yes you could put it in navigation but remember that code is not complete. I just write it to give u direction how you can overcome your obstacle.

    Good luck
     
  33. sebasfreelance

    sebasfreelance

    Joined:
    Aug 27, 2015
    Posts:
    240
    Could you help me implement it with your code please?
    thx!
     
  34. sebasfreelance

    sebasfreelance

    Joined:
    Aug 27, 2015
    Posts:
    240
    I tried to use the above within characterMovement to see if I got results, but without success, when I run and move the character explodes!


    Code (CSharp):
    1. Vector3 newDir = (transform.position -NearestEnemy.transform.position);
    2.         if ((RB.velocity.magnitude>0&&!attackMode)||(attackMode)){//we dont want the character rotates when it returns from attackmode
    3.             angle = Mathf.Atan2(newDir.x, newDir.z) * Mathf.Rad2Deg+180;
    4.         }
    5.         transform.rotation = Quaternion.Euler (0.0f, angle - 90, 0.0f);//rotates the angle of the character
    6.     }
    7.  
    8.     public GameObject findNearestEnemy(){
    9.         GameObject[] enemies = (GameObject[])GameObject.FindGameObjectsWithTag ("Enemy");
    10.         float NearestDistance=1000;
    11.         if (enemies.Length>0) {
    12.             for (int i = 0; i < enemies.Length; i++) {
    13.                 float distance = (transform.position - enemies [i].transform.position).sqrMagnitude;
    14.                 if (distance < NearestDistance) {
    15.                     NearestDistance = distance;
    16.                     return enemies [i];
    17.                 }
    18.             }
    19.         }
    20.         return null;
    21.     }
    22.  
    23.     //use this to find
    24.     public void FindNow(){
    25.         //NearestEnemy= findNearestEnemy();
    26.     }
    do not find "NearestEnemy"

    therefore I get an error here too.
    Code (CSharp):
    1. Vector3 newDir = (transform.position -NearestEnemy.transform.position);
    please help
    greetings, thanks!
     
  35. sebasfreelance

    sebasfreelance

    Joined:
    Aug 27, 2015
    Posts:
    240
    I have already agreed, thanks for your help.