Early Access V1.2 — Twin-stick support is here!

It’s finally here!! In addition to the expert control and challenge of the classic Asteroids® controls, Solaroids now has more modern control styles for you (or your friends) enjoyment! I’m happy to introduce Hybrid (single-stick) and Modern (dual-stick) control styles. Each of the four players can choose their own control style so no pilot is left behind.

If you enjoy Twin-stick shooters, now is the time to test your skills against veteran players. Just select the Modern (dual-stick) control style before joining or from the player options menu while in-game.

Use one thumb-stick to thrust and orient your ship, or both at the same time to perform advanced dodging and strafing.

If you almost like the classic controls but wish you could use one of the thumb-sticks to control the orientation of your ship, we have you covered too. Just select the Hybrid (single-stick) control style.

Another requested feature by several players has been to add “drum brakes”. While I can’t literally add them, it is space after all, I’ve done the next best thing. I’ve added lateral thrusters that you can use manually for advanced strafing maneuvers, but you can also activate all thrusters to dynamically slow your ship regardless of the direction it is facing. In Modern (dual-stick) mode this happens automatically whenever you release the movement stick. For Hybrid (single-stick) and Classic modes it can be engaged by pressing both forward and reverse thrusters at the same time.

But wait, that’s not all! All these control styles are also available using keyboard and mouse. Yes, that’s right, if you prefer to use the utility of the mouse to aim and fire, both Hybrid and Modern styles are augmented with mouse controls along with the ability to re-bind the mouse buttons to your liking.

In addition to mouse support in-game, the main menu and options menus have been re-written to support the mouse as well so click away. This also includes the control layout editor, so now you can click controls to re-bind them instead of having to hold the existing binding to activate reconfigure mode. Something that you may need if you have a controller that doesn’t have some of the default bindings.

With the exception of the mouse movement, all thumb-sticks and buttons are reconfigurable to your tastes so if you don’t like the default layout I’ve chosen, mix it up!

These are the big features, however there are a lot of other little features that have also been tweaked or introduced. Let me know if I hit something you like, or if the feature you’ve been hoping for is not available yet. I’m totally open for suggestions, and most have found a way into the game in one form or another.

I hope you enjoy the update. Let the blasting commence!

New Features

  • Alternate control styles:
    • Classic – This is the original control scheme as in the original Asteroids, aka “tank” controls.
    • Hybrid (single-stick) – Orient the ship with the left thumb-stick or use the mouse to both orient and fire your primary and secondary weapons.
    • Modern (dual-stick) – Orient the ship with the left thumb-stick and control your thrusters with the right thumb-stick.
  • Lateral thrusters for advanced pilots.
  • Increase power of all thrusters.
  • Dynamic braking. In Classic and single-stick mode, holding down both forward and reverse thrusters will slow the ship gradually to a stop. In dual-stick mode dynamic braking is automatically engaged when idle.
  • Basic score multipliers. They go up for each kill and go down gradually when idle — or really fast when you take a hit.
  • If the spawn location near the sun is congested, spawning will be retried at an alternate location.
  • Moved some options that were under Video to Gameplay and a new Effects menu as the video menu was getting crowded and too broad.
  • Allow changing game play options while in-game. Now you can tweak friendly fire/collisions after starting.
  • Early access reminder/disclaimer shown before title. You can skip it the same as the DynF/X Digital splash screen.
  • Early Access version is now displayed in the lower right corner of the title screen.
  • Beta is displayed when running an alternate build.
  • Mouse navigation support in the main menu and option menus.
  • You can use the mouse to pick the control to reconfigure which is especially useful if your controller doesn’t have the same buttons to “hold down”.
  • You can left click the mouse button to skip the splash screen and early access disclaimer screens.
  • Default parallax is now 200% instead of 400%.
  • Adjusted layout and flow of HUDs:
    • Forfeit dialog is now within the player’s HUD to not disrupt the flow of other players.
    • When joining, allow the introduction of minimal configuration choices before entering the game.
    • Move ship color selection to a dedicated step in the HUD.
    • Add control style selection as a step within the HUD using Left/Right on the D-Pad/Keys.
    • Add ability to navigate to next and previous HUD.
    • Display icons indicating which directions on the D-Pad/Keys can be used to change options.
  • Rapid fire power-up now responds to the recharge rate power up, increasing the rate of fire. Very satisfying!
  • Steam profile icon now displayed for the player tied to the steam account (player 1).
  • If stand-in machine translations are used, they will be indicated with an asterisk (*) until they have been reviewed and/or translated by a real human.

Solaroids is available on Steam Early Access and is still being actively developed by Chad Yates as part-time Indie game developer.  Come try out the free Demo, join the Community HUB on steam, or join the ranks of brave fighter pilots defending the solar system and competing for high scores and prestige!


