Welcome, Guest. Please Login or Register.  • Help
SMF Underground
+ SHMUP-DEV » SHMUP DEV FORUMS » Assistance
|-+ Unity3D?

Pages: [1]   Go Down
0 Members and 1 Guest are viewing this topic. Topic Tools  
Read February 25, 2011, 12:34:27 PM #0
hima

Unity3D?

Has anybody tried using Unity to make a bullet hell shmup game? I'm about to do it but I want to know if someone already did this so I know what I should prepare or should know beforehand Smiley
Offline  
Read February 25, 2011, 08:25:12 PM #1
bugdoodle

Re: Unity3D?

I haven't attempted this, but I've heard a number of times that Unity is setup for 3D not 2D. You can do 2D, but it's a bit of a pain and throws up a number of hurdles. Not impossible though.
Offline  
Read February 26, 2011, 10:12:30 PM #2
lagonie

Re: Unity3D?

As long as all your game objects(or at least most of em) are still 3D objects, its not much of a problem to work in 2 dimensions .. if you want 2D sprites.. yeah.. ask me, maybe I can help. But it was a pain in the ass and is now a bucket full of work arounds.

BUT for a 2d Game with 3D Models: I can recomend Unity3D. Its very easy to use and powerful(some learning required ^^)
Offline  
Read February 27, 2011, 01:26:26 AM #3
hima

Re: Unity3D?

I already bought SpriteManager2, and it really helps making 2D game on Unity much easier. Though it's still harder than other 2D specific game engines.

I'm more concerned of how should I deal with many bullets as well as collision detection. Unity comes with a 3D physics system, but should I use that or should I go with writing my own 2D collision detection?

I'll try going with the default physics system first and will come back with a result Smiley
Offline  
Read February 27, 2011, 10:49:55 AM #4
berilium

Re: Unity3D?

Hi Hima!

I'm more concerned of how should I deal with many bullets as well as collision detection. Unity comes with a 3D physics system, but should I use that or should I go with writing my own 2D collision detection?

How difficult would it be integrating Box2D? Might be worth it? To be honest I have never worked with either. However, I remember some one on these forums succesfully created a bullet system with Box2D.

Ta
Offline  
Read March 05, 2011, 04:09:41 AM #5
kemical

Re: Unity3D?

unity3d is great, I haven't attempted bullet hell with it yet, but it's worth noting that you can create a particle system and take full control of the positions of each particle, to create spiral patterns and things. I also saw that there is a particle collision callback.

With the physics, really you could do it either way, although I've read on answers.unity3d.com that using the built in Physx for collision detection would ultimately be faster, that doesn't mean you need to use rigid body physics to move everything around though, you can still move and position things without physics.. you'd just be using the simple sphere colliders for checking if objects are colliding. 
Offline  
Read March 06, 2011, 05:01:04 AM #6
hima

Re: Unity3D?

I just tried what seems to be exactly like what kemical said and the result is great so far. 1,000 bullets and the game's speed is still over 60 FPS. This is with collision detection between 1000 bullets and 1 player object as well. I'll tried develop some simple game based on this Smiley

EDITED : I was wrong. That was when the object exist, but is off screen and is not being rendered on the screen. If everything is rendered on the screen, the game slow down at around 600 - 700 bullets. Sad

@berilium
I have absolutely no idea, but considering Unity use PhysX for 3D physics, maybe you can just use it with z-axis restriction of some sort. Here are some discussion I found.
http://forum.unity3d.com/threads/41872-Unity-2D-physics-ala-Box2D-Chipmunk
http://forum.unity3d.com/threads/76648-Box2D-in-Unity
« Last Edit: March 08, 2011, 08:23:19 AM by hima »
Offline  
Read March 07, 2011, 01:01:39 PM #7
Matt McFarland

Re: Unity3D?

I've considered moving to Unity for my next project, but I'm not sure if I'd like their scripting language.  I really don't like point and click game editing either, as I find it easier to code.  I'll probably move to HaXe. Cheesy


