added gml tile movement project

This commit is contained in:
SG101 2022-10-09 22:45:18 +02:00
parent c6ed4cebf8
commit 68d3df62fa
2 changed files with 65 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

View file

@ -0,0 +1,65 @@
<!DOCTYPE html>
<html>
<head>
<title>GML Tile Movement - Scott Gerretsen</title>
<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/Scott-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/Scott-G-GD/portfolio-code-highlighting/main/update-ai-gmldc.html");});</script>
</div>
</div>
</section>
</body>
</html>