Chillennium 2017 Repo
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
James Storey 208f7eb4c7 remove fore-sparks 2 years ago
game remove fore-sparks 2 years ago
.gitignore add library scripts 2 years ago
README.md typo fixes and formatting 2 years ago
run.bat add run files for simple initialization 2 years ago
run.sh update run.sh for bash for windows 2 years ago

README.md

Water in the Bottle, Wine in the Glass

Chillennium 2017 game jam group

Game

Theme: Role Reversal ROLL REVERSAL! (Working Title)

Game Loop

	IF PLAY
		goto INITIALIZE
	ELSE
		exit()

INITIALIZE (STAGE 0)
	setup()
	goto STAGE 1

STAGE 1 
	Two fighters even keel
	
	COUNTDOWN()

	Play RPS (Attack-Grab-Counter)

	Two players make their choices
	Determine victor
	IF 
		Tie, goto STAGE 1
	ELSE
		Give ADVANTAGE to victor, 
		Announce victor, victor's SELECTION
		goto STAGE 2
		

STAGE 2
	(One player has ADVANTAGE)
	Play Minigame based on ADV-player SELECTION
	
	Attack: See-saw
	Grab: Rotate
	Counter: Precision

	IF ADV-player wins:
		goto STAGE 3 (KO)

	ELSE
		REVERSAL!
		goto STAGE 1

STAGE 3

	Announce victor
	
	IF AGAIN:
		goto STAGE 1

	ELSE:
		goto MENU

Input:

    P1
	Attack:		A/a
	Grab:		B/s
	Counter:	Y/d	
	
	P2
	Attack:		j
	Grab:		k
	Counter:	l

Assets

Animations/Sprites:
Two players
	Identity:	Dinner Roll
	Attack: 	Punch
	Grab: 		Basic Grab
	Counter: 	Basic Counter
	Finisher:	Light n' Fluffy  
	
	Identity:	Crescent Roll
	Attack: 	Sweep Kick
	Grab: 		Basic Grab
	Counter: 	Basic Counter
	Finisher:	Moonshot
	
Sound:
	"DINNERTIME!" 			INITIALIZE
	"3..2..1..ROLL!" 		COUNTDOWN()
	"REVERSAL!"		    	STAGE 2 -> 1
	"ADVANTAGE!" 			STAGE 1-> 2
	"SPLIT!" 			    STAGE 1 -> 1
	"PULLED OFF THE MOONSHOT!"	STAGE 3 && Crescent Roll Wins
	"THAT TENDER FLAKY CRUST!"	STAGE 3 && Dinner Roll Wins

Development

To develop this project you will require a distribution of the love2d framework. This can either be installed globally to your development machine or installed into a local bin folder. When installing love locally put the distribution zip contents in ./bin/love/ and use the shell/batch scripts in the repo root to interact with them.

To run the game

$ ./run.sh

or

> run.bat

Notes on working with Lua

  • Variables are unscoped global by default. Use the local identifier judiciusly
  • Functions can be anonymous and they carry their clousure with them.
  • only literals can be assigned in object constructors
  • numerically accessed object items start from 1!
  • Use pairs() to iterate over object keys and values.
  • Use ipairs() to iterate over just the numerical keys
  • There is at least 3 ways to index a table. Each approach searches for the key in the object first and then the metatable.
    1. passing a string or number in braces [1] or ['key']
    2. using a .(period) the identifier after the dot is used as the key and syntactic sugar for foo['bar']
    3. using a :(colon) the identifier is used as the key and syntactic sugar for foo['bar'](foo)