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

Published June 18, 2014
Advertisement
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=1]Pros
[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=1]Cons
[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=1]Pros
[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=1]Cons
[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=1]Pros
[indent=2]Seems like there's a lot of untapped potential in this idea, and very cool gameplay to make.

[indent=1]Cons
[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=1]Camera

[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.

Cheers!
1 likes 5 comments

Comments

Aardvajk

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.

June 18, 2014 02:25 PM
Orymus3

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.

June 18, 2014 02:34 PM
Navyman

The video reminds me of MOO2, only in realtime. :) +1

June 24, 2014 05:29 PM
Orymus3

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 :)

June 25, 2014 01:43 AM
Orymus3
June 27, 2014 01:56 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement