67 lines
2.9 KiB
HTML
67 lines
2.9 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>GML Tile Movement - Sara Gerretsen</title>
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<link rel="stylesheet" href="../shared/style.css">
|
|
<link rel="stylesheet" href="../shared/projects.css">
|
|
<script type="text/javascript" src="../shared/jquery.min.js"></script>
|
|
<div id="site-header">
|
|
<script>$(function(){$("#site-header").load("../shared/header.html");});</script>
|
|
</div>
|
|
</head>
|
|
<body>
|
|
<h1>Tile Movement</h1>
|
|
<section class="project">
|
|
|
|
<h2>Info</h2>
|
|
<div indented>
|
|
<p>Project Type: Gamemaker 2 Game</p>
|
|
<p>Timeframe: 2019</p>
|
|
</div>
|
|
|
|
<h2>Video</h2>
|
|
<iframe indented
|
|
src="https://www.youtube.com/embed/kmEV8TqBAHQ?mute=1&autoplay=1&loop=1"
|
|
class="embed" youtube>
|
|
</iframe>
|
|
|
|
<h2>Product Overview</h2>
|
|
<p indented>
|
|
One of my older projects. This is a prototype of a tile based movement system focused on getting smooth responsive movement with directional input.
|
|
Move around, defeat the enemies and move on to the next room. Made around 2019 or so.
|
|
</p>
|
|
|
|
<h2>Project Overview</h2>
|
|
<p indented>
|
|
Made on my own over a few days, main focus was on getting a smooth feeling tile based movement system in gamemaker, which was my engine of choice at the time.
|
|
After the movement was implemented I made some sprites, levels and a simple 'pathfinding' system that picks the unoccupied tile that is closest to the target.
|
|
</p>
|
|
|
|
<h2>Code</h2>
|
|
<div indented>
|
|
<h3>Try Move</h3>
|
|
<div indented>
|
|
<p>
|
|
The main challenge was allowing characters to move around without phasing into walls or eachother. The try-move
|
|
function is a generic solution to this problem.
|
|
It tests if the proposed movement would overlap with a non-walkable tile on the floor map. As well as testing if
|
|
any other character is trying to move to that position.
|
|
</p>
|
|
<div id="code-try-move" class="code-content code-box">
|
|
<script>$(function(){ $("#code-try-move").load("https://raw.githubusercontent.com/Sara-G-GD/portfolio-code-highlighting/main/try-move-gmldc.html");});</script>
|
|
</div></div>
|
|
|
|
<h3>AI Movement</h3>
|
|
<p>
|
|
The AI in the game is a simple example of how the try move function could be used in context.
|
|
</p>
|
|
<div id="code-ai-move" class="code-content code-box">
|
|
<script>$(function(){$("#code-ai-move").load("https://raw.githubusercontent.com/Sara-G-GD/portfolio-code-highlighting/main/update-ai-gmldc.html");});</script>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</body>
|
|
</html> |