A very difficult puzzle platformer where you use reflective windows to avoid obstacles and get to the finish!

15 increasingly challenging levels!

Your final score is the number of times you died!


The game idea, background art, cover page, and music were all generated by ARTIFICIAL INTELLIGENCE. See the YouTube video for more details:


Made in 3 (4) days for Mini-Jam #121: Reflection

Tile art from https://kenney.nl/assets

StatusReleased
PlatformsHTML5
Rating
Rated 4.0 out of 5 stars
(1 total ratings)
Authorbase_thomas
GenrePlatformer
Made withDefold
Tagsartificial-intelligence, Difficult, My First Game Jam, Physics, Puzzle-Platformer

Development log

Comments

Log in with itch.io to leave a comment.

I dont think you have multiplied by time.deltatime (or whatever its called in Lua) as I have a 240hz monitor and i can run very very very fast lol... - cool game tho :)

Pretty sure it's vsync being dumb. Just updated the game, should hopefully be fixed now

; Simple Assembly Language RPG

; Author: ChatGPT

section .data

prompt db "Choose your character class: 1. Warrior 2. Mage 3. Thief: ", 0

warrior db "You have chosen the Warrior class!", 0

mage db "You have chosen the Mage class!", 0

thief db "You have chosen the Thief class!", 0

invalid db "Invalid choice, try again!", 0

section .bss

choice resb 2

section .text

global _start

_start:

; Display prompt and read user choice

mov eax, 4 ; system call number (sys_write)

mov ebx, 1 ; file descriptor (stdout)

mov ecx, prompt ; pointer to message

mov edx, len_prompt ; length of message

int 0x80 ; call kernel

mov eax, 3 ; system call number (sys_read)

mov ebx, 0 ; file descriptor (stdin)

mov ecx, choice ; pointer to buffer

mov edx, 2 ; max bytes to read

int 0x80 ; call kernel

; Check user choice and display class

cmp byte [choice], "1"

je choose_warrior

cmp byte [choice], "2"

je choose_mage

cmp byte [choice], "3"

je choose_thief

jmp invalid_choice

choose_warrior:

mov eax, 4 ; system call number (sys_write)

mov ebx, 1 ; file descriptor (stdout)

mov ecx, warrior ; pointer to message

mov edx, len_warrior ; length of message

int 0x80 ; call kernel

jmp exit

choose_mage:

mov eax, 4 ; system call number (sys_write)

mov ebx, 1 ; file descriptor (stdout)

mov ecx, mage ; pointer to message

mov edx, len_mage ; length of message

int 0x80 ; call kernel

jmp exit

choose_thief:

mov eax, 4 ; system call number (sys_write)

mov ebx, 1 ; file descriptor (stdout)

mov ecx, thief ; pointer to message

mov edx, len_thief ; length of message

int 0x80 ; call kernel

jmp exit

invalid_choice:

mov eax, 4 ; system call number (sys_write)

mov ebx, 1 ; file descriptor (stdout)

mov ecx, invalid ; pointer to message

mov edx, len_invalid ; length of message

int 0x80 ; call kernel

jmp exit

exit:

mov eax, 1 ; system call number (sys_exit)

xor ebx, ebx ; exit status

int 0x80 ; call kernel

section .rodata

len_prompt equ $ - prompt

len_warrior equ $ - warrior

len_mage equ $ - mage

len_thief equ $ - thief

len_invalid equ $ - invalid

(+1)

Hello me