A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Separate names with a comma.
Discussion in 'Assets and Asset Store' started by EbalStudios, Dec 31, 2020.
works. Thank you!
Does Tracker Player not work when attached to Particle Weapon? When using on Munition Weapon, it allows it to track the player, but using the same setup for particles doesn't seem to be working.
The tracker player is not a mover, it's a component needed by magnet and missile movers to allow them to simply find their target. What makes a munition follow a player is if the munition itself is following the player (i.e. a missile mover with a tracker player).
Applying a player tracker to the weapon does nothing in itself. Hence applying it to the particle weapon doesn't make the particles follow the player. (I believe It's working for you with the munition weapon, because you are using a munition which is already setup to follow the player)
The shuriken particle system in Unity is highly performant, and that's why I included it as an option for weapons, but it doesn't allow adding components to each particle bullet.
May I have a question?
How does this asset relate to your other assets?
Your other assets are all about art, this asset is supposed to be a code template BUT it also contains art!
Is art and music and models included in Shmup Boss also included in your art related assets? Or should we buy Shmup Boss just for its music and backgrounds and sound effects and bullets?
EDIT: Or should we, perhaps, consider Shmup Boss as the foundation, the first asset we should buy when we're trying to make a shmup game, while the more specialized art assets are expansions of this foundation, each on its own insufficient to power a game (even just with art)?
You are probably better off thinking that Shmup Boss is completely unrelated to our artwork. It only has some very limited samples from the rest of our packs and some additional 2D backgrounds and effects.
Shmup Boss art work is mainly for you to learn from, I say it would not be sufficient on its own to building a really good game with many levels using it. Music, 2D effects and Backgrounds are only included in Shmup Boss and not in any of our art asset.
If you would like to learn from Shmup Boss code or maybe build a game using Shmup Boss engine, then it would be a good choice to get it, but PLEASE do make sure to view the video tutorials and check the documentation BEFORE making a purchase. In many ways Shmup Boss is limited and wouldn't give you all the features you want. In fact this goes to most packs so you should always make an informed decision. The camera for example is currently orthographic only, I didn't implement a bomb, laser or multiplayer, etc... just make sure you know what game you want to build and see the tutorials which will give you an idea on what it can do.
If you are building a Sci-Fi Shmup that could use spaceships or space stations etc.. then you can consider getting our art assets, but I'd say make some prototypes using anything free first and be certain you will need any art asset before getting it.
How robust would you say your weapon system is compared to "Bullet Pro". Also are you able to make wave patterns and enemy movesets similar to games like Galaga?
In terms of a bullet system; Bullet Pro is far more extensive and has more features. It also has a complete bullet collision system built from scratch.
No, Galaga style wave patterns or move sets are not implemented in Shmup Boss.
Thank you for your reply. Are complicated wave patterns on your roadmap?
A dream of mine is to create a complete, thorough and easy to use shmup engine that would enable creating most shmup games styles including Galaga style ones with more wave patterns.
This undertaking is far more difficult and time consuming than most would think, while on the surface shmup games look similar, there are many differences that would require a complex engine with a large number of features, I have had couple of attempts so far, one to upgrade the existing engine and the other to recreate an engine from scratch. I have put some months into this and I now better understand the requirements and immense tasks ahead of me if I want to rebuild it from scratch in a better way.
At the moment, I am trying to make quick games tests to learn things from the perspective of the users, and also putting some effort into upgrading my Unity and programming skills.
Can't make any promises on updates or which direction I will take. If I ever work on any I wouldn't expect them to be anytime soon.
I am trying to implement a focused movement type of feature; a slowed player movement while a button is pressed down. However I'm kind of lost with the movement system, changing currentSpeed doesn't seem to affect the player movement mid-game?
Would the sensible course of action be adjusting the newSpeed value at some point, or maybe the difficulty multiplier?
I am not sure if there is something I am missing, but changing the currentSpeed should technically change the player speed. You do not need to change the difficulty multiplier, it multiplies the current speed which should be already changed.
Can you try out the following for me:
1-Change the speed using the method of "AdjustSpeed(float newSpeed)" located in "PlayerMover.cs" line 82. Call that function and assign the new speed value and see if the speed is affected.
2-If that still doesn't work, please make sure that your player max speed value is higher than the value you are changing to. For example you might be attempting to change the speed to 15 while your max value is only set to 10, if that's the case, you will find that the player speed will never exceed 10.
Let me know how it goes.
Yeah, got it working. Had to fiddle a bit, and my own code was doing really weird things, thanks!
HAPPY NEW YEAR!!!!!!
To begin the new year, I would like to announce that I've finally decided to do a major update to Shmup Boss. It might take up to a year! So please don't rush me into anything or ask when will it be done. I am working on it alone as I also update and support my art assets and a game project on the side.
Things I will focus on:
-3D perspective camera, a simple solution with no complicated camera/depth correction. Similar to what most 3D shmup games use anyway (Putting game active elements on the same level).
-Better wave system that hopefully would be easier with more options.
-Better scrolling background system.
-More options for which enemies to track for things like missiles.
-Bomb weapon, secondary weapon with ammo, laser weapon.
-Overall improvements here and there.
-I may test tilemaps incorporation if I have time.
So far I am not planning an overhaul of the weapons system but I will perhaps try to include some video tutorials on how to incorporate other established weapon and bullet solutions.
Please consider that I am still in the planning phase, I may drop some features as I try to make them and see that they might be too time consuming, but I will do my best.
If someone has feedback on something they consider absolutely essential please feel free to share your thoughts. Now is the right time for it.
1. Laser weapon or
2. Video tutorials on how to incorporate other established weapon and bullet solutions. (Bullet Pro, VariaBULLET2D...)
What's the best approach to creating weapon munition upgrades that don't arc? IE, going from a single shot to double to triple that are spread out but not in a arc radius, but straight lines? I tried setting each Stage to have additional munitions, but when you collect the power-up to move to the next stage, the ship still fires the munitions from the previous stage as well as the current stage. It seems odd because everything from the previous Stage is turned off, so it shouldn't be seen.
I moved WeaponMunition inside seach Stage, and assigned them all to the Munition Weapons on the Player. First stage works fine, upon upgrade it still fires the previous stage weapons that should be now hidden.
To make sure I understand everything clear.
What you want is that the player weapon is upgraded into firing more bullets with each upgrade but without using the "Arc Angle Spread" in the Radial firing option, for example you want stage 1 to fire 1 bullet, stage 2 to fire 2 bullets, stage 3 to fire 3 bullets, but that they all should fire straight, correct?
I am not sure I quite understand your description of firing additional munition, since each weapon can only use one munition. But I suppose you might have missed on the handy trick of using a firing rate of 0!
Say first weapon has a firing of rate 1, you keep it like that and no need for any upgrade stages.
However, add another weapon but make sure it has a firing rate of 0 at stage 1, but a firing rate of 1 at stage 2.
Then add a third weapon, use a firing rate of 0 at stage 1 and stage 2, but a firing rate of 1 at stage 3
etc... You get the idea.
I think this should give you what you need, at stage 1, only one weapon will be firing straight, at stage 2, 2 weapons, at stage 3, 3 weapons.
Essentially, I moved Weapon game object and Weapon Munitions instead each Ship Stage, so that when you move from Visual Stage 1 to 2, the new weapon munitions in Stage 2 activate, because I was shifting the positioning of the weapons in each visual stage. IE Stage 1, weapon munition is centered, Stage 2 has 2 weapon munitions that are spread apart and centered with the ship.
The issue is, when you collect the upgrade for Stage 2, Stage 1 weapons still fire.
If that is not possible, I'll try your approach above of setting firing rates per stage and see if I can figure out a working solution!
Also, glad to hear of your continued support and advancements! best of luck!
One thought on an upgrade is for the magnet mover. Most shumps that have something similar have the magnet radius be more of a cone vs a circle (or maybe have both options!), this way if the player ship moves past them, the enemies continue on their trajectory off-screen instead of looping around. Or, simply making it so the enemies can't move backwards
Your idea of setting fire rates to 0 to turn them off in various stages worked like a charm. Should have thought of that from the start! Thank you!
There are two type of input method: Controls, Pointer.
At pointer method, Can you add an option that can set the pointer offset in runtime like other games on mobile. (ex: 1945 air force, player not under finger, but keep offset after you touch screen).
I've just installed 1945 Air Force to understand the difference you refer to in implementing touch offset. I agree, their way of doing it seem to make sense and gives the user a freedom to choose their offset level in runtime. Will keep this in mind when going over the input for the next version.
In Editor, can you using mouse click and drag to simulate mobile finger swipe on Pointer input method (not always following with mouse)?
This one is a bit too advanced for my capabilities at the moment but will look into it when the time comes and I work on the new input system.
Will work just like mobile touch.
Let me share my code here, maybe you can get the idea. Click and drag also keep offset.
bool dragging = false;
if (Input.GetMouseButtonDown(0) && dragging == false)
dragging = true;
mouseStartPos = Input.mousePosition;
mouseStartPos = Camera.main.ScreenToWorldPoint(new Vector3(-mouseStartPos.x, -mouseStartPos.y, Camera.main.transform.position.z));
playerStartPos = Transform.position;
else if (Input.GetMouseButtonUp(0))
dragging = false;
if (dragging == true)
mousePos = Input.mousePosition;
mousePos = Camera.main.ScreenToWorldPoint(new Vector3(-mousePos.x, -mousePos.y, Camera.main.transform.position.z));
if(mousePosPrev != mousePos)
offset = mousePos - mouseStartPos;
Transform.position = playerStartPos + offset;
mousePosPrev = mousePos;
Thank you, much appreciated.
Maybe this is a stupid question but I can't figure it out lol. How to make enemies path bullets, radial bullets, and missile to be on top of everything? When the battle field is filled with tons other FX, I want to place enemy bullets on top of everything so player can see what to dodge. How to do that?
Makes perfect sense to have bullets on top.
Bullet/Missiles etc.. use the Z position of the weapon which emitted them. To change their Z position just make sure the weapon Z position is on top. For example, if you have an enemy, grab its weapon, and move it to be far away from the enemy to be on top of it, do the same for all other enemy weapons and the player weapons.
For the current version of Shmup Boss I have used the built-in input system which should enable a gamepad to control the game. But I suppose you refer to additional functionality, button remapping etc.. I will take this into account and see how the successful packs out there deal with input and will try all I can to incorporate best practices.
I want to use SeamlessLayers.cs to spawn some images, but I want the images to overlap each other. Is there a way I can control the overlap / offset spawning the images?
If i need to modify the code, where would be the best place to add an overlap offset?
Hi Wai Fung,
It's much better to keep this thread for Shmup Boss support only as not to confuse any Shmup Boss users with content not related to it, I have made a post in Shmup Baby thread over here: https://forum.unity.com/threads/shmup-baby.557059/page-4 (Click on the link and you will see the answer, the last post in the thread)
Another thing I came across, which I don't think the module does currently, but would be a large increase in quality, and likely quite simple to implement:
Inbuilt movement vector normalization. At the moment while fiddling with this, it seems to me that moving diagonally is faster, than moving in horizontal or vertical axis. (Which according to my understanding is due to directional vectors multiplying from both hor. and ver. movement.)
Though from the demo scenes I tried, I felt like the space shooter might not have this problem, while my own project and the other scenes does. But this might've been an imagined difference.
The player mover has the option to make it normalized and not normalized depending on what behavior you prefer. If you want to make sure your player movement is normalized, go to the input handler and make sure the "Is Movement Normalized" checked.
The other movers for the enemies should be normalized and anyhow if one of them wasn't I can't change it now because it would alter the behavior of how the enemies move for users who have already finished their levels but if in doubt and if you see an enemy moving in a way you do not desire, just open it's mover and find the "Move" function and simply add the ".normalized" to the CurrentDirection.
For example change from:
DisplacementInLastFrame = CurrentDirection * CurrentSpeed * Time.deltaTime;
DisplacementInLastFrame = CurrentDirection.normalized * CurrentSpeed * Time.deltaTime;
If you can't find the "Move" function in the mover you are opening then it must be using the "Mover.cs" "Move" function at line 150
Am I overlooking something, but is there no option to alter the depth for bullets the same way you would set it for a wave? IE I set enemy waves at depth 10, but want to have bullets ALWAYS appear over everything, but currently they only spawn at the same depth.
Also, is there an easy fix to allow for a different mover per each boss phase? IE, first phase the boss starts at top of the screen, but when it moves to the next phase, I can move the boss differently.
Bullets have the depth of the weapon which fires them. The weapon has the depth of the enemy it's being spawned by.
To make bullets have a different depth from the waves just make sure the weapons are higher. Basically just grab the weapons and move them on the Z axis, it doesn't matter if the weapon appears to be detached from the enemy (i.e. much higher and faraway from the enemy) because the camera is orthographic it will be fine. It will just make the bullets appear on top of everything.
Thanks for the updates!
Hi! After fiddling with some other projects I decided to come back to shmupboss again. I've encountered a bit of conundrum though, one where I would imagine there to be a ready solution but I'm too blind to find it:
I have a multi-stage "boss" enemy, one where one stage is followed by another. It's timed to exit the screen after a while. However, if there's stages left, when it exists the despawning field, it seems that only the active stages are despawned, only moving onto the next stage instead of actually despawning the whole enemy. How would I accomplish the entire boss despawning once moving out of the area?
I sent you the fix via private message, keep me posted on how it goes.
I've encountered another weird conundrum:
One bullet I made seems to be broken. When the enemy tries to fire it, console tells me PoolBase can't find it's GoQueue dictionary key, followed by a null reference exception. Any ideas what could be causing this? The name of the bullet should at least be unique.
I've attached screencaps of the messages, as well as the bullet and weapon. At least with my eyes they both seemed to look like I had set them up correctly.
The way bullets are pooled is that the Munition Pool goes through the enemies or the player, lists their weapons and pools all bullets it can find there.
-Are you spawning your enemy from a wave inside a finite/infinite spawner? If not, then the munition pool cannot find your enemy, nor its weapon to list and hence it cannot find the bullets. See if you can spawn your enemy from a spawner.
-Just to double check, is the weapon connected to a boss? If so, can you try out using a normal enemy and see if it makes a difference?
-Can you try to use one of the existing enemies and/or bullets and see if it makes a difference.
Please let me know how it goes.
Hi, I'm using the Flash FX Enemy for a mine per the YouTube tutorial. The main difference is that I'm using my own custom 3D model. I'm running into an issue where I see no color change on the enemy model's mesh renderers when the event is fired. Is the feature still supported, and does it work with URP?
Thanks for continuing to support this product.
Indeed it seems URP didn't flash. For some reason the: "targetRenderer.material.SetColor(color)" doesn't work with URP but the "targetRenderer.material.color = color" works!
You only need to change 2 lines of code:
in the "FlashFX.cs" script line 81 change: "targetRenderer.material.SetColor("_Color", Color.white);"
targetRenderer.material.color = Color.white;
And in the "FlashFXTriggeredByAgentEvent.cs" script line 164 change: "targetRenderer.material.SetColor("_Color", color);"
targetRenderer.material.color = color;
That's all and it should be running just fine, you can also change or do everything you want to the mesh renderer when it flashes in those 2 lines.
I also attached the 2 modified scripts here where you can just copy them and paste them over the old scripts.
Thanks! That did it. I appreciate the simple instructions too.
I've managed to solve the issue. The enemy's phase two weapons were disappearing when it was being spawned in, causing the error. After resetting them, it seemed to have fixed it. No idea for the reason though, but I might've had some kind of a version issue on that prefab.
Thank you for your help regardless.
And right after, I've managed to re-introduce the issue in different form.
On another boss, I'm getting the previous errors again. However, this seems to only occur if the wave that spawns it is late in the finitespawner list, testing the boss out where it's the first thing spawned, and it will work fine without any errors. The same wave data, the same prefab.
And somehow moving the boss first has also broken the previous enemy bullets I just said were fixed, In the version where the boss spawns last, those enemies and their bullets work properly.
Also related to the earlier questions, the enemies are spawned through the finitespawner, and giving the weapons to bosses/enemies don't seem to affect the bullets, as in, they'll work except if they don't. In general, the issue seems to somehow relate to the function of the finitespawner. At the moment, I have 27 waves of enemies, and a lot of weapons and bullets, if this might affect it?
Maybe we can break down what's wrong exactly with few more tests.
I revised the scripts to see if there is anything wrong in the logic of how the weapons are listed for the boss and nothing seems to be wrong. The number of weapons and enemies/waves should not affect it also.
Things that I can think of which may affect it are:
-Using the same bullet name for multiple bullets (are all of your bullet prefabs in one folder and do they all have unique names?)
-Forgetting to list some boss sub phases in the boss phases of the boss.
-Maybe you have some weapons lists empty at the enemies or boss sub phases (i.e. I mean the munition weapons reference at the enemy/boss sub phase component, right below the invincibility settings.
-Maybe some sort of reference is not listed in one of those waves in the middle.
When a project gets bigger it becomes increasingly difficult to just guess what's wrong. If you can be more specific I will be able to help more, as in, tell me things like: When the boss is the first in the finite spawner I get this error.
I believe you can still narrow down the problem more, by starting a new project, using different bullets, existing prefab bullets, enemies, maybe replacing your boss enemy with a prefab from the existing demo levels, etc.. and seeing when you start getting the error.
Hi there, I have another question. This one isn't a support issue, just looking for ideas to expand on existing features.
I'm aware of the two bullet types: munition and particle. From my brief review of the code (still combing through it as I type this), it looks like both are supposed to despawn and raise an event (among other things) when it hits an agent of the opposing faction. What I'd like to do is create a new type: a "continuous" type of bullet that doesn't despawn when hitting an agent, but decrements health every interval that the agent is colliding with it. The easiest example of this is a laser that lasts for, say, 10 seconds and harms any enemies in its path.
Would Shmup Boss be flexible enough to support me adding this new type of weapon?
This option isn't available. To implement it, I suggest you add a health parameter for the munition, then in both the Player.cs and Enemy.cs scripts in the "HitByOpposingFactionMunition" method, you should change from despawning the munition into decreasing its health through a newly munition public damage method.
You will probably also need to reset the munition health when disabled inside the munition script.
Edit: also you will need to create some sort of timer, which can be accessed through "HitByOpposingFactionMunition" to know if a bullet can damage something or not. This continuous access of the munition component will decrease performance.
As for particle weapons, it will not be possible to decrease their health as far as I know.
So, research notes:
All the bullets have unique names, and are located in the same folder.
I checked the phases and weapon lists, and they were okay.
I tried checking the bullets against working bullets, to see if the settings were okay, but couldn't spot any issues.
Regarding the finitespawner, it started to seem to me that it wasn't when the enemy spawns, but when it does so in relation to the others. Mostly the issues seemed to arise between the two enemies/bullets I've mentioned earlier. Whichever spawned first would work fine, and then the latter one would have it's bullets broken. I focused some testing on those two.
Their munitions have different names, as do the enemies and wavedatas. (The munitions also have some unique features I've added, but removing these didn't affect the issue)
If I gave one of the enemy types beforehand both munitions, they would work on later spawning enemies too. It also seemed, that if I had a third enemy before both of them or after using either of the munitions not working, they would then work on the problem enemies as well.
However after packaging the enemies for another project, and removing gizmos that were causing some errors on one of the enemies this approach failed, and now one of the munitions would always fail. This now failing munition type from then on would fail even when given to a third type of an enemy, or no matter the spawning order.
However after returning to my normal wave set-up from my test waves, it again worked like in my earlier tests above. No changes to either the bullet or enemy between.
Giving the enemies different random prefab munitions from the shmupboss folders sometimes worked and sometimes didn't. Giving them any other bullets from my project's folders always worked. Inserting the enemies into one of the shmupboss demoscenes didn't affect them.
Making a new project and moving the enemies and munitions there didn't solve it. I also tried rebuilding the prefabs, but it didn't help either.
Another exception to this behavior happened when I replaced the boss enemy with a jet prefab from your projects, and gave it one of the problem munitions. The jet worked fine, but a munition type that has been flawless before on an likewise enemy broke, even when it spawned before the jet. I tried again with another jet and didn't touch it's munition, but it also broke this same third enemy. The munition on that one was even a missile one, while the munition on this third enemy was a normal one, so very different.
(A note, one of the enemies with the failing munitions also has a weapon with another munition, and in all cases that munition has worked.)
It's a real conundrum and my brain is utterly confused. I at least feel like after trying all of this that I don't understand the issue any more than before. I've also tried with both 2.02 and 2.03 versions of shmupboss, even though afaik there isn't any changes there that would affect this kind of behavior.
If you don't mind, if you can strip your project of any sensitive data and send it to me via private message via Google Drive or whatever method and I will look into it and try to see what's happening. Please make sure to point out which scene should I open to encounter the issue.
Edit: it turns out the issue was that there were multiple bosses in the level. These bosses shared the same names of sub phases, since boss sub phases are technically enemies, the munition pool listed the weapons of only the first boss sub phases and didn't list the others.
The solution was to simply change the names of boss sub phases into unique ones.
I would like to make a SHMUP game with VN elements. It is possible to connect SHMUP Boss with Naninovel? Some event triggering Naninovel engine for example and vice versa.