Ethical Differences - Day 1

I'll be cross-posting these journals to both my own blog, which badly needs the content, and the PyWeek web site.

I was busy most of the evening, so I didn't plan on getting much done tonight after the announcement - just some basic planning, or in other words, the content of this blog post. As the small number of themes in the voting this time gave me a chance to come up with some ideas ahead of time, I already had the essence of a game well in mind. I've been playing an online card game quite a bit lately - though I'd rather not mention which one - and I thought mad science would express itself perfectly in a similar strategy game where one constructs 'cards', or rather machines, on the fly. Perhaps you'll recognize the inspiration, or perhaps I'll put enough of a spin on things to make it gentlemanly theft, not boorish borrowing.

The game will take place in a series of rounds in which both players construct machines beforehand and place them upon their respective fields. Here's a mockup of the field layout:
 

 


Machines can be placed in slots. Slots Alpha and Beta are the front line and will protect the slots behind them from being directly targeted, while Slots Delta, Gamma and Epsilon are more secure but have the disadvantage of having to pass power through to Alpha and Beta. The goal of the game is to disable the other player's generator.

The effectiveness of machines is limited by <b>power flow</b>. In addition to all all of one's machines being limited by the total sum of power the generator can produce, individual machines are limited by the power supply and demand of their components.

Each machine is built upon a base, which draws a small amount of power itself and determines the speed, power supply, and lifetime of that machine. The speed determines the order in which machines take effect during a round, the power supply limits the components that can be attached, and the lifetime determines how many rounds it will last if not destroyed.

Example bases are:

N0F1-NG Special Component Housing - Power Draw 1, Speed 5, Lifetime Unlimited, Power Supply 5
1SHOT Temporary Mount Point - Power Draw 0, Speed 10, Lifetime 1, Power Supply 3
HVDU-T Advanced Frame - Power Draw 1, Speed 2, Lifetime Unlimited, Power Supply 7 
EC0 High-Efficiency Chassis - Power Draw 0, Speed 4, Lifetime Unlimited, Power Supply 4

Components may fall into the categories of attack, defense or utility and determine the effect(s) of a machine. A defense component is all but necessary, as without one a machine will be destroyed if it takes any damage whatsoever. Some example components are:

Z4PPR High-Energy Laser - Power Draw 2. Deals 3 damage to a machine in an opposite enemy Slot.
SPRKR Tesla Coil - Power Draw 4. Deals 1 damage to a machine in a random enemy Slot.
BR1CK Armor Plating - Power Draw 0. Absorbs 6 damage throughout its existence.
A3GIS Shield Generator - Power Draw 1. Absorbs 4 damage; capacity regenerates after every round.
H4LT EMP Emitter - Power Draw 3. Prevents a machine in an opposing enemy Slot from acting this round. 
3RS Salvager - Power Draw 2. Sends a component from the junkyard back to your components bin.

To explain the above, in typical card game terms, the components bin is your deck- where you draw from each turn to keep your hand full- and the junkyard is your graveyard- where parts of machines go after they are destroyed. I'm thinking hand size will be 10 and the total components available to you will be 60. Still considering whether to have bases and components be drawn separately, so that you always have a base when you need one - I'll probably playtest both before deciding.

I think that's most of the basic gameplay laid out. I'm going to tentatively call the game "Ethical Differences", and have a story in mind inspired by Stanislaw Lem's The Cyberiad, but for this story is definitely way down there at "if I have time to spare" priority.

I'll probably go ahead and start prototyping tomorrow - I was planning to tackle art and music beforehand, but this would be playable enough even with crude placeholders, so there's no need to work on aesthetics first. I guess I'll be using Python 2.7 and PyGame so that nobody has any trouble running my entry. I wanted to be on the cutting edge with pysfml2, but I can't even get it to function on Windows.

Good luck with your own games!

(log in to comment)

Comments

Cool!