Broxxar Posted November 28, 2015 Someone's gotta do it... What you need to do is combine bullet hell and physics hell into the most terrible experience. Chris Remo, Idle Thumbs Ep. 233 Planning on using at least Focused Palette, Talk is Cheap, and Tone Control diversifies. If you are a musical person interested in making some music for me that would be dope. I'll post some pretty gifs and stuff here as I go along. My offer of scripting/shader help for other Unity users is still open, so hit me up if you get stuck on something and need a second set of eyes. Dis gon' be fun. Previous Updates: Update 1: Early GIFTwo guns attached by a rubber band... Here's the .webm version if this fat gif isn't loading for you: http://gfycat.com/WeirdFaithfulHoopoe Update 2: Object PoolingGot a lot of instantiates going on in your Unity game? A bullet hell like this one is going to shred through memory allocations pretty quickly, so I'll be recycling objects using an object pool. Here's a hastebin with my relatively simple pool manager: http://hastebin.com/gazawayove.cs and the script that should go on your individual pooled objects: http://hastebin.com/uwuhokepaq.vala The second script is a needed so that the pool knows what prefab pool the object belongs to. You could use the name of the object, but names can be changed, string comparisons are slow, and fetching gameObject.name actually allocates a bit of memory each call. Update 3: Bezier splines and other math So you know how ships fly in formation and along paths and all that good stuff in most shmups? I wanted to be able to create a lot of flight paths quickly and dynamically, so any type of enemy could be stuck to a path. I ended up writing this whole Bezier spline thing so they could fly along nice smooth paths. That worked, but then I had a whole new issue. If you're evaluate a position on the path at some time t, well, it's going to depend heavily on the shape of the spline how much distance you've traveled along after t seconds. So I ended up having to do some crap where I take discrete samples of the path and turn it into a series of linear paths, which actually worked pretty well. Anyway this will probably be in my dev commentary. Here's a gif of my path system in the editor: Update 4: Enemies, Particles, Wave System and a progress GIFSince I finished my bezier system a lot of systems have started to come together. My controller for letting out waves of enemies is complete along with a basic enemy type that can follow along a path created with the system above! Rad. I've been polishing things up as I go along, with particle system and some changes to my color palette. Next up on my todo list is taking a look at sound and music... anyway, here's another cool gif showing how everything is coming together: Update 5: Starting to feel like a game Note that the Starfox music is temporary! When badatstuff comes up with an original track to use I'll toss that in and it will be way better/ not subject to DMCA take down! Update 6: New Enemy - Octo Shot Update 7: Death Now that I have an enemy actively shooting at me and not just flying by, it felt like it was time to code in some death logic. My plan all along was to treat the death of each gun as individual, when either gun is hit, it starts malfunctioning, shooting and aiming randomly on it's own making it WAY harder to control the other gun (because of course, you are attached by a rubber band). Needless to say, this is super fun... I think when I do the shield power up, it will also function as a "fix". Either gun picking it up will result in the broken gun being repaired instead of applying a shield to the gun that picked it up. Addendum to Update 7: HAHAHA oh man your malfunctioning gun also functions as shield against hostile projectiles and can kamikaze into other ships... stupendous. Update 8: Getting hype Dang I just I wanna get to the boss so badly... designing a third enemy, then going to add the shield/fixer upper item. But I just wanna make da big boss battle... must resist urge to start art assets/animations for that.... Update 9: State Machines or, "how the hell was I doing this before?" I wrote a generic state machine. The basic idea is you write a simple enum and fill it with the names to use for states. Then you instantiate a new generic state machine using your enum as the type. You can get the current state and the previous state, each hold the elapsed time since that state became active. There's also an event you can hook a delegate method up to so you get automagically informed when the state has changed. This is really cleaning up my enemy scripting and is basically going to be a necessity for any sort of complex boss fight. Anyway if this sounds useful here is the script: http://hastebin.com/yaqimoluza.vala Update 10: New Enemy - Lazr Claw This is the enemy that prompted me to look into a more sophisticated system for scripting enemies. Basically I need them play animations, particle effects, sounds, and shoot stuff, all at certain times but I want to avoid an absolute cesspool of timers and if-else statements. Unity's coroutines don't really do the job either, because starting/stopping them is a bit of a pain in the ass, namely because everything is pooled. I'm happy with my bare bones solution. Octo Shot's would benefit from this because it's a pretty garbage script now. Anyway... almost boss time... sooooonnnn Update 11: Do the death things God damn... I just added a 150ms time stop, particle effect, and a camera shake to the death mechanic. Talk about 2 minutes of effort making things 2x better.... 10 times better even. Everyone do that if you're reading this and you have a death mechanic in your game. Seriously. Update 12: Fun This game is quite fun now... I'm very excited for you to all play it! Update 13: Shields/Revival and the homestretch http://i.imgur.com/uFFncHR.gifv Another gif, this one featuring the shield powerup. I have it on both my guns, I then proceed to kamikaze into the wave of tri creeps. It doesn't go so well, shields only last for one enemy/projectile hit. Picking up a shield while one of your guns is malfunctioning (doesn't matter which one picks it up/which one is broken) will revive it. You can live for a surprisingly long time trying to fight against what is basically terrible AI controlling your other ship (meanwhile the thumb that would be controlling it is idle, so to speak...... nailed it). Now on to the big boss battle. Well tomorrow anyway, it's 4am my time and I needs ta sleep.... Update 14: #Cheat2Win What's that you say? I've failed at the focused palette diversifier with all my gradients, particle effects, and use of vector art? Don't know what your talking about, my game has only 8 colors in it... This is a fun post process effect, it will be optional to play the game in game boy mode. Yes it has double the colours of an actual gameboy and a greater resolution, but damned if it doesn't invoke the same nostalgia. Update 15: Damn Real Life... I needed this last weekend to finish things up but unfortunately I'm heading away for the weekend and don't have time to finish scripting the boss and adding the last couple sound effects. But worry not! I will finish as soon as I can and post the finished product for all to play! Until then, here's a preview of the boss in Gameboy mode to tide you over... Share this post Link to post Share on other sites
Broxxar Posted November 28, 2015 Edit: Amalgamating everything into the main post so replies aren't mixed with my updates :3 Share this post Link to post Share on other sites
Spenny Posted November 28, 2015 Good gif! Good gif! Share this post Link to post Share on other sites
dibs Posted November 28, 2015 Best gif. Conjoined twin stick shooter. Share this post Link to post Share on other sites
Broxxar Posted December 2, 2015 Thanks all! It's coming along quite well. I'm still interested in working with a musician, if you want to make some music for this game let me know! Share this post Link to post Share on other sites
Travis Posted December 2, 2015 The latest GIF is looking fantastic! Share this post Link to post Share on other sites
Spenny Posted December 2, 2015 The latest GIF is looking fantastic! Share this post Link to post Share on other sites
badatstuff Posted December 3, 2015 Is it ok for musicians to work on multiple projects? Because if so, sign me up! Share this post Link to post Share on other sites
Spenny Posted December 3, 2015 Is it ok for musicians to work on multiple projects? Because if so, sign me up! Definitely okay as per (there are no) jam rules. As per musicians code of honour, I can't speak to that. Share this post Link to post Share on other sites
badatstuff Posted December 3, 2015 Cheating on projects is my kink, don't you dare shame me. Share this post Link to post Share on other sites
Broxxar Posted December 6, 2015 Looking forward to some original music! I posted a progress video where I'm using a remix of the Corneria music for now Things are starting to come together. I think I'll add a shield power up, 2-3 more enemies and a boss and call it done. That's the plan anyway, we'll see how that goes.... Share this post Link to post Share on other sites
Ahr Ech Posted December 7, 2015 This is obscene and I love it. Share this post Link to post Share on other sites
Broxxar Posted December 8, 2015 If I don't share these variable names with you guys, who will ever see them? (Answer: nobody) Share this post Link to post Share on other sites
Travis Posted December 8, 2015 If I don't share these variable names with you guys, who will ever see them? (Answer: nobody) Good! Also, the new death mechanics sound hilarious. Can't wait to play this. Share this post Link to post Share on other sites
tigernado Posted December 10, 2015 Can't wait to see the boss! Share this post Link to post Share on other sites
jenthetracy Posted December 14, 2015 This looks so awesome. Share this post Link to post Share on other sites