Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice

Assets Shmup Baby Version 2

Discussion in 'Works In Progress - Archive' started by EbalStudios, Oct 16, 2020.

  1. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    447
    Hi everyone!
    In this thread I am going to try to show off some of the work I have been doing so far on the next version of Shmup Baby which is an asset store template for making scrolling shooters.

    The second version will be very similar to the first one, only now the code has a much better foundation and will allow for easier future updates. I will share videos every now and then of the work I am doing and differences between the second version and the first one.
    Thank you for watching!
     
    limo likes this.
  2. FlyVC

    FlyVC

    Joined:
    Jan 5, 2020
    Posts:
    32
    Since you are planning to move away from using a particle system for the bullets:
    in my performance tests, pooling gameobjects is quite a lot slower than the particle system bullets.

    I know that they have their limitations but in order to have 1k + bullets on mobile i saw no other way than using the ps.

    My test was not very extensive or maybe my pooling system is garbage, but I recommend to performance test before switching to pooling, or keep the old system optional.
     
    EbalStudios likes this.
  3. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    447
    Thanks for the tip, I think I might then keep the old system optional, I already have made everything to make the old system work, but the only thing that remains now is to keep the particle weapons active after an enemy or a player is despawned.

    In the older version, it was solved by unparenting the particle weapon when an enemy is destroyed, then destroying the particle weapon later on. So that particle bullets do not disappear when an enemy is destroyed.

    In the new version, if I unparent the particle weapon, I would have to recreate another one instead of it (because the enemies are re-used). Or I would have to make yet another pooling system for particle weapons, which I am more inclined to do as it is more performant than having to instantiate and destroy weapons.

    I admit at this stage, I am trying to do everything I can to just get it out which includes leaving out some features which are almost finished, all the small changes and fixes here and there end up taking a lot more than intended. But I will take up your advice and dedicate as much time as possible to include the older particle weapons system in the newer version.
     
    cdr9042 likes this.
  4. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    447
    New background scripts in version 2:


    Note: for those who have keen observation, an exception popped up when I chose the last option of the scrolling background, it has been fixed.

    Particle weapons update: the old particle weapons system should now be fully integrated in the new version, I only need now to create a new script for the particle hit FX but I am currently working on it.
     
  5. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    447

    A quick review of the agents system.

    At the moment I am just doing some work on the boss system, and soon will start to do more tests and build demos for mobile to see how it goes, next week I will probably add an update on the new weapons system. I've made some small changes to the existing weapons particle system (which have been included after FlyVC request), and I will go over the additionally included munition system which has pooled game objects.

    Features that I should also be covering at some point:
    -Boss system.
    -New infinite level spawner, and difficulty multiplier.
    -Camera tracking/zoom and simple shake
    -New wave system, ability to spawn ground targets.
     
    Last edited: Oct 25, 2020
  6. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    447
    I will be doing the new weapons system video review in the coming days, but just wanted to point out that I am almost finishing all of the major components, a new multi phased boss system was just finished!

    I still need time to finalize everything, organize the code, write documentation, remake the demos etc.. which will take a considerable amount of time but I will try to make review videos every now and then to keep everyone posted on what to expect in the new version.

    I also wanted to mention for any coding gurus who have used this pack previously that I am taking a new approach with the code comments.
    In the older released version, Shmup Baby had comments on everything! Which gives the impression that "everything" is well commented sort of feel but at the same time it does make it a bit cluttered and there is no use in adding a comment or a summary that adds no new meaningful information and only makes the code harder to read.

    In the next version, I have taken a great amount of time and effort in naming every variable, function and class! In most cases, no comment or summary will be needed for a big part of the code since everything is clearly named, I am at the moment going over the code, and only adding a comment when it is absolutely necessary.
    I think this might alienate some people as they might think the lack of comments is due to rushed code but the absolute opposite is the case as I hope anyone reading through the code will notice. If any of you guys have any feedback I will greatly appreciate it. Thx
     
  7. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    447
    Weapons system update:
     
    jamespaterson likes this.
  8. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    447
    One final overview video:

    With this I think I have somewhat covered the biggest parts which are changed/added in the second version. I am actually still changing things as I add comments and reorganize the code. But will keep you guys posted when I reach the phase of writing the documentation/tutorials and uploading the new version to the store.
     
  9. anilcool

    anilcool

    Joined:
    Mar 8, 2020
    Posts:
    7
    Very exciting. Can't wait to get my hands on the MultiPhased Boss script.
     
    EbalStudios likes this.
  10. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    447
    Thank you!!!
     
  11. anilcool

    anilcool

    Joined:
    Mar 8, 2020
    Posts:
    7
    For users that have have the 1st version of the game, would we have a path to upgrade the existing scripts to Version 2?

    I realize that the latest version might have a lot of rewrites.
     
  12. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    447
    Saying that it has a lot of rewrites is an understatement! Very few sciprts remained from the first version, even those few have also been modified. You will not be able to simply replace the older scripts with the newer ones and upgrade your levels.

    In version 2, waves are scriptable objects, and are categorized differently. The core level script is completely different. Agents are different. Everything is pooled and reused. Even fields have been restructured. Main menu is different etc.. At the moment I am in the phase of testing, remaking the demos, writing the documentation and tutorials.

    I can understand your desire in wanting to make the transition as easy as possible and I really wish I could make it easier for you. While version 2 in essence is very close in functionality to the current version it had to be completely restructured to allow for any future updates and to incorporate the different pooling systems. If you ever end up using it I hope that you could see the value of its restructure.

    If I didn't understand you correctly and you meant in terms of a paid upgrade, yes there will be an upgrade option from the older version.
     
  13. anilcool

    anilcool

    Joined:
    Mar 8, 2020
    Posts:
    7
    Yes that's what I realize might be happening with so many changes happening.

    Any rough timeline for the new version?
     
  14. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    447
    Some delays happened while testing the latest builds and the infinite level which required couple of weeks of debugging.

    fingers crossed, if no more bugs occur with further tests and remaking the demos I hope to be uploading it to the asset store in about a month, after that, the asset store might take any time between a week or 40 days to approve depending on their work queues, holidays etc..
     
  15. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    447
    I just hit the upload button for the second version of Shmup Baby (It will have a name change which you will see when it is released!).

    I do not know how much time it will take for the asset store to approve it or if they will ask for changes, but on my side I finished my coding marathon! I only need to start recording the video tutorials which I hope will be ready before the pack is released. Once the pack is released I will update this thread.

    Anyway I've written in as much details as I can the changes between the 2 versions, and you should also be able to learn more once I release the video tutorials or the documentation later on.

    Transitioning from the first version (AKA Shmup Baby)
    The second version has been completely rewritten from the ground up, very few scripts remain from the first version. This means if you intend to transition the project you created in the first version to the second; you will need to setup completely everything again from the start.

    New Features
    • Pooling system, enemies, bullets, missiles, effects, player, background, background objects and pickups are all pooled automatically*.
    • Global difficulty system.
    • Multi-phased boss system.
    • Weapon system which is based on pooled game objects in addition to the particle weapon system.
    • End sequence options for the background layering system.
    • A preview button for the backgrounds.
    • More options for spawning random background objects.
    • Different play fields which you can see in the editor.
    • Different wave system based on a scriptable object, for movers which are not a curve or a waypoint mover, the starting direction will be set automatically.
    • A limited option for spawning ground enemies (Only works with the finite level)
    • SFX for all agent events (including different types of player pick ups)
    • Agent events are now separated (Player components only show player events while enemy components only show enemy events).
    • Disable after time option for the enemies.
    • Camera zoom and tracking effect.
    • Camera shake effect (camera must be zoomed in for the shake effect to work.)
    • Invincibility option for all agents with an option for the bullets to pass through if invincible.
    • Coin collection in addition to score. (currently coins are not used and there are no options to buy or unlock anything, but the coins picked up are saved in the save file and if you want to add your own custom written scripts you can feel free to use the saved coins value in the game manager).
    • Added more debugging messages in case a user forgets something.
    • IMO the script is now a bit more organized and easier to read and modify.
    Note*: the pooling system knows what to pool automatically, you might have to add the initial value of how many to pool, but if needed the pool will expand automatically, but no culling feature has been implemented. All pools inherit from the same base and in theory it should be easy to add your own culling mechanism if you know how to code and deem this an essential feature.

    Lost Features
    While some functionality have been gained in the second version, others might have been lost. Adding a pooling system in the second version, meant that it was a lot harder to keep all the features which were easy to do in the first version because everything was instantiated and destroyed and not spawned/despawned.
    • You cannot now fire or damage missiles.
    • Rotation and flipping options for background have been removed.
    • The particle weapon duplicator and rotator have been removed, both the path and radial weapon have now been merged into one which has a radial option, one down side though is that if you use the curve option, it will not apply the same way it applies when you previously had a path weapon which was duplicated.
    • Objects control component have been replaced with a component called FX spawner, Yes! I know and understand that the objects control component has been exceedingly popular, but it could not be easily used with a pooling system that reuses everything and it would take a lot of effort to make it work. The FX spawner should give you everything you now need and maybe later I can see if there is any additional functionality that can be added.
    • There used to be two types of UI, and a complete player select with turn table, to make things easier to update, understand and modify, the second version uses the same unified UI and the player select scene has been merged with the main menu scene and the turn table replaced with an image based selection that is more generic for different types of games.
    • I removed the Ads manager, I actually have kept a script that works with Unity versions 2019.4 and upwards but I didn't include it with the pack because I simply didn't want to be blamed every time Unity or for whatever reason beyond my control Ads didn't work. (might post it later on on the forums if someone really wants it, it is basically the same as the first version, only without the platform dependent lines)
    • The player mover now does not have its own field and will move inside the play field.
    • When an enemy makes a drop, drops now move instantly into their position instead of gradually from the center of the enemy towards their expected position.
     
    limo likes this.
  16. EbalStudios

    EbalStudios

    Joined:
    Nov 20, 2016
    Posts:
    447