Search Unity

Shmup Baby

Discussion in 'Assets and Asset Store' started by EbalStudios, Sep 18, 2018.

  1. Unity3DGameExpert

    Unity3DGameExpert

    Joined:
    Jul 19, 2019
    Posts:
    5
    Hello
    I found one issue. I can`t see Level complete UI when I set By Game Manager -> Control for Player Input and By Game manager -> Manual Fire for Player Fire.
    I attached video link


    if I set above values, GameManager.IsInitialize = false.
    Please help me how to fix it when I change player input and player fire values.
     

    Attached Files:

  2. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    If this is ticked, when you fire the missiles, they will shoot off in different directions before starting to rotate towards the target. i.e. one missile will fire towards the right, another towards the left, another forward etc.. instead of just firing in the direction of the missile weapon.
     
  3. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    A quick hack to get this working for you now is to create a new empty game object in the scene, and add a game manager script to it. This should make the level end if you are using Player input (controls or follow touch) and Player fire (manual or auto fire).

    I just need sometime to look into it more before releasing the updated bug fix. I will edit this post when it's released.

    Edit: Update is already up and any new downloads should have this issue solved
     
    Last edited: Jun 18, 2020
  4. Hibito555

    Hibito555

    Joined:
    May 17, 2019
    Posts:
    18
    thank you,Very helpful
     
  5. thebeebub_unity

    thebeebub_unity

    Joined:
    Dec 23, 2019
    Posts:
    4
    How could I make it so you can't hold the fire button and continuously shoot? It should only shoot once per press, since I want players to have to button mash. Also, can I make different pickups make different sounds when collected in the same level?
     
    Last edited: Jun 21, 2020
  6. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    The options which are currently available for the input at the moment are two:
    1-Manual Fire: Will keep shooting as long as you hold the button.
    2-Auto Fire: Will always fire and does not need any buttons to be pressed.

    (Below is just a coding hint)
    If you want the fire action to happen only when you press down and not while holding down; you will need to modify "InputManager.cs" "GetFire()" method.

    For example, if you replace the line: "if (Input.GetAxisRaw(FireInputAxis) > 0.2f)"
    with "if (Input.GetButtonDown(FireInputAxis))" I believe you should get the effect you need.
    You will still need to modify the mouse input with "return Input.GetMouseButtonDown(0)" and you will need to modify the input for android and IOS version but if you just check the GetFire() method you should be able to track where it's getting its values from.

    I quite understand you just prefer it if I give you a ready script for it, but there is just an infinite number of possibilities on how to do things and for options to provide and we simply can't cover everything, we just provide a template with basic functionality and it's up for the user to change it as they see fit.

    For the custom sound effects for each pickup type, it is not available directly from the SoundFX but it can be achieved using the pickup FX controller, where you instantiate a gameobject with a sound effect on it then destroy it. I recorded q quick tutorial on how it's done, hope it works out for you:
     
  7. thebeebub_unity

    thebeebub_unity

    Joined:
    Dec 23, 2019
    Posts:
    4
    Thanks! I was able to get the firing working in the editor, but I'm not sure how exactly to change it for iOS. Some instructions for that would be helpful
     
  8. Unity3DGameExpert

    Unity3DGameExpert

    Joined:
    Jul 19, 2019
    Posts:
    5
    Hello Ebal. I have one question. how to add boss on Infinite Level mode?
    I have 7 streams. Each stream has 30~40 waves. I checked document but can`t understand about start level, end level, every nth level. Please help me
     
  9. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    The best explanation I have is the one in the video tutorial:


    A stream is not a level. A stream is all about start level, end level and every nth level (A stream is more like a sub level that is used in many levels).

    Start level: determines when a stream starts, If start level is 5 for example, the stream will start only after the first 4 levels have finished.

    Level ends determines when a stream stops.

    And most importantly every nth level determines when a level is repeated, every nth level of 1 means a stream is repeated on every level (between start and end levels of course).
    Every nth level of 2 means a stream is repeated every 2 levels (one level it's there the after it's not then it's there etc..).
    Every nth level of 10 means it's only repeated every 10 levels etc..

    It's one of those things that are easier tried than explained, but if you used 30-40 waves there is absolutely no way you can understand what's going on or how it works!
    Just try 1 wave for every stream, a wave that is easily recognizable so you can know what stream is being used, and have 3-4 streams and play with the start,end and every nth level values and you will get the hang of it. No amount of explanation will substitute experience and testing.

    For the example of a boss, it all depends how often do you want a boss to be repeated? If you want to repeat it every 10 levels for infinity, you can use start level 1, end level 0 (0 is infinity), and every nth level of 10
     
  10. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    I have just sent you a private message, please do check it out. Thanks.
     
  11. Hibito555

    Hibito555

    Joined:
    May 17, 2019
    Posts:
    18
    Hi Master,
    How to fill up the notch screen?
     
  12. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    Hi,
    Unfortunately notch screen area is currently not supported, if anything changes or if there are any updates in that regard I will keep you posted.
     
  13. Hibito555

    Hibito555

    Joined:
    May 17, 2019
    Posts:
    18
    ok,I look forward to he :)
    Thank you
     
    EbalStudios likes this.
  14. EhPeaBee

    EhPeaBee

    Joined:
    Feb 14, 2013
    Posts:
    3
    I'm getting the same problem with a HTML5 build. I can play it once but when I try to either replay, or even go back to the main menu and start again, I get the first wave and that's it.
     
  15. EhPeaBee

    EhPeaBee

    Joined:
    Feb 14, 2013
    Posts:
    3
    I built a basic scene from scratch and it does the same thing unfortunately.
     
  16. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    Just to double check, this only happens in the infinite level? or were you using a normal finite level controller? Thx.
     
  17. EhPeaBee

    EhPeaBee

    Joined:
    Feb 14, 2013
    Posts:
    3
    i was using the infinite level controller, just checked again to be sure. I just did another build of it as well and had the same result.
     
    EbalStudios likes this.
  18. Heero888

    Heero888

    Joined:
    Jun 18, 2017
    Posts:
    57
    Hi Ebal,

    In a level, how to change the size of the "BG Bound" (the green rectangle in a level scene). I think it is depending on background size and the logic is done in the background controller. I cannot find where is the best place / correct way to change the size of BG Bound. Currently the bound is too big I want to reduce it. Please help.

    Thanks,
    Wai Fung
     
  19. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    Inside the level controller, you can pick how the gamefield is determined, by default it's usually set to: offset camera view which makes it the full screen.
    To make it smaller you can use the offset camera controls (offset camera bottom, offset camera, top, etc..)
    Or you can choose your own input rectangle, to do that, in the gamefield option, choose input, then change the values of the input field from the input game field right below that control.
     
  20. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    I think I've just solved it, I will be sending you the new infinite controller script via private message and by next week I should be updating the pack on the asset store so that all new downloads have this problem solved.
     
  21. Heero888

    Heero888

    Joined:
    Jun 18, 2017
    Posts:
    57
    Hi EBal,

    Hey man, I have an issue when enemy's weapon is shooting and the enemy exits the field and get destroyed, it also destroy the weapon's particle. I have tried to set the bullet life time, and still not working. Can you try it on your computer as well? Is this a bug? Please see in video below. Please help



    Thanks,
    Wai Fung.
     
  22. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    It's not a bug but I should have explained this better in the tutorials or docs, the reason this is happening with you is that your weapon parent is the same as your enemy, your weapon parent should be an object nested underneath that enemy.

    Just create an empty game object and nest it under the enemy and then nest any weapons inside that new game object and use that as a parent. If this still doesn't fix it please let me know.
    Annotation 2020-07-21 211105.jpg Annotation 2020-07-21 211222.jpg
     
  23. Heero888

    Heero888

    Joined:
    Jun 18, 2017
    Posts:
    57
    ohhhh... thank you very much!!
    ohhh.. thank you very much! my mistake.
     
  24. Heero888

    Heero888

    Joined:
    Jun 18, 2017
    Posts:
    57
    Hi Ebal my Master,

    I am trying to spin enemies by direction that moved by the CurveMover. I added MoverSpinner as component into the enemy gameObject but the behavior is a bit odd when enemy is using CurveMover.

    I have enemy moving in circles using CurveMover in a Vertical game, MoveSpinner/Spin by Direction doesn't really visually works.

    Is there a implemented way of doing this easily?

    Also, in CurveMover.cs, i see below code:

    /// <summary>
    /// Edit the rotation angle provided by this rotator.
    /// </summary>
    /// <param name="angle">The current angle of the rotation in degrees</param>
    /// <returns>the change on the rotation angle.</returns>
    public float EditRotation(float angle)
    {
    if (!FollowPath)
    {
    return angle;
    }

    return Math2D.VectorToDegree(Direction);
    }

    it seems like you were trying to do this effect before?

    Thanks,
    WaiFung
     
  25. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    Hi WeiFung,
    The code is fine and is not attempting to do anything special. It just that it won't do circles because I didn't take that into consideration. I would have to write a completely new script for it to do that or rethink it again from start.
     
  26. TheClicketyBoom

    TheClicketyBoom

    Joined:
    Jul 16, 2018
    Posts:
    4
    I can't get the ads to work at all. Services show running ads active but the script never runs to allow me to tick the settings like is shown in the build tutorial.

    I have searched and tried and retried everything from the link and more, restarted, reimported the package etc.

    2019.4.4f1

    It never has errors, it just doesn't ever expand the script block to allow Game ID, Placement ID, Start Up Ads, Timer Ads, Time Between Ads, Retry Ads and Retry.
     
  27. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    I am just starting to investigate this, it looks like this is caused by a new change introduced to the Unity ads test mode which makes it require a game ID number.
    Can you please use this number for your Game ID in the ads manager instead of keeping it empty: 12345
    And please do not try any other number like: 55555 or 33555 it just won't work for some reason. numbers for the game ID that worked for me has been: 12345 or 123456 or 1234567
    I haven't yet tested this on all Unity versions, And I don't know if it's caused by a bug in the Unity services test mode or if it's a new thing that must be done to use these for test numbers, but I assume a valid Game ID number should work.

    Please do test out: 12345 as a game ID and let me know if it solves it out for you. Thx
     
  28. TheClicketyBoom

    TheClicketyBoom

    Joined:
    Jul 16, 2018
    Posts:
    4

    I tried that, but nothing happens.

    I disabled the ad manager script and added this script on the Ads Manager and it does show test ad on game startup over main menu screen. Just only works one time, though.

    EDIT: Actually that shows an ad every time you hit the main menu, which is fine for now and I can untick Test Mode when I build.

    using UnityEngine.Advertisements;

    public class AdsManager : MonoBehaviour
    {
    string gameId = "3733754";
    public bool testMode = true;
    public bool AdShown;

    void Start()
    {
    Advertisement.Initialize(gameId, testMode);

    }

    void Update()
    {
    if (AdShown)
    {

    }
    else
    {
    if (Advertisement.IsReady("video"))
    {
    Advertisement.Show("video");
    AdShown = true;
    }

    }

    }
    }
     
    Last edited: Jul 27, 2020
  29. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    I installed few more Unity versions to test it out and see the bottom of this problem. I think on Unity versions from 2019.4.4f1 and upwards, there is a problem with the usual Unity Ads initializing, mainly that when Unity Ads is initialized, it just doesn't register for the platform dependent directive and the code is not accessed.
    I've recorded this video for you to see my tests and how I circumvented it for now.

    I think I might later add a check box to enable/disable ads instead of being figured out on its own by the platform #define directive, but I will just wait a bit to see if this problem is solved on the Unity side. Please keep me posted.
     
    TheClicketyBoom likes this.
  30. TheClicketyBoom

    TheClicketyBoom

    Joined:
    Jul 16, 2018
    Posts:
    4
    Works for me! :)
     
    EbalStudios likes this.
  31. Heero888

    Heero888

    Joined:
    Jun 18, 2017
    Posts:
    57
    Hi Ebal,

    Please correct me if i am wrong, I think there is a minor mistake in GameManager.cs where you have if (levelIndex+1 < MaxLevelSceneIndex), please see code below. I think the purpose of this is to enable the status of the next level to be "OnGoing" such that the next level is unlocked. I think it should be: if(sceneIndex+1 < MaxLevelSceneIndex) because levelIndex is corresponding to the _saveData.Levels array structure, not to the scene index in Build Settings.

    /// <summary>
    /// Checks if the given high score is greater than the saved one, if it is;
    /// it will replace the old one and save it on disk.
    /// </summary>
    /// <param name="highScore">The high score for the current level.</param>
    /// <returns>True if it's greater than the old high score for the current level.</returns>
    public bool CheckAssignHighScore(int highScore)
    {
    int sceneIndex = SceneManager.GetActiveScene().buildIndex;
    if (sceneIndex >= MinLevelSceneIndex && sceneIndex <= MaxLevelSceneIndex)
    {
    int levelIndex = sceneIndex - MinLevelSceneIndex;
    _savedData.Levels[levelIndex].HighScore = highScore;
    _savedData.Levels[levelIndex].Statue = ShmupSaveData.LevelStatue.Completed;
    if (levelIndex+1 < MaxLevelSceneIndex)
    {
    _savedData.Levels[levelIndex + 1].Statue = ShmupSaveData.LevelStatue.OnGoing;
    }
    SaveSavedData();
    return true;
    }

    return false;

    }

    Thanks,
    WaiFung
     
  32. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    Xie xie WeiFung,
    I think you are correct, that must have slipped without anyone noticing it.
    I will correct this in the next update.
    Thanks a lot man,
    Ali
     
  33. TheClicketyBoom

    TheClicketyBoom

    Joined:
    Jul 16, 2018
    Posts:
    4
    EbalStudios likes this.
  34. redpanda

    redpanda

    Joined:
    Nov 23, 2012
    Posts:
    78
    Hello, nice asset with a lot of potential

    I already bought the asset, but is it possible to create something like layer section with an actual perspective camera and view angle similar to the screenshot?

     
  35. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    Hi,
    Unfortunately it is not possible, in the Unity asset store description of Shmup Baby, under important notes, we do mention that a 3D perspective is not available.
     
  36. cdr9042

    cdr9042

    Joined:
    Apr 22, 2018
    Posts:
    173
    Is there a feature to create boss enemy? Things like their pattern (attack, movement), phases, multiple attacks etc. ?
     
  37. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    For movement, you could use the patrol or AI movers, these are not "boss" specific but they could work. And the weapons have a modifier named "Rate Control" which lets you control the weapons rate over time.

    For phases, in the demo scenes, we have used the script "objects control" to enable some sort of stages/phases for the boss but to be honest it is very far from ideal and is not quite easy to setup.
     
    cdr9042 likes this.
  38. FlyVC

    FlyVC

    Joined:
    Jan 5, 2020
    Posts:
    30
    Is there maybe a rough release date estimate for the new version?

    I'm working on a project using the current version, if the new version comes out anytime soon I would delay the enemy/level design until later...
     
  39. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    Sorry the sure thing is not soon :oops:
    Probably around 4-5 months from now
     
  40. FlyVC

    FlyVC

    Joined:
    Jan 5, 2020
    Posts:
    30
    too bad, but that helps for my planning, thanks for the update :)
     
    EbalStudios likes this.
  41. Hibito555

    Hibito555

    Joined:
    May 17, 2019
    Posts:
    18
    Hi My Master,
    Does Ads Manager support AdMob?
     
  42. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    No, it uses Unity ads.
     
  43. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
  44. Phantasie

    Phantasie

    Joined:
    Sep 16, 2015
    Posts:
    11
    Hi.

    Great pack. Just purchased it today.

    Do you have any plans to eventually support
    1. Local multiplayer (ie 2 players)
    2. Network play

    Thanks!
     
    EbalStudios likes this.
  45. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    Thank you for the purchase.
    Would love to tell you yes, but to be honest it's not currently on the list of things to do.
    If you want to have an idea on what I am planning in version 2, please have a look at version 2 WIP thread here: https://forum.unity.com/threads/shmup-baby-version-2.989248/
    It has taken a huge effort to rewrite the second version, which was mainly about having a pooling system and other features but which afterwards I feel it will be a lot easier to maintain and perhaps develop more.

    If the second version is successful I am considering making a 3D camera and few other features which are not related at the moment to multiplayer. But let me first get the second version out of the way :)
     
  46. Phantasie

    Phantasie

    Joined:
    Sep 16, 2015
    Posts:
    11
    Hi

    Thanks for the quick response.

    Understood and makes sense. Network, of course, is a huge undertaking.

    Local multiplayer is a pretty standard feature in shumps, but I also understand your priorize your own work.

    I haven't (yet) reviewed the source you provide in detail. That said, how difficult do you anticipate it to be to add local multiplayer? Are there assumptions made throughout the scripts thats its single player? (I'm an experienced programmer, I have no doubt I can add it, just want your opinion on how difficult it would be)

    Thanks!
     
  47. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    Not very difficult but not as easy as it first appears to be (a diplomatic answer :D)
    If you open up the input manager script in the pack you will even find that we had started to prepare different player IDs for local multiplayer, but that's about it for multiplayer "preparedness".
    Spawning another player, and controlling it should be fairly easy at first, but you have to take notice that there are other features, such as missile/mines/pickups tracking the player, score, selection menu which is set for a single player, Health and shield bars that are controlling a single player, player lives, game over. Many small little things here and there that can make it quite a task to restructure the code.

    And when you get down to it, some details would require further coding, if two players are in the screen, the pickup should follow the nearest, which means more new code, what about the score, do you want to have 2 high scores for different players or just one, etc...
     
    Phantasie likes this.
  48. WolfGrimsteel

    WolfGrimsteel

    Joined:
    May 10, 2019
    Posts:
    1
    I am trying to create a flamethrower. I have managed to set up my own custom particle system and create a new weapon type to inflict damage. However I cannot get it to register the damage inflicted beyond the initial hit to the agent. How do I manage continuous damage?
     
  49. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    444
    I am not sure I quite understand what is happening with your weapon, I just spent some time to test the path weapon, in the case when particle colliders are intersecting (i.e. too many particles in close proximity to try to simulate what could happen in a flamethrower), to see if every bullet damage is being registered. And all were registered fine.

    I don't know if you have created your own script to simulate a particle weapon for a flamethrower or just a particle system without a script or only a simple one which does not follow Shmup Baby's path/radial weapons "protocols", but either way my advice would be to pay careful attention to every single detail for the particle system settings and initialization.

    Damage is being registered by the "on particle collision" in the player/enemy path/radial weapons (send collision messages needs to be on.) And you can get all the particle system settings from the initialize method in the Path weapon script. If you do the exact same things in those scripts I don't see why you won't get it to work.

    On a second note, you could make a flamethrower by "hacking" the existing particle system without creating any new one, you can try the following:
    -Create a radial weapon with a some specific rate, speed and size values, maybe even add a rate control to it to give it variation (Now this is still not a flame thrower because the radial firing pattern is too uniform)
    -Now! Duplicate the above radial particle system, change the rate slightly, change the speed slightly, rotate it, change the size a little bit, and if you used rate control change the values slightly.
    -Duplicate couple more time, each time changing it a little bit, and now you have a very random looking like flamethrower! it's not ideal and it's too much effort if you have stages, but hey it might just work and man whose idea was it to make a flamethrower in a shmup :D:D (Just kidding!)
     
  50. Phantasie

    Phantasie

    Joined:
    Sep 16, 2015
    Posts:
    11
    The art package I have has the bullets as animated sprites. Am I required to use particles (ie a material) or is there a way to use an animated sprite/animation for bullets?