-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
12 changed files
with
438 additions
and
438 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,41 +1,41 @@ | ||
Things I want to learn/tackle in this game: | ||
ray collisions / rotated collisions, "non tile" / "non AABB" collisions and response | ||
procedural character animation | ||
walks with multiple legs | ||
bipedal | ||
quadruped/spider | ||
dynamic number of limbs | ||
complex child/parent relationships, multi-sprite entities (bosses/big characters) | ||
complex-looking enemy behavior using sensors | ||
an elegant 2.5d solution with proper draw sorting | ||
"tall tiles" ? | ||
fun feature ideas: | ||
tilemap-based objects | ||
use small 4px or 8x tilemap designs as objects in game | ||
some kind of dynamic lighting | ||
pre-rendered light/dark copies of tilesheet graphics | ||
dynamic tilemap effects | ||
pre-rendered sprite rotations ? | ||
|
||
|
||
|
||
|
||
top-down shooter roguelike where you can pilot multiple machines in the world | ||
abandon them when damaged or need a smaller one to proceed | ||
some roll, some walk, will have to swap to traverse some terrains / fit in tight spaces | ||
|
||
a hunter/gatherer roguelike with a day/night cycle. At night monsters come to eat you. | ||
single-map game, but big enough for a scrolling camera | ||
arcade-like loop, less content creation, more iteration on fun-ness | ||
See pico8 fisher game | ||
|
||
a peaceful big-world exploration walkabout with lots of unique collectibles | ||
multiple creature types, all peaceful | ||
opportunity to code big multi-page inventory UI | ||
crafting? -scope | ||
|
||
|
||
|
||
|
||
|
||
|
||
Things I want to learn/tackle in this game: | ||
ray collisions / rotated collisions, "non tile" / "non AABB" collisions and response | ||
procedural character animation | ||
walks with multiple legs | ||
bipedal | ||
quadruped/spider | ||
dynamic number of limbs | ||
complex child/parent relationships, multi-sprite entities (bosses/big characters) | ||
complex-looking enemy behavior using sensors | ||
an elegant 2.5d solution with proper draw sorting | ||
"tall tiles" ? | ||
fun feature ideas: | ||
tilemap-based objects | ||
use small 4px or 8x tilemap designs as objects in game | ||
some kind of dynamic lighting | ||
pre-rendered light/dark copies of tilesheet graphics | ||
dynamic tilemap effects | ||
pre-rendered sprite rotations ? | ||
top-down shooter roguelike where you can pilot multiple machines in the world | ||
abandon them when damaged or need a smaller one to proceed | ||
some roll, some walk, will have to swap to traverse some terrains / fit in tight spaces | ||
a hunter/gatherer roguelike with a day/night cycle. At night monsters come to eat you. | ||
single-map game, but big enough for a scrolling camera | ||
arcade-like loop, less content creation, more iteration on fun-ness | ||
See pico8 fisher game | ||
a peaceful big-world exploration walkabout with lots of unique collectibles | ||
multiple creature types, all peaceful | ||
opportunity to code big multi-page inventory UI | ||
crafting? -scope | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,38 +1,38 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<header> | ||
<title>Shootervania</title> | ||
<link rel="stylesheet" type="text/css" href="style.css"> | ||
</header> | ||
<body> | ||
<div id = 'gamebox'> | ||
<canvas id = 'canvas'></canvas> | ||
</div> | ||
<!-- start with the browser check --> | ||
<script src="js/core/browsercheck.js"></script> | ||
|
||
<!-- core stuff --> | ||
<script src="js/core/animation.js"></script> | ||
<script src="js/core/spritesheet.js"></script> | ||
<script src="js/core/AssetLoader.js"></script> | ||
<script src="js/core/audio.js"></script> | ||
<script src="js/core/graphics.js"></script> | ||
<script src="js/core/Signal.js"></script> | ||
<script src="js/core/util.js"></script> | ||
|
||
<!--our one bit of external code, mr doobs FPS checker --> | ||
<script src = 'js/stats.js'></script> | ||
|
||
<!-- game states --> | ||
<script src="js/screens/titleScreen.js"></script> | ||
<script src="js/screens/gameScreen.js"></script> | ||
<script src="js/screens/gameOverScreen.js"></script> | ||
<script src="js/screens/creditsScreen.js"></script> | ||
|
||
|
||
<!-- and finally our main entry point --> | ||
<script src = "js/main.js"></script> | ||
<script src="js/events.js"></script> | ||
|
||
</body> | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<header> | ||
<title>Shootervania</title> | ||
<link rel="stylesheet" type="text/css" href="style.css"> | ||
</header> | ||
<body> | ||
<div id = 'gamebox'> | ||
<canvas id = 'canvas'></canvas> | ||
</div> | ||
<!-- start with the browser check --> | ||
<script src="js/core/browsercheck.js"></script> | ||
|
||
<!-- core stuff --> | ||
<script src="js/core/animation.js"></script> | ||
<script src="js/core/spritesheet.js"></script> | ||
<script src="js/core/AssetLoader.js"></script> | ||
<script src="js/core/audio.js"></script> | ||
<script src="js/core/graphics.js"></script> | ||
<script src="js/core/Signal.js"></script> | ||
<script src="js/core/util.js"></script> | ||
|
||
<!--our one bit of external code, mr doobs FPS checker --> | ||
<script src = 'js/stats.js'></script> | ||
|
||
<!-- game states --> | ||
<script src="js/screens/titleScreen.js"></script> | ||
<script src="js/screens/gameScreen.js"></script> | ||
<script src="js/screens/gameOverScreen.js"></script> | ||
<script src="js/screens/creditsScreen.js"></script> | ||
|
||
|
||
<!-- and finally our main entry point --> | ||
<script src = "js/main.js"></script> | ||
<script src="js/events.js"></script> | ||
|
||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,24 @@ | ||
|
||
var browserNotSupported = false; | ||
// safari test from https://stackoverflow.com/questions/7944460/detect-safari-browser | ||
var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); | ||
// IE/edge test from https://stackoverflow.com/questions/31757852/how-can-i-detect-internet-explorer-ie-and-microsoft-edge-using-javascript | ||
if(isSafari || | ||
/MSIE 10/i.test(navigator.userAgent) || // This is internet explorer 10 | ||
/MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || // This is internet explorer 9 or 11 | ||
/Edge\/\d./i.test(navigator.userAgent) ) { // This is Microsoft Edge | ||
browserNotSupported = true; | ||
|
||
var local_c=document.getElementById("c"); | ||
var local_ctx = local_c.getContext('2d'); | ||
|
||
local_ctx.fillStyle = 'rgba(0,0,0, 1.0)'; | ||
local_ctx.fillRect(0,0,local_c.width,local_c.height); | ||
local_ctx.fillStyle = 'rgba(255,255,255, 1.0)'; | ||
local_ctx.font = "14px Arial"; | ||
local_ctx.textAlign = "left"; | ||
local_ctx.fillText("Sorry, this browser is not supported.",35,55); | ||
local_ctx.fillText("Please revisit with Chrome or Firefox.",35,75); | ||
|
||
throw Error("browser not supported"); // intentional error to derail code | ||
|
||
var browserNotSupported = false; | ||
// safari test from https://stackoverflow.com/questions/7944460/detect-safari-browser | ||
var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); | ||
// IE/edge test from https://stackoverflow.com/questions/31757852/how-can-i-detect-internet-explorer-ie-and-microsoft-edge-using-javascript | ||
if(isSafari || | ||
/MSIE 10/i.test(navigator.userAgent) || // This is internet explorer 10 | ||
/MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || // This is internet explorer 9 or 11 | ||
/Edge\/\d./i.test(navigator.userAgent) ) { // This is Microsoft Edge | ||
browserNotSupported = true; | ||
|
||
var local_c=document.getElementById("c"); | ||
var local_ctx = local_c.getContext('2d'); | ||
|
||
local_ctx.fillStyle = 'rgba(0,0,0, 1.0)'; | ||
local_ctx.fillRect(0,0,local_c.width,local_c.height); | ||
local_ctx.fillStyle = 'rgba(255,255,255, 1.0)'; | ||
local_ctx.font = "14px Arial"; | ||
local_ctx.textAlign = "left"; | ||
local_ctx.fillText("Sorry, this browser is not supported.",35,55); | ||
local_ctx.fillText("Please revisit with Chrome or Firefox.",35,75); | ||
|
||
throw Error("browser not supported"); // intentional error to derail code | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,29 @@ | ||
signal.addEventListener('startGame', startGame); | ||
signal.addEventListener('gameOver', gameOver); | ||
signal.addEventListener('titleScreen', gotoTitleScreen); | ||
signal.addEventListener('creditScreen', gotoCreditScreen); | ||
|
||
|
||
|
||
|
||
function startGame(event){ | ||
console.log('startGame triggered'); | ||
gameScreen.reset(); | ||
gameState = GAMESTATE_PLAY; | ||
} | ||
|
||
function gameOver(event){ | ||
console.log('gameOver triggered'); | ||
gameOverScreen.gameEndState = event.detail; | ||
gameState = GAMESTATE_GAME_OVER; | ||
} | ||
|
||
function gotoTitleScreen(event){ | ||
console.log('gotoTitleScreen triggered'); | ||
gameState = GAMESTATE_TITLE; | ||
} | ||
|
||
function gotoCreditScreen(event){ | ||
console.log('gotoCreditScreen triggered'); | ||
gameState = GAMESTATE_CREDITS; | ||
signal.addEventListener('startGame', startGame); | ||
signal.addEventListener('gameOver', gameOver); | ||
signal.addEventListener('titleScreen', gotoTitleScreen); | ||
signal.addEventListener('creditScreen', gotoCreditScreen); | ||
|
||
|
||
|
||
|
||
function startGame(event){ | ||
console.log('startGame triggered'); | ||
gameScreen.reset(); | ||
gameState = GAMESTATE_PLAY; | ||
} | ||
|
||
function gameOver(event){ | ||
console.log('gameOver triggered'); | ||
gameOverScreen.gameEndState = event.detail; | ||
gameState = GAMESTATE_GAME_OVER; | ||
} | ||
|
||
function gotoTitleScreen(event){ | ||
console.log('gotoTitleScreen triggered'); | ||
gameState = GAMESTATE_TITLE; | ||
} | ||
|
||
function gotoCreditScreen(event){ | ||
console.log('gotoCreditScreen triggered'); | ||
gameState = GAMESTATE_CREDITS; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
{ | ||
"compilerOptions": { | ||
"target": "es6" | ||
}, | ||
{ | ||
"compilerOptions": { | ||
"target": "es6" | ||
}, | ||
} |
Oops, something went wrong.