Giter Site home page Giter Site logo

balldash's Introduction

Ball Dash

Ball dash is a classic marble maze game designed for Windows. Your goal is to control the marble ball to solve the maze without falling into any holes.

Developers

  • Ryan Crosby
  • Mubashwer Salman Khurshid (mskh, 601738)
  • Geordie Wicks

Windows App Certification Kit Test Results file is attached

_Windows-App-Certification-Kit-Test-Results.htm

Version

1.0.0

Description

  • The game can be started by pressing the start button. You can go to the options page and disable touch and/or accelerometer and enable/disable debug mode. The instructions page will contain the instructions on how to play. Once the game is started, you can select different levels. The maze board can be tilted by tilting the tablet. The ball can be moved by arrow keys. If the screen is touched, the ball will attempt to move towards the point of touch. If the ball falls into a hole, the game will restart. If the ball touches the "Rainbow" tile, it will enable disco-like lights. The game is over once the ball reaches the green end tile. There is a "HINT" button on the game overlay page. If it is touched it can enable/disable maze solution. It highlights the shortest path from the player's position to the end tile by decreasing the brightness of everything except the tiles in the shortest path (which is generated via Djkistra's algorithm). We built the physics engine for the game which is described in the comments of the Player Update method.

  • Models are all geometric primitives which are included SharpDX library which use indexed vertex definition, vertex normals and texture for drawing.

  • Customised phong shader was used to handle the graphics which supports textures and multiple lights. The Camera is placed above the maze board and faces the ball. It follows the ball and updates its position and target appropriately. Pinching of the screen controls the zooming of the camera.

  • The Priority Queue used in our implementation of Djkistra's Algorithm is copied directly from Satsuma .NET library (http://sourceforge.net/projects/satsumagraph/). The license is included above the class definition. Part of text map file for level 3 was generated by a maze generation algorithm described in http://rosettacode.org/wiki/Maze_generation.

  • The physics engine is homemade. It calculates the rough angle that the collision occurred on (a multiple of 45 degrees), and uses that value to calculate a change in X and Y velocity components, adding dampening as it does so.

balldash's People

Contributors

crozone avatar mubashwer 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.