Advertisement Jump to content
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

Grand Strategy: SpaceWar (Spinoff?) and the RubberDuck...

Sign in to follow this  


A year ago, almost day-for-day, I started work on a game project which would later be known as Grand Strategy: Space War.
(Don't worry, I'm still working on that!)

A few months ago, we've chosen to scrap the way the combat system is currently handled because it does not meet our expectations of what would fit within the game. However, there was some good progress made with that and I've toyed with the idea of converting this simulator into a mini-game: a GS:SW spinoff of sorts.

Here's the last video of the combat playback that was published through my youtube channel. As you can see, a lot of it was severe WIP. The simulation aspect was fully functional however, and the code was starting to look good.

Two teams fighting with relatively straightforward AIs. Simple eh?

So I've been thinking long and hard about a way to turn this into a mini-game/spinoff, and here are the dilemmas I've ended up with:

1. Game Type

I'm left with 3 main options that I'd like to explore.

A - Make it an arena-type arcade game where the player spawns at the center, and enemies spawn on the edges endlessly. Player accumulates points by surviving as long as possible, and killing as many enemies as possible.


[indent=2]I get to keep most of the development I've already made.

[indent=2]Additional programming is minimal (Score system, enemy spawners and player).


[indent=2]I'm afraid it could be a bit boring over time and a very short-lived experience.

B - Make it an arena-type arcade game where the player spawns at the center, and enemies spawn on the edges in fixed numbers. Player accumulates money for each kill. If he survives the entire wave, he gets to spend this money on ship upgrades for the next level.

[indent=2]I get to keep most of the development I've already made.
[indent=2]Additionnal programming is relatively straightforwards (except for the entire metagame aspect).

[indent=2]There are a lot of unknowns and I'd like to be sure that the "shop" approach is worthwhile before making it part of the gameplay loop.

C - Make it an open game where the player spawns in the universe and can freely move around. He encounters enemies randomly. I could add shops, etc.

[indent=2]Seems like there's a lot of untapped potential in this idea, and very cool gameplay to make.

[indent=2]This is meant to be a prototype spinoff, and I feel this would require a lot of additional code before it is even playable.
[indent=2]I'm afraid of feature creep and I don't want to lose sight of development on GS:SW itself.

Beyond the game type however, there are a number of other questions that need answering...

2. Player Controls

I've investigated a number of ways the player ship could be controlled, and I'm still trying to find what's the most suitable approach in regards to helm rotation, camera and "aiming" weapons:

[indent=1]Helm Rotation

[indent=2]A - Have the ship's helm rotate based on the mouse coordinates.
[indent=3]This feels "right" and gives some freedom of movement. It might be more intuitive to newcomers and can lead to interesting arcade moments.
[indent=3]On the downside, it would limit my options for aiming controls (see below) and other inputs (gamepad, mobile tap, etc.)

[indent=2]B - Have the ship's helm rotate based on "A" and "D" (Solar Winds)
[indent=3]This can be a bit imprecise and may lead to some frustration. Also, not everyone has a clear understanding of how that works when the ship helm faces south and you press A (it will still go counter-clockwise...)
[indent=3]Definitely not suitable for mobile, even though that's not a current goal.

[indent=2]C - Have the helm adjust automatically by selecting a target (this is how enemy ships AI works: trying to match an angle that's in line with the target).
[indent=3]The enemy ship AI determines a target and moves towards it by adjusting helm as needed. Making it a "point and click" would make this game much less of an arcade game and much closer to a RTS, but it is worth considering the option nonetheless.


[indent=2]A - Fixed Arcade Camera (status quo)
[indent=3]Basically, "as is". the game takes place within the current "box".
[indent=3]I think it suits the game well, but makes keyboard-based controls tougher to implement well.
[indent=3]Opens up Coop and PVP play options.

[indent=2]B - Tracked Camera
[indent=3]Here, the camera always has focus on the player (keeping it at the center of the view).

[indent=2]C - Camera Rotation
[indent=3]Here, the camera keeps track of the player as he moves, but more importantly, as he turns. This effectively means that the ship never turns (always faces up) but that the world around it does.
[indent=3]I feel it could be a bit disorienting in a large map, but could otherwise simplify input challenges.

[indent=1]Aim Controls

[indent=2]A - Have the weapon firing from the ship's front (status quo)
[indent=3]Basically, upon a certain keypress or mouse click, the weapons would fire in the direction the ship is facing. The challenge would be to line-up the ship with its target without having the opponent face you back. It's an interesting premise as it forces the player to flank the opponents to destroy them without retaliation. This is reminiscent of Solar Winds.

[indent=2]B - Have the weapon firing in any direction the mouse is pointing
[indent=3]Would give the player a big edge (although I could grant the enemies the same advantage). Positioning becomes less important, and leading targets becomes that much more important. I feel that it could lead to total mayhem on screen though.
[indent=3]This would greatly limit my ability to do 4 player coop or versus (mouse).

[indent=2]C - Have both (primary weapon A, secondary weapon B) where B is used mostly as a counter to missiles and fighters
[indent=3]Have one keypress or mouse click to fire the main weapon (big damage) which has a fixed orientation (front or sides maybe?) and a second input for the secondary weapon - could be a top-mounted turret - that is particularly useful to intercept incoming missiles. May be adjusted into a gamepad joystick feature.

That's where I currently stand with this, and I thought I'd ask for feedback before making a move.

Sign in to follow this  


Recommended Comments

Re the Aim Controls. I think option C sounds like it might make for an interesting mechanic, so you have to think about both the rotation of the ship for major attacks, or just the mouse position for minor attacks.

Share this comment

Link to comment

I was sort of leaning on this approach myself. Toying with the idea, I went ahead and checked how "playable" it would be to bind both "attacks" to the mouse buttons, even allowing for simultaneous fire from both. It is a bit clunky when trying to alternate between one and the other and/or both, but overall, it feels somewhat right.


Of course, all of that hinges on how I can implement the helm rotation and camera to support this approach!


Any thought on the game type I should approach though? I feel like this is going to help me define what the best course of action would be with everything else.

Share this comment

Link to comment

The original project to which it is attached is actually a 4X game heavily inspired by DOS-era titles (although more prominently VGA Planets, it still borrows from MOO).

So I'm glad you'd think that, it means we were hitting the right audience with that.


The spin-off I'm currently building with that, however, will have nothing to do with a 4X game. That being said, I'd like to keep the same visual style for the ships/projectiles/background. It feels like DOS and I'm very fond of DOS games.


I'll be posting a followup journal entry in a few days with my progress with that, stay tuned :)

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!