Victor Rivera
6 min readNov 2, 2020

--

The purpose of my project is to provide a entertaining Video Game that plays fast and rewards aggressive playstyles in order to defeat the enemies and progress further. In regard to Team Members, I am the only one who is making this game come to life, creating everything from scratch. Like Scripts and Art for example. This game was made for people looking for something new in the market that was fast-paced and action packed. My personal focus on this project was to learn and experience what Game Development is like, especially as a developer making everything on their own. Bright Memory, a First Person Action Game was developed all by one person, is what heavily inspired me in trying this out on my own. I loved playing the game and felt very immersed within it’s World and Gameplay! And to learn that it was made by one person was so crazy and inspiring to me, making me want to challenge myself and try out game development on my own.

Growing up, playing Video Games became my main hobby through the years and it still is. Video Games are a powerful work of Art, able to combine almost every aspect of Entertainment within one product just to provide an interactive experience for the consumer. Music, Story, Sounds, Colors, Aesthetics, there’s so many parts to a video game that I could list and geek about, ultimately making it something I love as a Hobby and as Art. So when the time came around for our Portfolio Projects, the first thing that came to mind when it came to project ideas a Video Game of my own design. I’ve played games for so long that I learned the good and the bad as a consumer, understanding the time and content put into a game. But when it came to development and behind the scenes, there’s only so much a developer could talk about in a interview. I wanted to experience Game Development for myself and learn through trial and error, as well as understand the foundations of making a Video Game in the first place. Another motivation of mine is to just make a fun game for others to try out and maybe even support further projects that I’ll be working on, whether it is with a team or by myself again. Holberton’s curriculum and Framework has done a great job in making me a resourceful and persistent problem solver. Regardless of the rocky development I am going through with this game, I am having so much fun learning and trying out the lessons provided when it comes to working in Godot and 2D Pixel Art.

So what this diagram is depicting is how files like Spritesheets, for example, are imported to the Godot Engine and referenced by the program as “assets”. This means that files like PNG, MP3 are utilized within the Project in whatever method the developer sees fit. To deploy a game in Godot, we have to put the Godot Binary in our project folder and then compress it. That is why all the files I create go straight to the Godot Engine and both saved and utilized within the chosen Project Folder.

So far I used only two technologies that would be the Piskel 2D Pixel Art Program and the Godot Engine. There was so much to learn and I only had time to both learn about and create within Piskel and Godot. So I used Piskel to design the Game World and the Player model, done in the Pixel Art style because I wanted this project to be a 2D Action Platformer and felt that the artstyle was a good starting point considering my lack of skill in Art. Godot was used to create the actual game itself, adding scripts, logic, collisions and more to the world itself. Interesting bit about Projects in Godot, the project is labeled as the “Scene” and assets we add to the “Scene” are called “Child Nodes”.

One feature is Left and Right movement across the Play Area. I learned how to script functional and user-controlled movement for what is called a “Kinematic 2D Body” in Godot. This is a technical term and Child Node that represents the Player.

A second feature I managed to implement was Jumping affected by Gravity. The “Mario” style jump mechanics was easy to understand and great learning material for implementing a Jump action. I learned about making variables and methods controlling things like Gravity, Velocity and Acceleration to make a comfortable, responsive jumping action that would fit the vision of my game.

A third feature to talk about it is my Landing Page and how it is accessible to both PC and Mobile! I was stuck for about 5 hours trying to figure out how I can design the Landing Page to be attractive and accessible to all platforms.

This is the line of HTML that made this feature possible! What this means is it scales the content of my webpage to match the width of whatever device it is displaying on. Basically, it makes sure to make the webpage fit perfectly on any screen without content stretching out of bounds.

Art was something I had the hardest time learning and mastering, even when I was younger. Drawing, Painting, Sketching, anything that had to do with drawing out things was the absolute hardest skill to pick up and I met with this hurdle once again when I had to create 2D assets for the game. During the time of this project, I made it clear in my mind to work on the Coding and Art portion of the video game as a means to balance out the workload. Coding was easy, thanks to Holberton’s way of educating us, however Art was what halted my progress. I had watched about 5 or more videos on 2D Pixel Art, learning about Programs to start on, Styles, how many pixels to consider when creating characters, the ratio of a 2D Game, and Color Theory thus far. The lessons within these videos were clear and I understand them, but actually putting them to use and drawing my Player Model and World was strenuous. The reason why I struggled so much was because I had such a complex idea in my mind, wanting to make a game world and assets similar to Japanese Mecha, yet I was a rookie in Art. So I wasted 2 weeks, overthinking and failing in creating what was in my mind. I had the scripting set and the game world ready for the art pieces, which were taking way longer than it should. I went to my sister for advice and she advised that I stick to a very simple artstyle and combinations of Color since this was just the start of a grand project. She helped my Perfectionist and Overthinking mind a lot with that simple advice, motivating me to finish the Game World and Player Model a day before Presentations!

The most impactful lesson I learned from this project is how hard Game Development is, no matter how much planning and organization is done. It tested my patience and time management quite a lot, especially when I had to learn and build this game within the given timeframe of the Portfolio Project. One thing I would do differently is work in a team. Working alone on a Video Game is like trying to climb Mount Olympus; it is possible but very very challenging. Another thing I’d do differently is the order of tasks I wanted to do. Originally I was doing both Coding and Art at the same time, which ended up making me stuck and waste time. I feel like if I had just stuck to setting up the Scripts and developing the features of the Video Game, everything would’ve fallen into place more fluidly and comfortably. Working on this project also exposed my biggest weakness that I will work on improving from and that is Overthinking. When I think too much about something, I end up not wanting to work on it and that is unhealthy both professionally and mentally too. I mention professionally because what if I was working a difficult task from an employer? If I overthink on a task, it’ll risk my position and is unacceptable too. It’s a difficult weakness to overcome but I am confident that I will grow out of it. Despite the challenging development and coming across a weakness, there is a positive light to my experience. I realize the power and dynamics of Scripts for one, and I feel very comfortable in the Technical/Coding side of developing a Video Game. I may consider Game Developer as a future career and option when I finish Specializations.

My name is Victor Rivera and thank you for taking the time to read this. Below are links to the Project and my Social Media. Enjoy your day!

Github: https://github.com/VictorXRivera/Project-Persistence

Landing Page: https://project-persistence.glitch.me

Linkedin: https://www.linkedin.com/in/victor-rivera-39bb79193/

--

--

Victor Rivera
0 Followers

Hey there, I'm Victor. I'm a student at Holberton School for Software Engineering!