Coder Social home page Coder Social logo

eduardo-lp-silva / minix-trouble Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 1.1 MB

A time-management game based on the Minix operating system developed in the Computer Laboratory (LCOM) class.

Assembly 0.70% C 96.68% Makefile 0.63% Objective-C 1.99%
minix-os c-game

minix-trouble's Introduction

Minix Trouble

image

Overview

This is a time-management game based on the Minix operating system, inspired by 90s arcade games.

In this game, the player controls a character whose main objective is to keep the servers running in good condition, more specifically, to make sure there is at least one server running at a time. In order to accomplish this, the player must reactive any downed servers individually. As time goes on, this mission becomes increasingly dificult, therefore the player will be awarded progressively more points.

Main Menu

image

This a simple menu that allows the player to start the game or exit the application. He needs to simply drag the mouse over the option he wishes to pick and click it with the left mouse button.

Gameplay

The game area consists of a room with 4 servers close to each corner. At first all servers are running fine, giving the player some time to adjust to the controls. He can move the character up/left/down/right with the WASD keys, respectively.

image

After some time, one the servers will crash, turning red.

image image
Active Server Downed server

To fix a server, the player will have to move next to it and press the 'E' key, earning some points in the process. That's it! As time progresses, the time between each server crash will decrease, so the user will have to react more quickly to each event. The longer he lasts the bigger his score at the end!

Note: The user can exit at any time by pressing the ESC key.

Game Over

If all the servers are down at the same time, the player looses and is showed his final score on the screen.

image

He can now press the ESC key to go back to the main menu.

Technical notes

The Bitmap.c module was taken from http://difusal.blogspot.pt/2014/09/minixtutorial-8-loading-bmp-images.html which was made by Henrique Ferrolho, a former MIEIC student. It allowed us to load, use and display .bmp images. However, some changes were made, including the creation of a new function that ignored pixels of a certain color (background color) and the modification of the original function to map the image to an auxiliar buffer instead of the original one.

Function Call Graph

image

Known Issues

  • In the main menu, the cursor movement can be quite sluggish. It is therefore advisable to move the mouse in short intervals, allowing the cursor in the screen to "catch up" with the real life movement.

  • During the game itself, if the player moves too close to the edges of the map, some visual bugs might occur.

minix-trouble's People

Contributors

eduardo-lp-silva avatar

Watchers

 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.