2D Side-Scrolling Turn-Based SHMUP

An 80's arcade shmup mixed with modern tactical turn based interface




Tactical
Plan out your movements and attacks in detail with an ultra-modern tactical UI.

Gravity
Bend the paths of incoming enemies with gravity wells and lassos.

Old Skool
Looks like a SHMUP right out of an 80's arcade. In stunning 320x240 huggable pixels.

Physics
Adds a pinch of dynamism to proceedings.

Weapons
Nothing you won't have seen before... used in peculiar ways.

Story
A strange tale of vengeance and a lot of repair...

Side-kicks
AI Buddies play an integral part in the gameplay and story.

Bosses
Leave your reflexes at home. For the bosses you'll need to wear your best planning hat.

Tunes
Original music by NOYJ.



Now on Greenlight, come show us your support!

Steam Greenlight Logo



Image RSS Feed Latest Screens
The new Hex Menu UI Crushers - shoot switch Crushers - hold open with gravity
Blog RSS Feed Report abuse Latest News: Dev Blog - Crush, Respawn, Engineer

2 comments by themightygit on Jan 16th, 2014

So What's New?

Visible changes in the last couple of weeks are...

Crushers!

No trad sci-fi would be complete without crushers trying to stamp on you at some point. There is no plausible reason I can construct for their existence, so I shan't. CRUSH!


You can shoot switches to turn them off, or even use gravity bubbles to hold them open...

Crushers - shoot switch Crushers - hold open with gravity

Checkpoints and Respawn

I've been putting this one off, but with the demo looming I can't ignore it any longer.

The last checkpoint the player reaches is serialised with their game state so that when the level is (re)loaded the ship is simply moved to the location of the named checkpoint.

I was expecting this to be trickier than it turned out to be. In fact all I had to do was decide which objects should survive a level reload, and which should be destroyed. Unity takes care of the rest.

The UI

The original UI was just made of two things. A round button and a radial menu layout (of round buttons).

This was all fine until my needs changed. The worst thing about radial menus is when some of it is off-screen. What do you do? Do you put the menu not where the user clicked so it can all be seen? Do you try and cram it in the visible space?

I tried all of those and more. They all sucked.

I'd had the opportunity to build a more flexible UI system back when I wrote the repair screen. Sadly, I didn't take the opportunity and instead built something task specific. Now I had two bits of UI that shared no code :(

Eventually it was time for the fabrication and inventory screens. Uh-oh! I don't want a third different way of doing the UI! Time to smash it all apart and built something engineered to handle all the jobs.

Turns out that the core classes were fine, I just needed easier ways to make variants. I added different layouts for menus (grid and hex) in addition to radial (still useful) to use in the different screens and situations.

Finally the flexibility of UI I needed. Phew.

Fabrication Menu The new Hex Menu UI

Grav weapons time out

Previously gravity wells and bubbles stayed around until they went off-screen. Now they last a few seconds then flicker out.  All the balancing of how big, strong, and long lived they are is yet to be done.

Camera Shake

The sharp eyed among you may have noticed that all camera shake originated from the bottom left of the screen. At some point 2D Toolkit updated to allow the cameras zero point to be central. Switching this on obviously broke all the places where I'd compensated for zero zero being bottom left. An hour later it's all looking good again, and best of all the camera now shakes in the middle.

Fixing The Intro

Almost everything broke when I swapped 2D physics engines a few weeks ago after Unity introduced a proper 2D one. In theory the 2D engine would be faster than clamping the 3D one. This meant re-working every physical asset in the game. I even had to re-scale the whole game down by 100 because of a fixed speed limit per frame the 2D engine has - that was painful to do, and even more painful to work out what the problem was in the first place.

The only thing I didn't fix at the time was the Intro. I finally got tired of that task lurking in the background. Of course, while I was there I couldn't help but add a bit more to it ;)

It's still incomplete compared to the storyboards I have for it, but it's getting there. I had no idea the intro would eat so much time in general, but that first introduction is crucial.

So What's New Under The Hood?

Some things just can't be shown by picture or video.

Object pooling

This is something I wish I had done a bit earlier, but my creative side kept insisting I added more features rather than spend time re-engineering.

Up until quite recently I was instantiating prefabs on demand. For UI buttons, bullets, ships, missiles, everything. For a long time this didn't matter, but there came a point when making videos that I started to notice it skipping. I'd been blind to it until recently, it just hadn't been important enough.

Instantiating prefabs is slow. One technique to avoid slow creation times is to keep a pool of spare ones kicking around ready to be used.  I researched different pooling styles in Unity and, like every creative engineer, decided to do it my own way :)

So now, when you need a new bullet, or UI button, or baddie, instead of having to instantiate a brand new one (which can be slow) you take a spare from the pool. If the pool ever becomes empty it creates some more spares.

There's some balance to get your pool levels right, but on the whole you should see far less performance dips. And I did. Hooray!

Audio controller

For sounds I was just using Audio Sources directly on objects, or one shot sounds. Nice and simple, super quick to get going with. Except when you need more control, and now I wanted sounds to speed up and slow down with time. When you need that type of control you need all the sounds to go through your own audio managing code, one central point in code where you can control everything. Now it does.

What's Next?

