Log In  

My first post. I'm beginning this blog to document my progress in pursuing a passion project, the creation of my first game. The existence of Pico-8 and 'mini metroid-vanias' such as Metroid Crimson, The Ascent, and Subsurface have inspired me. I grew up with an NES and my finest childhood memories involved exploring the game worlds of Zelda and Metroid. My goal is to create a game with a focus on exploration and environmental puzzle solving with progression through an ability-gated game world. I lack programming experience and have a general aversion to math. I'm hopeful the community here will share its wisdom if I'm earnest in my attempt to understand conceptually all the code and math and I refrain from making a million requests for information.

My progress so far: With the assistance of a set of super helpful youtube tutorials, I've created a player sprite capable of running and jumping using platformer controls. I've also managed to alter existing camera code to track the player character room by room.

My current obstacle: Collision detection is proving to be a struggle. My player sprite is capable of landing on tiles of empty space. The code uses a combination of local variables and 'objects.' Conceptually I don't understand 'objects' and what the code is doing. Perhaps I need to turn my focus toward learning how Lua works.

P#139373 2023-12-29 19:28 ( Edited 2023-12-29 19:29)


An 'object' is about as general as it sounds, it can be anything you need to group data conceptually, such as: the player, an enemy, a list of all enemies, a trap, the weather conditions of the current level, a vehicle, etc. Something with multiple properties that you want organized under one umbrella.

Not everything needs to be an object, some variables will probably stand alone. In Lua, we don't technically have 'objects' but rather everything is considered a 'table' however they function much the same. If you need to get into objects (tables) that inherit properties from other objects (like if you want to make an abstract, generic type of "enemy" object from which more specific types of enemies will be derived, because they will all share some properties such as x and y pos) then you may need to look into metatables.

I'm not an authority, still learning myself, but I hope this helps! Good luck!

P#139376 2023-12-29 19:48

This does help. Thank you kozm0naut. Love the spaceghost avatar!

P#139384 2023-12-30 01:03

[Please log in to post a comment]