Creating a Game

I started learning programming as a hobby, wondering what I can do with it. Following a project with LSE PhD Student, I gained momentum and started working on a videogame, at first just trying to make shapes move on my screen using SFML library and C++, and later learning about data structures, collision detection, ballistic trajectories, animations and tilemaps.
Collision Detection

Programming feels fun, I think it is like a game by itself, like solving puzzles, challenging at times, but very rewarding at the end, when it finally works, when I could make my program compute with less collision at any given time, and differentiate ground from slopes, from walls or obstacles in an organic environment using tilemaps with small tiles.
Traversal

Then I was thinking about how to traverse this organic terrain naturally. At this point, I had started using Unity and C#. Now, I felt more serious about creating the game, graduating this beyond a hobby.
Concurrently, dealing with different aspects of making the game, developing the art style and look of the game, and gameplay ideas.
Lighting

As I progressed, it started feeling like a Real Game. Every time I added a new idea or aspect, like dealing with the lighting system and adding details to the scenery.
AI

I want my enemies AI to resemble natural movements, so in that sense, it is not the typical Goomba from Mario Bros. I want the creatures to have more complex movements & behaviour while being predictable enough to be defeated playing the game.
Follow and Positioning

Depending on the terrain, these creatures can pass back, front, above and below the player, following across the levels, and positioning around while preparing to attack, taking turns. Multiples enemies managed by a single script that generate the positioning points and give each nearby enemy a combat position, and this script will also determine who attacks and when.
Performance

I don't think I need 200 cats, or if it is fair, but it is fun to know I can have 200 of them running around. Using the multithreaded Data-Oriented Technology Stack, I could instantiate multiple copies of the cat and calculate positioning, follow and behave in general in parallel threads, taking less time computing all the cats' behaviours at the same time. I found out with time that cannot leave performance for later, or it will come and bite me back. It is an inevitably important part of solving these puzzles, adding another layer to the difficulty of making a game in the never-ending and rewarding process of programming.
Combat System

Now, when AI reacts to the player is when you finally have a game or at least starting to have one. In this case, I am implementing a Combat System starting with the basics, first with a simple jump attack from these Cat Creatures that will continue to hunt you down no matter where you go.
​​​​​​​To Be Continued...
Creating a Game
Published:

Owner

Creating a Game

2D Action Adventure/RPG game, inspired by From Software Souls Games. Taking the Desing Philosophy of Souls games but in a more colorful and famil Read More

Published: