Minicraft GBA: Difference between revisions

From GameBrew
(Created page with "{{#seo: |title= (Action) - GameBrew |title_mode=append |image=minicraftgba.png |image_alt=Minicraft }} {{Infobox GBA Homebrews |title=Minicraft |image=minicraftgba.png |descri...")
 
m (Text replacement - "Category:GBA homebrew games" to "")
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{#seo:
|title= (Action) - GameBrew
|title_mode=append
|image=minicraftgba.png
|image_alt=Minicraft
}}
{{Infobox GBA Homebrews
{{Infobox GBA Homebrews
|title=Minicraft
|title=Minicraft
|image=minicraftgba.png
|image=minicraftgba2.png
|description=Minicraft ported to the GBA.
|description=Minicraft ported to the GBA.
|author=
|author=Vulcalien
|lastupdated=2022/11/19
|lastupdated=2024/02/09
|type=Action
|type=Action
|version=1.0
|version=1.3
|license=GPL-3.0
|license=GPL-3.0
|download=https://dlhb.gamebrew.org/gbahomebrews/minicraftgba.7z
|download=https://dlhb.gamebrew.org/gbahomebrews/minicraftgba.7z
|website=https://gbadev.org/demos.php?showinfo=1562
|website=https://vulcalien.itch.io/minicraft-for-gba
|source=https://github.com/Vulcalien/minicraft-gba
|source=https://github.com/Vulcalien/minicraft-gba
}}
}}
'''Minicraft''' is a GBA demake of Minicraft, a 2D game made by Markus Persson (aka Notch) for the 22nd Ludum Dare.
{{#seo:
|title= (Action) - GameBrew
|title_mode=append
|image=minicraftgba2.png
|image_alt=Minicraft
}}
Minicraft is a GBA demake of Minicraft, a 2D game made by Markus Persson (aka Notch) for the 22nd Ludum Dare.


==Description==
The aim is to make a version that is as close as possible to the original. A pause menu and save feature were also added to improve the experience.
My aim is to make a version that is as close as possible to the original. Of course, the GBA has some hardware limitations but, since the game isn't too complex, I could port it without too many problems. When the limitations were impossible to overcome, I had to hack a few things, change others, put limits and so on.


