Added Questable (Scripting for Games)

This commit is contained in:
thepaperpilot 2017-10-29 10:47:20 -12:00
parent d6c56f5b59
commit eb25744087
22 changed files with 115 additions and 1 deletions

View file

@ -0,0 +1,5 @@
---
layout: default
title: Questable Embed
embed: /assets/scripting-assets/Questable/index.html
---

View file

@ -0,0 +1,27 @@
---
layout: default
title: Questable
---
The purpose of this project was to demonstrate how to create a game where you use raycasts and projectiles to make guns, and nav meshes for basic AI.
**Controls:**
Move - WASD
Aim - Mouse
Fire Bullets - Left Mouse Button
Quit - Escape
Restart - Backspace
After obtaining the paint gun...
Fire Paint - Right Mouse Button
Crouch - Control
Climb paint - Control near paint on a vertical surface
**How to Play:**
Move from room to room until you reach the end. Each room will introduce a new enemy or mechanic.
Also, it's like really easy. I didn't spend much time on level design because I didn't have much time to work on this project this time around, so I really needed to focus on scripting this time.
I think my ideas of the paint gun were a bit too grand considering all the other stuff I had going on these 3 weeks. Sorry about that, there won't be things like it detecting the edges of surfaces. And again, I didn't really have time to make any levels that really used the mechanic, but it's scripted and that's the part that matters.

View file

@ -3,7 +3,7 @@ layout: default
title: Scripting for Games
category: Game
banner: scripting
cards: [Incarcerated Embed, Incarcerated]
cards: [Questable Embed, Questable, Incarcerated Embed, Incarcerated]
links: ["Source Code|https://github.com/thepaperpilot/Scripting-For-Games"]
tags: [c#, unity]
---

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

After

Width:  |  Height:  |  Size: 246 KiB

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,9 @@
{
"TOTAL_MEMORY": 268435456,
"dataUrl": "web.data.unityweb",
"asmCodeUrl": "web.asm.code.unityweb",
"asmMemoryUrl": "web.asm.memory.unityweb",
"asmFrameworkUrl": "web.asm.framework.unityweb",
"splashScreenStyle": "Dark",
"backgroundColor": "#231F20"
}

View file

@ -0,0 +1,24 @@
function UnityProgress(gameInstance, progress) {
if (!gameInstance.Module)
return;
if (!gameInstance.logo) {
gameInstance.logo = document.createElement("div");
gameInstance.logo.className = "logo " + gameInstance.Module.splashScreenStyle;
gameInstance.container.appendChild(gameInstance.logo);
}
if (!gameInstance.progress) {
gameInstance.progress = document.createElement("div");
gameInstance.progress.className = "progress " + gameInstance.Module.splashScreenStyle;
gameInstance.progress.empty = document.createElement("div");
gameInstance.progress.empty.className = "empty";
gameInstance.progress.appendChild(gameInstance.progress.empty);
gameInstance.progress.full = document.createElement("div");
gameInstance.progress.full.className = "full";
gameInstance.progress.appendChild(gameInstance.progress.full);
gameInstance.container.appendChild(gameInstance.progress);
}
gameInstance.progress.full.style.width = (100 * progress) + "%";
gameInstance.progress.empty.style.width = (100 * (1 - progress)) + "%";
if (progress == 1)
gameInstance.logo.style.display = gameInstance.progress.style.display = "none";
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -0,0 +1,18 @@
.webgl-content * {border: 0; margin: 0; padding: 0}
.webgl-content {position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}
.webgl-content .logo, .progress {position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}
.webgl-content .logo {background: url('progressLogo.Light.png') no-repeat center / contain; width: 154px; height: 130px;}
.webgl-content .progress {height: 18px; width: 141px; margin-top: 90px;}
.webgl-content .progress .empty {background: url('progressEmpty.Light.png') no-repeat right / cover; float: right; width: 100%; height: 100%; display: inline-block;}
.webgl-content .progress .full {background: url('progressFull.Light.png') no-repeat left / cover; float: left; width: 0%; height: 100%; display: inline-block;}
.webgl-content .logo.Dark {background-image: url('progressLogo.Dark.png');}
.webgl-content .progress.Dark .empty {background-image: url('progressEmpty.Dark.png');}
.webgl-content .progress.Dark .full {background-image: url('progressFull.Dark.png');}
.webgl-content .footer {margin-top: 5px; height: 38px; line-height: 38px; font-family: Helvetica, Verdana, Arial, sans-serif; font-size: 18px;}
.webgl-content .footer .webgl-logo, .title, .fullscreen {height: 100%; display: inline-block; background: transparent center no-repeat;}
.webgl-content .footer .webgl-logo {background-image: url('webgl-logo.png'); width: 204px; float: left;}
.webgl-content .footer .title {margin-right: 10px; float: right;}
.webgl-content .footer .fullscreen {background-image: url('fullscreen.png'); width: 38px; float: right;}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Unity WebGL Player | Incarcerated</title>
<link rel="shortcut icon" href="TemplateData/favicon.ico">
<link rel="stylesheet" href="TemplateData/style.css">
<script src="TemplateData/UnityProgress.js"></script>
<script src="Build/UnityLoader.js"></script>
<script>
var gameInstance = UnityLoader.instantiate("gameContainer", "Build/web.json", {onProgress: UnityProgress});
</script>
</head>
<body>
<div class="webgl-content" style="width: 100%; height: 100%">
<div id="gameContainer" style="width: 100%; height: 100%"></div>
</div>
<script type="text/javascript">
window.onresize=(width,height)=>{
var ctx = document.getElementById('#canvas').getContext('webgl2');
ctx.canvas.width = window.innerWidth;
ctx.canvas.height = window.innerHeight;
}
</script>
</body>
</html>