diff options
Diffstat (limited to '2022-09-24-190300_Nuki1Retrospective.html')
-rw-r--r-- | 2022-09-24-190300_Nuki1Retrospective.html | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/2022-09-24-190300_Nuki1Retrospective.html b/2022-09-24-190300_Nuki1Retrospective.html deleted file mode 100644 index e50f201..0000000 --- a/2022-09-24-190300_Nuki1Retrospective.html +++ /dev/null @@ -1,117 +0,0 @@ -<!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml" lang xml:lang> -<head> - <meta charset="utf-8" /> - <meta name="generator" content="pandoc" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> - <title>2022-09-24-190300_Nuki1Retrospective</title> - <style> - code{white-space: pre-wrap;} - span.smallcaps{font-variant: small-caps;} - span.underline{text-decoration: underline;} - div.column{display: inline-block; vertical-align: top; width: 50%;} - div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} - ul.task-list{list-style: none;} - .display.math{display: block; text-align: center; margin: 0.5rem auto;} - </style> - <style type="text/css">* { -color: white; - -font-family: Arial; -background-color: transparent; -} -html { background-color: #16161d; } -a:link {color: dodgerblue} -a:visited {color: dodgerblue} -a:hover {color: dodgerblue} -a:active {color: dodgerblue} -img {padding: 20px} -code {background-color: #555555; font-family: Courier New; font-size: smaller; background-clip: padding-box; border: 0px solid; display: inline-block; margin: 0px;} -</style> - <!--[if lt IE 9]> - <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> - <![endif]--> -</head> -<body> -<h1 id="nuki1retrospective">2022-09-24-190300_Nuki1Retrospective</h1> -<h2 id="nuki1-in-retrospective-dev-log">NUKI1 in Retrospective / -dev-log</h2> -<p>See here <a href="https://baden.dev/p/nuki1">NUKI1 - Nuki and I -explore the Galaxy - on baden.dev</a></p> -<h3 id="quick-introduction">Quick introduction</h3> -<p><code>NUKI1</code> or <code>Nuki and I explore the Galaxy</code> is a -puzzle-platformer mix, and my first commercially released game.</p> -<p>I tried to create a new unique genre-mix (in the somehow worn out -platformer genre) implementing ideas that lingered in my mind for years, -a lot of those inspired by some good old DOS games I played.</p> -<h3 id="concept">Concept</h3> -<p>At first I wanted to make a top-down puzzler game, but felt that I -needed more “action” and “physics” like advanced and precise platformer -movement and artillery-game and rocket movement.</p> -<p>Also, an inventory system with object interaction like in a RPG and -puzzles that you need to solve in real life (on paper/via web -lookup/etc.) were on my list.</p> -<p>At the end I decided to make the game in 10 unique levels and -integrate all of my crazy genre-mix-ideas.</p> -<h3 id="implementation">Implementation</h3> -<p>I started the game in Python only using tkinter as a “side-project”, -when I hit performance problems and coincidentally bought an ODROID GO -SUPER device for cheap.</p> -<p>I thought it would be nice to support the ODROID, and from then on I -rewrote the game in C++ with ODROID support in mind (wasn’t far -anyways).</p> -<p>I only wanted to use minimal dependencies, so it was SDL and -tinyxml2, the rest of the game I wanted to write completely on my own, -since that’s where the fun lies! Writing physics/vector/math/… classes -and basically the entire engine on my own!</p> -<h3 id="programming">Programming</h3> -<h4 id="not-so-fun">Not so fun</h4> -<ul> -<li>Collision detection and handling -<ul> -<li>Wanted to have “pixel-perfect” collisions using AABB (Axis-Aligned -Bounding Box) collisions with some second check of “penetration”, which -meant looking at how deep until the first row has a pixel that overlaps -with other entity. -<ul> -<li>Getting this “okay” and also fast enough on the ODROID was quite -challenging</li> -</ul></li> -</ul></li> -<li>Music: I LOVE music and someday I hope I’ll make something, for now -I didn’t want to use third party music, so…</li> -</ul> -<h4 id="the-most-fun">The most fun</h4> -<ul> -<li><p>Physics</p> -<ul> -<li>Movement -<ul> -<li>Jump/Double-jump</li> -<li>Jetpacking</li> -</ul></li> -<li>Trajectory (Bow, Projectiles) -<ul> -<li>Recoil gun</li> -</ul></li> -<li>Spaceship movement</li> -</ul></li> -<li><p>Implementing the “ProNav” algorithm (see Wikipedia: -https://en.wikipedia.org/wiki/Proportional_navigation) for homing -missiles, especially after having the math/vector/linear algebra classes -done</p></li> -<li><p>Item usage / inventory usage</p> -<ul> -<li>equipping items and have them change stuff in the game world</li> -</ul></li> -</ul> -<h3 id="stats">Stats</h3> -<p>All in all, with rewriting a huge part of the game (while getting -better at C++), a lot of pixel painting and planning, I estimate around -1500 - 2500 hrs of work for everything.</p> -<p>A lof of time was lost in the first Py version, me getting better in -C++ and rewriting a lot of stuff.</p> -<h3 id="download">Download</h3> -<p><a href="https://baden.dev/p/nuki1">https://baden.dev/p/nuki1</a></p> -</body> -</html> |