<a href="http://www.mattmcfarland.com/flash/myFlashSig.swf" target="_blank">http://www.mattmcfarland.com/flash/myFlashSig.swf</a>
Offline  
Read March 07, 2011, 04:24:14 PM #8
motorherp

Re: Unity3D?

I've only heard good things about Unity3D and it certainly looks very proffesional and feature rich so I'd say go for it.  Not sure about the 2D capabilities since its obviously tuned for 3D but they appear to have a very active community so I'm sure there's plenty of help out there for this kind of thing.  The only thing that puts me off is like Matt says, I'm not a big fan of black boxes, I'd much rather be working directly with source code, but I guess that's a matter of taste and as long as the engine supports everything you need then its gonna be a faster way to develop.


Offline  
Read November 26, 2011, 03:54:06 PM #9
hima

Re: Unity3D?

Now that I've spent enough time on Unity3D making a bullet hell game, using a paid solution for 2D graphic. I have to say that it is not satisfying experience. Unity3D is not appropriate in making shoot'em up game or bullet hell game. The reasons are as follows :

- 2D is more complicate than it should be, even with plugin. Most of the time are being spent on how to get 2D graphics for bullets to work. I would have finished this in 1 - 2 days without problems in GameMaker, C++ and DXLib or BlitzMax.

- Regardless of using 2D plugin package, the overhead is still there. This maybe due to the component-based system and how Unity is designed, but the creation of each object takes time. Even when using Object Pool design pattern, the overhead of activating/deactivating object is still high. Creating more than 50 bullets in one frame can cause an obvious stutter.

- Game slow down when there are around 350 - 500 bullets on the screen. Game Maker can handle 750 before it starts to slow down. BlitzMax can handle much more. Needless to say, if your game need more number of bullets, you cannot do it in Unity.

- Scaling is really really slow. I don't know whether this is a normal process ( I don't think so though ) but scaling in Game Maker or C++ and OpenGL is done much faster. So you can't play around much with laser scaling.Maybe there's a lot going on behind the transform component.

- Unplayable on Android and iPhone, so Unity's advantage of cross-platform is reduced to OSX and Windows.

This doesn't mean there are only cons. The pros are :

+ It's very easy to test the game and change the pattern. Making complicate pattern is also very easy, since the component system of Unity make it very flexible. C# makes it very flexible too with Reflection and Function Delegate.

+ Designing 3D background and game interface is pretty easy, since you can see what it looks like in the game in realtime without having to play the game.

+ Rectangle and circle collision detection are already there for you. It isn't hard to implement, but matching the scaling and rotating bounding box with scaling and rotating image is pretty tedious. Unity make it work out of the box.


Conclusion, a simple shooter or a fast-pace shooting game might be possible with Unity3D. But it won't be a smooth ride, and you need to spend money on the 2D package, which ranges from $35 - $100. If you don't need to use 3D in your game, you'll be better off using other engine. Even if you need 3D effect, you might be better off using BlitzMax + Minib3d. I've already invested and worked on the game so I think it's better to finish it. But let me tell you that there are many times that I can't help but regret choosing Unity3D for the game.


I hope this helps people out there who are still wondering whether they should choose Unity as a tool to make their shmup or not!

My environment info
OS : Mac OSX Lion 10.7
2D Plug in : SpriteManager2
Offline  
Read May 24, 2012, 03:00:51 AM #10
ImaginaryHuman

Re: Unity3D?

I thought I'd update this thread a little and say that Unity 3D is now `better` at supporting 2D, provided you invest a little money in one or two of the several `2d packages` now available on the Unity asset store. For $30 or so you can get some pretty decent 2d functionality like sprite sheets and animation stuff. But you'll still probably have to write a bunch of code yourself. I'm working on a shootemup in Unity and it's not too bad if you can overcome its shortcoming with some extra code.
Offline  
Pages: [1]   Go Up
Jump to:  

Page created in 0.188 seconds with 17 queries.