Now destroy thine enemies… in more interesting ways!

Watching some videos of the more established players resulted in a conversation about how funny it would be to add kamikaze dynamics to Solaroids:

“Thank you! I like every single aspect of this game. It’s wonderful 🙂 One Suggestion: It would be very funny if I could use my spaceship for Kamikaze attacks. In higher Levels, when I loose a life and all my guns, but I do have left some spaceships, it would be very cool if my spaceship would do some serious damage to the enemies, if I hit them with full speed.” – Damnax 1985

I little thinking about how it could be incorporated without changing the “rules” of the game to drastically, and this was my response:

“Thank you for the compliments! That’s an interesting idea, kamikaze! I could incorporate speed into damage calculations as a multiplier of sorts. I could also possibly make player ships the only thing that can take out the core of a boss before all peripheral parts have been destroyed. So if the core is exposed you could ram it there and blow the whole thing up for the cost of a life. What do you think?” – Me

Soon I had found time to implement it and it worked pretty well. When moving fast enough, when your ship explodes by hitting some physical object, be it an asteroid, mine, other players when friendly collisions is turned on, or your formidable foes, it will cause your own core to detonate unleashing a shock-wave of molten plasma.

But when you have a hierarchical system of parts that the bosses are made up of, you can’t just “blow the whole thing up” and expect everything to be gone. You need to take that things apart!

Destructible Cores

Kamikaze Dynamics + Destructible Cores = fun times!

If you’ve played Solaroids before, I hope you enjoy the subtle “tricks” and random possibilities this adds during both single player and crazy local co-op sessions. I’ve tried to load up the game with little details and strategic secrets I’ve carefully balanced into the game for your discovery. If you haven’t tried Solaroids before, give the Free Demo available on the Steam store page a whirl by yourself or with your friends and family and don’t forget join the Community Hub. There are many more features on the way including mouse and twin-stick style controls on immediate horizon, and an alternate BETA Branch for both the full game and the demo, and I would love to hear your feedback and suggestions to make it the best Asteroids “clone” available.

Solaroids is available on Steam Early Access and is still being actively developed by Chad Yates as part-time Indie game developer.  Come try out the free Demo, join the Community HUB on steam, or join the ranks of brave fighter pilots defending the solar system and competing for high scores and prestige!


To Parallax or Not to Parallax

I’ve always though it would be cool to use 2D parallax techniques in Solaroids, but I always had reservations.  Who doesn’t like stars whizzing by at light speed and the sense of depth that multiple layers of background elements can provide.

When I started developing Solaroids I knew I wanted nebula to provide some kind of “ground” for the player. Solaroids being an inertia based game, and having a larger than single screen playing area, I felt it was key to provide a stable background in order to maintain a sense of location. As the player thrusts and drifts a long in a heavily populated arena of moving asteroids, enemies, and hazards, how else are they going to keep track of their current velocity. It was for these reasons, the time it would take to try it out to confirm or debunk my theories, and only a few requests for it, that I didn’t until just recently set out to experiment with it.

Solaroids has 6 dedicated layers that make up the current visuals.

  1. Backdrop stars / distant gas clouds
  2. Sprite based stars
  3. Nebula’s, galaxies, planets
  4. Gameplay
  5. Energy
  6. Lens effects

If parallax was to be added it was going to be to layers 1-3 only.  So after a recent reminder from a dedicated player that it needed it, and recent completion of some higher priority features, I set out to experiment by incorporating parallax math into those three layers. This wouldn’t make individual elements (stars, nebula, etc) exist at there own simulated depth, but it would be able help prove out whether the technique would ruin gameplay or not, and also let me play with adjusting the amount. It ended up looking pretty good. Musing about with the ship, at moderate amounts it didn’t seem to affect my ability to play the game either.  At extreme amounts it did give more of a “floaty” sensation, and some might even experience a bit of nausea, so having a way to turn it off, or control the amount would definitely need to be in the final version. A quick check with a player on a restricted alpha branch, and it was confirmed it needed more!

Convinced that the parallax had merit now, and knowing it would be a user option, I set out to take those three layers and allow individual elements to have unique depths within the layer. This really took it to the next level, so I posted a preview video to YouTube and twitter (above).  Based on the feedback and response I got I was definitely on the right track.  Even my wife, when she saw it for the first time, said that I needed to redo my trailer with parallax as it looked so much better.

All would seem sunny and bright at this point, but of course there’s always something that doesn’t go smoothly.  For this feature, that was the Seamless Wrapping mode I had just got done putting in the game before Christmas.

