{"id":139,"date":"2025-02-19T09:19:55","date_gmt":"2025-02-19T09:19:55","guid":{"rendered":"https:\/\/empretro.kanhave.xyz\/?page_id=139"},"modified":"2025-02-19T09:21:40","modified_gmt":"2025-02-19T09:21:40","slug":"mini-motors","status":"publish","type":"page","link":"https:\/\/empretro.kanhave.xyz\/?page_id=139","title":{"rendered":"Mini Motors"},"content":{"rendered":"\n<p>&#8220;Mini Motors&#8221; is the game I was working on that caused me to start writing TilemapEd because I couldn&#8217;t find a way to create tilemaps that I liked.<\/p>\n\n\n\n<p>The original idea was to make a sort of clone of &#8220;Micro Machines&#8221;, but the only real connection is in name and in spirit.<\/p>\n\n\n\n<p>The state of the game is &#8220;alpha test release&#8221;, with 2 test tracks and incomplete game play\/game logic and game SFX.<\/p>\n\n\n\n<p>The game is basically stable, but I still encounter bugs now and then.<\/p>\n\n\n\n<p>The code is written mostly in C with an asm file for interrupt handling, using cc65.<br>At some places in the code there may still be remnants of other peoples code that I found in different places on the net.<br>Originally I used Kevin Murphys custom keyboard handling routine, which has now been replaced with a version that works with r43.<br>I also originally started with some C code for rendering sprites on the X16, which I can&#8217;t remember where I found.<\/p>\n\n\n\n<p>There is also a &#8220;tools&#8221; folder which contains various small C++ programs that I use to write different tables for include files, etc.<\/p>\n\n\n\n<p>The code is set up so that tracks can be modified or new tracks can be added (up to a total of 9) without having to recompile the code. In the &#8220;DAT&#8221; folder there&#8217;s a file, &#8220;GAME&#8221; which contains the number of tracks and the various VRAM addresses for the different tracks.<\/p>\n\n\n\n<p>There are both Win64\/PowerShell and Linux\/bash versions of the necessary tools and scripts.<br>For more information check out the script &#8220;makegame&#8221; or &#8220;makegame.ps1&#8221;<\/p>\n\n\n\n<p>Source code and asset files can be found in the &#8220;Mini Motors&#8221; GitHub repo:<br><a href=\"https:\/\/github.com\/dacobi\/minim\">https:\/\/github.com\/dacobi\/minim<\/a><\/p>\n\n\n\n<p>If anyone wants to try and run the game in the emulator you can download the latest SD image\/Game folder here:<br><a href=\"https:\/\/github.com\/dacobi\/minim\/blob\/main\/minim.zip\">https:\/\/github.com\/dacobi\/minim\/blob\/main\/minim.zip<\/a><\/p>\n\n\n\n<p>Just extract the zip file and run:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>x16emu.exe &#91; -joy1 -joy2 -joy3 -joy4 ] -sdcard minim.img<\/code><\/pre>\n\n\n\n<p>Or copy the &#8220;MINIM&#8221; folder to your x16emu folder or SD card.<\/p>\n\n\n\n<p>Then in BASIC:<\/p>\n\n\n\n<p>DOS &#8220;CD:MINIM&#8221;<br>LOAD &#8220;MINIM.PRG&#8221;<br>&#8230;<br>RUN<br><\/p>\n\n\n\n<p>The menu is controlled using Arrow keys and ENTER. Players can either use joysticks 1-4 or Arrow keys and WASD (K1 and K2) or they can be set to AI.<\/p>\n\n\n\n<p>The game is made using Gimp and TilemapEd, with some of the graphical assets starting out as modified versions of Midjourney images.<\/p>\n\n\n\n<p>For a short video tutorial on how to create TileSets and Palettes using TilemapEd and Gimp and use them in tracks for &#8220;Mini Motors&#8221; goto my YouTube channel here:<br><a href=\"https:\/\/www.youtube.com\/watch?v=JjXveQ77X5o\">Creating Tiles in TilemapEd from a Gimp Image<\/a><\/p>\n\n\n\n<p>The soundtracks was something I made many years ago using various HW synths + Ableton Live. They may not be the best fit for the game, but they were the most appropriate of my own tracks, which is all I have the rights to use.<\/p>\n\n\n\n<p>Here&#8217;s a few screenshots of the game:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"660\" height=\"535\" src=\"https:\/\/empretro.kanhave.xyz\/wp-content\/uploads\/2025\/02\/menutrack.png\" alt=\"\" class=\"wp-image-140\" srcset=\"https:\/\/empretro.kanhave.xyz\/wp-content\/uploads\/2025\/02\/menutrack.png 660w, https:\/\/empretro.kanhave.xyz\/wp-content\/uploads\/2025\/02\/menutrack-300x243.png 300w\" sizes=\"auto, (max-width: 660px) 100vw, 660px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"564\" src=\"https:\/\/empretro.kanhave.xyz\/wp-content\/uploads\/2025\/02\/newmeadow-1024x564.png\" alt=\"\" class=\"wp-image-141\" srcset=\"https:\/\/empretro.kanhave.xyz\/wp-content\/uploads\/2025\/02\/newmeadow-1024x564.png 1024w, https:\/\/empretro.kanhave.xyz\/wp-content\/uploads\/2025\/02\/newmeadow-300x165.png 300w, https:\/\/empretro.kanhave.xyz\/wp-content\/uploads\/2025\/02\/newmeadow-768x423.png 768w, https:\/\/empretro.kanhave.xyz\/wp-content\/uploads\/2025\/02\/newmeadow-1536x845.png 1536w, https:\/\/empretro.kanhave.xyz\/wp-content\/uploads\/2025\/02\/newmeadow-2048x1127.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"564\" src=\"https:\/\/empretro.kanhave.xyz\/wp-content\/uploads\/2025\/02\/newdesert-1024x564.png\" alt=\"\" class=\"wp-image-142\" srcset=\"https:\/\/empretro.kanhave.xyz\/wp-content\/uploads\/2025\/02\/newdesert-1024x564.png 1024w, https:\/\/empretro.kanhave.xyz\/wp-content\/uploads\/2025\/02\/newdesert-300x165.png 300w, https:\/\/empretro.kanhave.xyz\/wp-content\/uploads\/2025\/02\/newdesert-768x423.png 768w, https:\/\/empretro.kanhave.xyz\/wp-content\/uploads\/2025\/02\/newdesert-1536x845.png 1536w, https:\/\/empretro.kanhave.xyz\/wp-content\/uploads\/2025\/02\/newdesert-2048x1127.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;Mini Motors&#8221; is the game I was working on that caused me to start writing TilemapEd because I couldn&#8217;t find a way to create tilemaps that I liked. The original idea was to make a sort of clone of &#8220;Micro Machines&#8221;, but the only real connection is in name and in spirit. The state of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-139","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/empretro.kanhave.xyz\/index.php?rest_route=\/wp\/v2\/pages\/139","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/empretro.kanhave.xyz\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/empretro.kanhave.xyz\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/empretro.kanhave.xyz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/empretro.kanhave.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=139"}],"version-history":[{"count":2,"href":"https:\/\/empretro.kanhave.xyz\/index.php?rest_route=\/wp\/v2\/pages\/139\/revisions"}],"predecessor-version":[{"id":145,"href":"https:\/\/empretro.kanhave.xyz\/index.php?rest_route=\/wp\/v2\/pages\/139\/revisions\/145"}],"wp:attachment":[{"href":"https:\/\/empretro.kanhave.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=139"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}