Code Monkey home page Code Monkey logo

mec-man's Introduction

Mec-Man Logo gif Mec-Man

About the Game

Hello there, here's Andrew. I've been developing this little game since 2019, but only now I managed to spend more time to work on it. I started this project aiming to do a Pec-Man copy, but the more I felt comfortable to program it, more I tried to make something more... original. The game base was created from Danki Code's course, but soon I diverged a lot from the tutorials.

You control a high school student that needs to do homeworks, while dealing with the obligations of an I.T. developer.

Ok, I know it is just a simple little game in Java, but I really liked the result. So, lets get started:

Gameplay Aspects and Enemies

Use the arrows or W,S,A,D to move, and catch homeworks for increasing your score and for passing levels. Catch cups of coffee to slow enemies down (but that reduces your health a bit), and catch graduation hats to gain even more points (but they accelerate the enemies). If an enemy comes close enough, you will suffer damage. About them, here they are:

  • Sublime Text
  • ENEM (the Brazilian National High School Exam)
  • Eclipse IDE
  • Visual Studio Code
  • Photoshop CS6

They are quite the same in behaviour, but the last two levels have special enemies to difficult your journey. The game has 10 Levels, with different scenarios but the same goal: to catch all the homeworks.

All in Java

I never tried to make a real game before, and since Java is my favorite programming language, I thought "why not?". I hope you all can understand the code, but, in short, the game is divided in:

  • World and Graphics classes to handle the rendering of the game
  • Entity classes to handle the programming and behaviour of the Player, and of all enemies and items
  • Main classes that handle texts, triggers, and the general functioning of the game.

One of the most complex classes to understand (at least for me) is the A* algorithm class. It handles the enemies' behaviour when it comes to chasing the player.

The Spritesheet and all the levels are nothing but simples images, that are read to generate the graphical elements.
For example, in World.java you can see that everything that has the color "0xFFFF0000" on Spritesheet will become an instance of an Enemy_1.

Game Languages

The game has three available languages: Brazilian Portuguese (my beloved one), English and German. I've been studying German for a while, so, for study purposes, I decided to include it on the game. It is an amazing language.

Special Thanks

This game probably never would've come out of my Eclipse's Workspace if it wasn't for them:

Soundtrack

Here are the musics I used on the game. I took care of not using any copyrighted music, but I must give the credits for all of them, and my sincere thanks.

All By Myself (don't wanna be)

I did pretty much everything by myself (beside my brother's help in some programming and testing). I used Paint.net to edit the game graphics, Sony Vegas Pro 11 to edit the game sounds (and that was the hardest part). I also used a lot of websites for converting and cutting images and sounds, and to learn how to handle some programming puzzles.

This is the first game I made, and I hope it won't be the last. I intend to keep updating it when I have more ideas, but the most important thing to say is that it is now public, here on GitHub, so you all can see and suggest changes (probably there are a lot of them, I've been studying Java for only about two years and a half).

My sincere thanks to those who read until here, and I hope you enjoy it.

soon I'll be adding more images of the game on this README, tschüss

mec-man's People

Contributors

andrew-2609 avatar

Stargazers

José Wilker Costa avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.