Stealin Goal, SpeedHack 2007
by Miquel 'Fire' Burns

Website: www.miquelfire.com


 Tools and Libraries Used
-----------------------------------------------------------------------
Compiler/IDE: Mingw, SciTE

Platform: Windows

Language: CPP (even though some C code from the Allegro 4.2 demo was used)

Libraries: OpenLayer, libpng, zlib, freetype


 Notes on Compiling
-----------------------------------------------------------------------
When I compiled OpenLayer, some libaries were different than what the readme used, so you may need
to edit those lines in the makefile to have it compile for you. At least on Windows that is. Others
have that config program that should take care of everything anyway.


 SpeedHack Rules
-----------------------------------------------------------------------
* Genre requirements *
+= Evilness =+
	You must be the evil bad guy, destroying all the good guys who oppose you. Evil deeds and acts
	are to be rewarded in the game, regardless if the actions affect the outcome of the game.

	Mercy and compassion have no place in the game.
	
	+== Game notes ==+
		You must steal the gold from the peons, and kill them while you're at it.

* Technical requirements *
+= Radius of Influence =+
	Some objects must have a property that will affect other objects within a given radius. The
	effect must be proportional to the distance between the objects.

	(The radius doesn't literally have to be implemented as an exact, geometric circle. Neither does
	the proportionality have to follow any precise, continuous formula.)
	
	+== Game notes ==+
		If the peons are too far away from you, they just sit there. When they far, yet close,
		they'll run to you. They'll slow up as they get close, and will attack you.

+= Get a Grip =+
	The game must feature characters or objects that are affected differently depending on the
	amount of friction of the surface with which they are in contact.
	
	+== Game notes ==+
		Step on ice, you slide, you may get more speed too than normal ground (bug?). Sand will slow
		you down. The sand can be thought of as a sand trap for the peons. Seems they are slower for
		some reason (Bug?)
		

+= Ratio, Respect! =+
	Many LCD screens have a widescreen format instead of the traditional 4:3 ratio. You must support
	at least one widescreen and one fullscreen resolution. Widescreen is defined to be any
	width:height ratio equal to or larger than 1.5:1; fullscreen is anything less than that. There
	must be an option to switch between resolutions inside the game. (It could be via a keypress, a
	config menu, etc. It doesn't have to take effect immediately.)

	So, for example, if your game supports 1024x768 and 1366x768 (a common LCD TV resolution), it
	would satisify this requirement because 1024/768 < 1.5 and 1366/768 >= 1.5.

	Preferably for the default resolution, you would detect the current ratio via
	get_desktop_resolution() and make a best guess based off of that. (The ideal solution would be
	to support the desktop's resolution, whatever it may be!) If you set an arbitrary widescreen
	resolution, it is recommended that you choose a common one.

	It is up to you to determine how you want to use the space. If your game is meant to run at
	640x480, a widescreen resolution of 768x480 would give you 128 extra columns. You should try to
	use this space to display additional status information, a larger view, etc. (Alternatively,
	your game may be designed to run in widescreen natively, in which case you'd have to chop
	content out for the full screen or scale it down.)

	There is one restriction: you cannot simply use a solid (eg: black) bar to fill the "extra"
	space. If you choose to use meaningless filler, at the very least it must be some sort of
	graphical "chrome" or pattern.
	
	+== Game notes ==+
		Actually, most of this rule was coded for before the rules were put up. There's a config
		file you can edit to change between fullscreen and windowed mode. The game will run at the
		resolution of your monitor in fullscreen mode, and a scaled down version in windowed mode.
		In windowed mode, you can force a 4:3 or 16:9 resolution as well. Try not to scale the game
		too small though, it doesn't have a limit. ;)

* Artistic requirements *
+= Reverse Stereotypes =+
	Ignore traditional roles for characters of a given gender/race/species/age and make something
	novel out of it. For example, you could implement this as a spoof of a specific game (eg: the
	princess rescues a plumber) or as a reversal of typical, real-world stereotypes.
	
	+== Game notes ==+
		Normally, the king isn't evil, and don't kill their subjects. Actually, the king may have
		just went crazy, and ended up on a killing spree as a result.

+= Dialogue =+
	The game must feature interactive dialogue, and the choices made by the player must affect the
	gameplay, even if only in a small way.
	
	+== Game notes ==+
		The king is talking to some peons, and when they demand to know why the King wants all of
		the gold in the kingdom, you choose what he wants. The more it costs, the more peons you
		have to kill. Think of the choices as difficulty level, and the levels being, really easy,
		hard, and sucide. Actually if you can beat them, let me know.

* Bonus rules *
+= Act of Generosity =+
	You may disregard one technical or artistic requirement without penalty.

	If you choose to invoke this Act, you must explicitly state in your readme.txt which requirement
	you have ignored.
	
	+== Game notes ==+
		Not used.


 About the Game
-----------------------------------------------------------------------
You are the king of your kingdom. You want to buy something for yourself. So you order your peasants
(or peons as you view them currently) to gather all the gold in your kingdom. The peons don't know
why and ask, you tell them about something you want to buy with it. The worthless peons decide to
disobey you, and to set them straight, you decide to kill all the ones that oppose you, while
getting the gold you asked for in the first place.


 How to Play
-----------------------------------------------------------------------
WSAD or the arrows move you around. WSAD is for laptop users who may not have arrow keys.
Space is attack
During the game, ESC returns you to the main menu, and P is pause.
At the title screen, q is a shortcut for quitting.