To improve the experience, I also added a pause menu and a way to save and load the world.
==Installation==
Open the gba ROM with your GBA emulator of choice (mGBA is highly recommended if you don't have one).


== Differences due to Hardware limitations ==
If you have any trouble with the save files, try to manually set the save format to 128 KB Flash ROM.


==User guide==
===Differences due to Hardware limitations===
{| class="wikitable"
{| class="wikitable"
!
!
Line 49: Line 51:
|}
|}


=== Game Light ===
===Game Light===
The light system is completely different, both visually and in how it works.
The light system is completely different, both visually and in how it works.


The original Minicraft calculates the light for '''each pixel''': that is, for various reasons, impractical to do on the GBA.
The original Minicraft calculates the light for each pixel: that is, for various reasons, impractical to do on the GBA.
 
So I had to find another way, and the best one seemed to use tiles, because the GBA is very good at handling them. That gives light a 'blocky' look, but it seems acceptable.


== Running ==
The GBA version uses tiles, because the GBA is very good at handling them. That gives light a blocky look, but it seems acceptable.
Download or build the ROM (<code>.gba</code> extension). Then open it with your GBA emulator of choice. If you don't have one, I highly recommend mGBA.


If you have any trouble with the save files, try to manually set the save format to <code>128 KB Flash ROM</code>.
===Performance Overlay===
By holding the L and R buttons down and then pressing Select, the performance overlay is enabled.


=== Performance Overlay ===
By holding the <code>L</code> and <code>R</code> buttons down and then pressing <code>Select</code>, the performance overlay is enabled.<br />
Four hexadecimal values are written at the top corners:
Four hexadecimal values are written at the top corners:


<pre>FF &lt;--- vcount after 'tick'    entity count ---&gt; FF
FF <--- vcount after 'tick'    entity count ---> FF
FF &lt;--- vcount after 'draw'    sprite count ---&gt; FF</pre>
FF <--- vcount after 'draw'    sprite count ---> FF


==Screenshots==
==Screenshots==
https://dlhb.gamebrew.org/gbahomebrews/minicraftgba-1.png
https://dlhb.gamebrew.org/gbahomebrews/minicraftgba3.png
https://dlhb.gamebrew.org/gbahomebrews/minicraftgba-2.jpg
https://dlhb.gamebrew.org/gbahomebrews/minicraftgba4.png
https://dlhb.gamebrew.org/gbahomebrews/minicraftgba-3.jpg
https://dlhb.gamebrew.org/gbahomebrews/minicraftgba5.png


== Building ==
==Media==
To build the game, I use the <code>Makefile</code> present in the files. You will need the gcc-arm-none-eabi compiler. I've not tested any other compiler and, if you want to try, I cannot guarantee that the game will work or that the performance will be as good (since it's optimized for the GCC compiler).
'''Minicraft: The OTHER Version of Minecraft That Notch Created''' ([https://www.youtube.com/watch?v=ZEi7Uz6gTSE Logdotzip])<br>
<youtube>ZEi7Uz6gTSE</youtube>


Run <code>make</code>: it should build without any configuration.
==Changelog==
'''v1.3.0'''
*This version brings improvements to the saving system, a way for the player to respawn and some performance optimization.
'''v1.2.1'''
*Version 1.2.1 is a source-only update that doesn't change the game ROM. The only difference compared to 1.2 is that the linker script is improved.
'''v1.2'''
*This update fixes two visual bugs and introduces frameskip. Frameskip should help prevent noticeable lag by reducing the frame rate when the CPU is under too much stress.
'''v1.1'''
* This update fixes a rendering bug that affected entities near a player holding a lantern.
* The bug was present only on real Hardware, not in emulators.
'''v1.0'''
*First Release.


== License ==
==Credits==
The original game <code>Minicraft</code> was made by Markus Persson in 2011. I do not own it, nor am I affiliated to it.
Original game Minicraft by Markus Persson.
 
This demake of the game is released under the GNU General Public License, either version 3 of the License or any later version.


==External links==
==External links==
* Gbadev - https://gbadev.org/demos.php?showinfo=1562
* itch.io - https://vulcalien.itch.io/minicraft-for-gba
* Gbatemp - https://gbatemp.net/threads/minicraft-v1-0-gba-port.622058/
* GitHub - https://github.com/Vulcalien/minicraft-gba
* Github - https://github.com/Vulcalien/minicraft-gba
 
[[Category:GBA homebrew games]]
[[Category:Homebrew action games on GBA]]
[[Category:Homebrew adventure games on GBA]]

Latest revision as of 02:40, 10 May 2024

Minicraft
Minicraftgba2.png
General
AuthorVulcalien
TypeAction
Version1.3
LicenseGPL-3.0
Last Updated2024/02/09
Links
Download
Website
Source

Minicraft is a GBA demake of Minicraft, a 2D game made by Markus Persson (aka Notch) for the 22nd Ludum Dare.

The aim is to make a version that is as close as possible to the original. A pause menu and save feature were also added to improve the experience.

Installation

Open the gba ROM with your GBA emulator of choice (mGBA is highly recommended if you don't have one).

If you have any trouble with the save files, try to manually set the save format to 128 KB Flash ROM.

User guide

Differences due to Hardware limitations

Original GBA Demake
World size 128x128 112x112
Entity limit 255
Chest limit 32
Inventory size 128

Game Light

The light system is completely different, both visually and in how it works.

The original Minicraft calculates the light for each pixel: that is, for various reasons, impractical to do on the GBA.

The GBA version uses tiles, because the GBA is very good at handling them. That gives light a blocky look, but it seems acceptable.

Performance Overlay

By holding the L and R buttons down and then pressing Select, the performance overlay is enabled.

Four hexadecimal values are written at the top corners:

FF <--- vcount after 'tick'     entity count ---> FF
FF <--- vcount after 'draw'     sprite count ---> FF

Screenshots

minicraftgba3.pngminicraftgba4.pngminicraftgba5.png

Media

Minicraft: The OTHER Version of Minecraft That Notch Created (Logdotzip)

Changelog

v1.3.0

  • This version brings improvements to the saving system, a way for the player to respawn and some performance optimization.

v1.2.1

  • Version 1.2.1 is a source-only update that doesn't change the game ROM. The only difference compared to 1.2 is that the linker script is improved.

v1.2

  • This update fixes two visual bugs and introduces frameskip. Frameskip should help prevent noticeable lag by reducing the frame rate when the CPU is under too much stress.

v1.1

  • This update fixes a rendering bug that affected entities near a player holding a lantern.
  • The bug was present only on real Hardware, not in emulators.

v1.0

  • First Release.

Credits

Original game Minicraft by Markus Persson.

External links

Advertising: