Video Demo: https://youtu.be/HRzQF5ogedk?si=1gPRo9GmiDGXuUws
So i started this project started as an idea from Week 0 when i learned to work with Scratch. I am a huge Pokemon fan, and the series is ended so i thought to give a tribute and also i wanted to understand how the game works behind the screen. I first thought to make game in pythongame and i did my best with it, but i wasn't able to figure out how animaion works for the player and the collisions of walls and trees would work , so i shifted to lua and LOVE2D because all i was able to accomplish making player move left and right and up down, he could walk on tree and houses T_T, etc. Now onto to the final project, I watched the Love2D Lua seminar of 2021 which was lifesaver (i don't know why they did remove it from 2023 Seminar section),after whatching that seminar I thought i can aslo make a more perfectlu working game. I literally searched the whole internet for LOVE2D tutorials. I came across to the Challacade youtube channel and his LOVE2D basics playlist was life saver and helped me understand a lot of the game making and working mechanics. I learned to incorporate the anim8 library to animate my player, i also use the Windfield library to detect collisions from trees, house, mountains, signs, characters, pokemon center, walls and lakes so that player could not surpass them and i used the hump camera library for creating a camera which follows our character and we can explore more of our map and lastly sti library for background implementation.
Okay!!! So , My first step was to get our player walking and animated, which was basically recreating my pythongame project with Lua but with animation Instead of one image moving in game like I did in my pygame project, I learned to use a spritesheet and cut out just the ones I wanted to create frames of animation with anim8. Then, I spent some time figuring out how am i going to create the walls on the map to prevent our player from walking on top of trees, houses and other obstacles. I came to know that in game maps are created through the use of a tilemap after watching the video of Challacade on Love2D. But i didn't get the map as i wanted because i wanted a large map, so we can explore more so I decided to creeate my own map instead, i use the software called Tiled i downloaded 4 maps i.e, Pallet Town, Route 1, Viridian City and Pewter City , then i combined all these maps to each other and created a single Large Map. The movement of player can be controlled by Using Left Arrow to move in Left Direction, Right Arrow to move in Right Direction, Up Arrow to move in forward direction and Down arrow to move in Downward direction.
Second step was to create collision boundaries for our player, so that our main player could not move past the walls and houses, but in actual game when the player touches the door the player moves inside the house, but i didn't get the sprites for indoor of houses which suits my background, so i just made a collision on door, so that our player can touch the door but he won't be able to get into the house. In front of gym of i added Characters which will stop our player from going inside the gym. There were some routes from which our player can go away from the map so i added Snorlax Pokemon and added collision to it. so that, our player won't be able to pass and he will keep moving in the map and won't be able to pass from map.
Third step was to make the game look more interesting and real , so i added the Charizard NPC which follows our main player, as charizard is a flying pokemon so i didn't add collision to charizard so that he can move above the obstacles but the animation of charizard does not change because i didn't get the sprites of charizard animated version as i wanted so i just left as is. I also wanted to make the game look complete so i created many npc's of characters and pokemons, the npc's of characters does not do much instead of standing and watching, they also don't talk T_T, but i added animation to the npc's of pokemon so that the game can look more lively, they just move up down at their place. Mostly Pokemon npc's are legendary pokemon beacause i always used to thought why legendary pokemons are not in starting, so here it is i created them...
Finally last step was to add camera motion to the characters, as in original game when the main characters move the background also moves , so with the help of HUMP CAMERA LIBRARY and Challacade i was able to create a camera which allows our screen to follow our player. I have scaled my background small because the sprites of npc's weren't matching with large Background. Also, to make it look like original game i added Background music of Pallet Town for repeat in this game.... Lastly!! I'm so grateful for CS50 and David J Malan for teaching me how I can make anything happen with code! Also, I can't speak fluent English so please avoid some gramatical Errors......