top of page

My First Game Development - Fruits Catcher

On September 2023, I decided to create a simple game using SDL2 framework with C/C++. The game is about Fruits Catcher. I instantiated the image of the fruits randomly on the top of the screen and put them in the game loop and change their y-position to make the illusion of the fruit falling from the sky.  The renderer will refresh every second and redraw the fruits on different y-position, so this makes the effect of fruits falling from the sky.

​​

The frog character moves horizontally along the x-axis, changing its pixel position. To animate it, I used 4 sprite frames, which I manually repeated within a while loop to give the sense of a moving character. 

GitHub
fruitfrog-catcher.png

My Second Game Development - RedBob 

After, I created the Fruit Frog Catcher, I decided to make platformer Super Mario Bros 1 clone inspired by Nintendo.  

​

I was struggling with collision bounding box problem when coding this game with SDL2 and C/C++. I learned AABB Collision Detection and how to adjust the position of the player in the new location. When Mario collides with an object in front of him, I adjust his sprite's position to place him precisely on the edge of that object, allowing him to stand. However, when he attempts to collide with the same object from below, his position remains unchanged. But he could still jump and not pass through the platform above him.

GitHub
redBob-platformer.png

My Third Game Development - Solitare

I decided to make a card game, custom solitaire. But this time I tried to use Linux, SFML (Simple and Fast Multimedia Library) framework with C/C++ programming language and VIM editor. I learned how to setup VIM with auto completion using YouCompleteMe. 

​

I was struggling with inheritance while coding this game. My current challenge is implementing the drag-and-drop feature: when a card is moved, its entire stack should also move, but I'm having trouble getting them to follow. However, I've implemented a partial solution where the child cards attempt to follow the parent card's position. The problem arises when the parent card moves rapidly; the child cards experience a noticeable lag and fail to accurately track its movement.

GitHub
HarrySolitaire.png
bottom of page