Let’s go back a bit. Originally, Solaroids had a wrapping arena where traveling through one edge of the world would end up with the player ending up on the other side. Just like the original Asteroids.  The caveat to this is that you can’t see what’s on the other side because Solaroids plays out on a large scrolling arena.  Is it a feature or a bug?  Well many players felt it was disorienting while fighting enemy ships, especially in the corners, and they are right. So a feature dubbed Seamless Wrapping was introduced that when active would eliminate the edges, and instead allow the player to keep flying as if they hadn’t wrapped, even though they really had.

From the above video one would think it was plain and simple, but that was the final product. It ends up that seamless wrapping and parallax don’t really go well hand in hand, which makes some sense, since it’s kind of like folding space and not something that I don’t have a lot of personal experience with.

One way of creating parallax in background elements is to dampen the elements behind the gameplay layer which is scrolling by at the nominal rate. Imagine your flying along and the coordinates of you ship wrap around.  So at that moment when you cross over there is a discontinuity on any layer that isn’t at the nominal scroll rate. A star in the background can’t be offset appropriately for both sides of the wrap. This can be easily mitigated if each layer is a seamless texture, but I needed to be able to put actual objects and landmarks in the background.  I solve this by keeping track of the original unwrapped position of the camera, and then using that value to compute the amount of parallax offset to apply.

One caveat of this method, is that if you keep flying in the same direction, the background elements continue to shift.  This isn’t noticeable since the world is being seamlessly wrapped, but it does pose a challenge for position tracking of any elements in the background with respect to the game play layer.  In Solaroids a prime example of this is the sun.  The sun is in the background, but it is also tracked in the player reticle showing the direction to it. The perceived position of the sun, taking into account parallax, has to be computed (projected) from parallax space into game space in order to correctly find the direction to the sun.

So the lesson to be learned is: seemingly simple features by themselves can take on new complexity when combined together.

Solaroids is available on Steam Early Access and is still being actively developed by Chad Yates as part-time Indie game developer.  Come try out the free Demo, join the Community HUB on steam, or join the ranks of brave fighter pilots defending the solar system and competing for high scores and prestige!


Winter is Coming!

Space is a cold, even frigid, place and a sinister plot has been hatched by unknown forces. Working against us, an alien presence has deployed the biggest snow machine known to man, or any other-worldly inhabitant for that matter, in the hopes of sneakily invading our little corner of the galaxy.

Battle the most fearsome and retaliatory snowflakes (and the slithery snowman) you’ve ever laid eyes on, in a deadly battle against what would appear on the surface as a winter wonderland.

Use your skills acquired playing… ahem… Solaroids, to defend our little home. Do you have what it takes? Do you even care enough to stand up and be counted among humanities last hope for survival?

Briefing Instructions to access the xmas game branch on Steam:

  1. Right-click on the game within the Steam client and select the Properties menu item at the bottom.
  2. From the Solaroids: Prologue – Properties dialog select the BETA tab.
  3. From the BETA tab pick xmas – Happy Holidays from the Select the beta you would like to opt into drop-down selector. You should immediately see an update queued.
  4. Close the properties window and prepare for battle!

Once you have either saved mankind or screamed in agony at defeat, you can return to your normally scheduled program by returning to the BETAS tab and picking NONE – Opt out of all beta programs from the drop-down selector.

Happy Holidays and merry X-Mas HO HO HO!


Track Other Players and Enemies with the New Player Reticle

Solaroids has a large playing area, and as such it is easy to lose track of your friends when trying to coordinate an attack on the more difficult bosses or for those times when your “friends” have gone rogue and they need a little justified payback.

When bosses first enter the playing area, often it isn’t till they are on screen, or you start seeing a barrage of incoming missiles headed your way, that you realize where they are attacking from. While sometimes the surprise is warranted, with a resulting spike in adrenaline as you attempt to quickly maneuver to evade sudden destruction, sometime it just feels unfair, and a way to anticipate the interaction better would really streamline things.

I’ve had it on my radar, so to speak, for some time to create a basic way to indicate player positions and other threats or items of interest. It is the current #1 requested game feature that comes up during local multiplayer sessions.

So, without further ado I introduce the new Player Reticle feature. Currently, a Player Reticle will show three types of information:

First, small triangles arranged around your ship indicate the direction to distant players using their respective colors. The current orientation of the other players are also show, as well as relative distance indicated by size. As another player gets close enough to come into view, the indicator fades out.

Demonstration of Player Reticle when tracking other local players.

Second, the locations of active enemies are similarly indicated with small red squares.

Finally, enemy missiles that are currently locked onto you are indicated with smaller red triangles, and the reticle ring will change to red to indicate the incoming threat.

Demonstration of Player Reticle for tracking enemies and detecting incoming missiles.

This feature will be ready in time for the Early Access release of Solaroids: Prologue on Steam this spring.