All my work is focussed on getting the demo finished. To that end upcoming tasks will be...

  • Checkpoints: The planned flow of how checkpoints are used in the game is designed but not yet implemented.
  • (Re)Loading: Serialisation of inventory/fabrication state, so that it can be reset on respawn.
  • Baddies: More baddie and wave types to show off different weapons and strategies.
  • Music: Boss music. Noyj has supplied many boss tunes. I need to pick one and make it work, then pop back to the normal music.
  • Weapons: Backward shot (as it should be quick and easy to implement).
Media RSS Feed Latest Video
Post comment Comments
Guest
Guest Dec 1 2013, 6:01pm says:

This comment is currently awaiting admin approval, join now to view.

themightygit
themightygit Jan 4 2014, 11:24am replied:

Sorry for the slow reply. IndieDB doesn't alert me to new messages.

I don't yet know if it'll work on an IPod Touch 3gn - I haven't got to the stage of optimising for mobile yet. After the desktop release I'll most likely do Tablets next. And if that goes ok, then onto mobile.

The game is written in Unity - how well do other Unity games work on your iPod Touch 3gn?

+1 vote     reply to comment
masamuneto
masamuneto Jan 18 2014, 1:00pm replied:

I can to give you an answer. Unity games don't work fine because iPod Touch 3G don't have enough RAM. The only one is the iPod Touch 5, because it's the same spec than iPhone 4S .

+1 vote     reply to comment
vfabien21
vfabien21 Oct 3 2013, 11:50am says:

That game looks fun !
One suggestion : to have a better view of time in trajectories, dots could change color depending on how far in time they are.
You know that your missile will intercept an ennemy when both trajectories share the same color where they meet each other.

+1 vote     reply to comment
themightygit
themightygit Jan 4 2014, 11:30am replied:

Good idea. How do I know? Coz it's on my list of things to try out on the Alpha testers! :D

I'm a little concerned that the extra colours (or shading) will make things look too messy. So I was thinking I may just put a discrete little icon at the crossing point if it thinks they'll hit.

I'm looking forward to exploring it, but until the Demo and Kickstarter are sorted out it'll have to wait on the TODO list.

+2 votes     reply to comment
more-badass
more-badass Oct 1 2013, 8:09am says:

Holy crap, this looks awesome. Saw your game on Greenlight, voted, followed, favorited!

When are you planning to start your Kickstarter? I run a small indie gaming blog, would definitely do an article and spread the word on Reddit and NeoGAF
Indiegameenthusiast.blogspot.com

+1 vote     reply to comment
themightygit
themightygit Oct 3 2013, 3:36am replied:

Hi, thanks for the kind words! I hope to get the Kickstarter off the ground before mid October.

Without community coverage indie games would have a tough time getting the word out, so your offer of more coverage is music to my ears! Thank you. If you have any questions for the article then ping them to me on twitter @TheMightyGit

+1 vote     reply to comment
more-badass
more-badass Oct 3 2013, 3:44am replied:

I love the tactical interface, looks very intuitive and visually cool. I'll probably wait for the Kickstarter to go live before posting anything so I can have the campaign link in my post about the game. Hope you're doing well on Greenlight and yeah I'm already following both your Twitter accounts :)

@IG_Enthusiast

+1 vote     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Icon
Mighty Tactical Shooter
Developer & Publisher
Sock Thuggery
Engine
Unity
Contact
Send Message
Official Page
Sockthuggery.com
Release Date
TBD
Game Watch
Track this game
Share
Style
Genre
Turn Based Tactics
Theme
Sci-Fi
Players
Single Player
Project
Indie
Boxshot
Boxshot
Twitter

Latest tweets from @sockthuggery

Please vote for #MightyTacticalShooter on Steam Greenlight T.co Thank you!

Apr 20 2014, 3:19am

@alexvscoding @Bandreus @tigs Tried to sign up to tig forums but haven't got an email from registering abut 10 hours ago. Nothing in spam.

Apr 19 2014, 5:00pm

RT @TheMightyGit: Going to make gravity weapons smaller but give you more of them in #MightyTacticalShooter

Apr 19 2014, 11:38am

RT @GameDiviner: @SockThuggery I love the look of this game! Love SHMUPs! Is it out yet? :)

Apr 19 2014, 10:55am

@GameDiviner there'll be a Kickstarter in the next 2 weeks. Should be finished by end of year :)

Apr 19 2014, 10:55am

New Bullet Colour T.co #MightyTacticalShooter #indiegames #gamedev T.co

Apr 19 2014, 9:24am

Thrusters added T.co #MightyTacticalShooter #indiegames #gamedev T.co

Apr 19 2014, 9:24am

New look asteroids T.co #MightyTacticalShooter #indiegames #gamedev T.co

Apr 19 2014, 9:24am

RT @GamingFTL: Here is the demo of Might Tactical Shooter by @SockThuggery! Stop time to decide what to blow up next. T.co

Apr 14 2014, 2:59pm

RT @TheMightyGit: First chance to sit down after the close of Gadget Show Live. People like #MightyTacticalShooter ! This is a huge relief.

Apr 14 2014, 5:36am

Embed Buttons

Promote Mighty Tactical Shooter on your homepage or blog by selecting a button and using the HTML code provided (more).

Mighty Tactical Shooter
Mighty Tactical Shooter
Statistics
Rank
5,576 of 20,580
Last Update
3 months ago
Watchers
19 members
News
4