Skip to content

CS50x 2020 Final project: Platform Video Game developed in Lua with Löve2D.

Notifications You must be signed in to change notification settings

NiltonRodriguez/CS50x-2020-Final-Project-MellowLand

Repository files navigation

Description:

Mellow Land is a Platform game developed in Lua with Löve2D framework. Inspired on Mario, Megaman, Kirby and other classic platform games.

The main character is Mellow, who have the ability to change element when collect the element Coins.

Each element have two skills:
Fire: Can dash and shoot flames.Powerful against Beh.
Water: Have higher jump and shoot bubbles. Powerful against Cal.
Wing: Have a Quad Jump and shoot a breeze. Powerful against Squ.

Mellow can collect boxes and for each 15 boxes gain 1 life.

The goal is to collect the elemental coins, boxes and complete the four stages.

Control keys:

  • Left / right arrows: Move.
  • Space: Jump.
  • C: Change element.
  • X: Shoot.
  • Z: Dash.

Content:

  • Assets: Contains all the images used in the game. All are my own design made on Autodesk Sketchbook and Procreate.
  • Map: For the map design I used Tiled, a tile map editor. This folder contains the map files (Tiled and Lua).
  • SFX: Contains the music and sound effects.
  • STI: And external library by Landon Manning for the tiled map and box2d physics implementation.
  • Box Class: Contains the parameters for the box implementation: The box initialization, count, animations and physics.
  • Camera Class: Contains the implementation of the camera movement.
  • Cloud Class: Contains the parameters for the cloud implementation: The cloud initialization, damage and physics.
  • Coin Class: Contains the parameters for the implementation of the elemental coins: The coins initialization, remove, count, animations and physics.
  • Enemy Class: Contains the parameters for the 3 enemy types. The enemy initialization, remove, movement, animations, damage and physics.
  • Flag class: Contains the parameters for the flag implementation.
  • Font: 04B_30 by Yuji Oshimoto.
  • GUI Class: Contains the parameters to display information on the stage screen as: lives, boxes, coins and the stage.
  • Loser Class: Contains the animation to display the Game Over screen.
  • Main: Contains the parameters to run the game. Is the file that load, update and render the game.
  • Map Class: Contains the parameters to load all the elements of the map for each stage.
  • Messages: Contains the parameters to display all the non playable screens and the current frames per second (FPS).
  • Player Class: Contains the player parameters as: the player initialization, animations, movement and physics.
  • Power Class Contains the parameters for the 3 powers the player can use.
  • Winner: Contains the animation to display victory screen.

Special Thanks.

I want to thank all who participated on this project. My family support that has no limits, Joha who always listened and stayed with me no matter what.
Simon Rahnasto who teach me a lot and brought me light when I needed.
And the CS50 Crew that helped me become better than I was on Week 0.

About

CS50x 2020 Final project: Platform Video Game developed in Lua with Löve2D.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages