Skip to content

WKowalczykDev/boulder_dash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Logo

BOULDER_DASH

Built with the tools and technologies:

JSON npm JavaScript Webpack TypeScript CSS


Table of Contents


Overview

Boulder Dash is a classic arcade-inspired logic and action game where the player collects gems in an underground maze. The goal is to gather a required number of gems and reach the exit while avoiding falling boulders and enemies.

This project is a TypeScript-based interpretation of the original Boulder Dash from the Atari era. It was one of my first larger personal projects, created during high school, aiming to faithfully recreate the core mechanics of the 1980s classic.


Features

🔹 Classic gameplay inspired by the original Boulder Dash 🎮 Keyboard controls with intuitive movement 🧱 Dynamic environment: falling rocks, destructible terrain, reactive surroundings 💎 Gem collection and limited time management 🧠 Simple enemy and collision logic

Project Structure

└── boulder_dash/
    ├── package-lock.json
    ├── package.json
    ├── public
    │   ├── bundle.js
    │   ├── font
    │   │   └── Boulder Dash 6128.ttf
    │   ├── img
    │   ├── index.html
    │   ├── sounds
    │   └── style.css
    ├── src
    │   ├── Board.ts
    │   ├── functions.ts
    │   ├── index.ts
    │   ├── MovingObjects.ts
    │   ├── movingObjectsChildren
    │   │   └── MovingEntity.ts
    │   ├── Settings.ts
    │   ├── StartGame.ts
    │   ├── Travel.ts
    │   ├── travelChildren
    │   │   └── FallingObjects.ts
    │   └── ValuesBoard.ts
    ├── tsconfig.json
    └── webpack.config.js

Project Index

BOULDER_DASH/
__root__
File Name Summary
package-lock.json Exact package versions for dependency management
package.json Project metadata and dependencies list
tsconfig.json TypeScript compiler configuration
webpack.config.js Webpack bundler setup and build rules
public
File Name Summary
bundle.js Compiled and bundled JavaScript for the game
index.html Main HTML file and game canvas container
style.css Styling for the game UI
font
File Name Summary
Boulder Dash 6128.ttf Custom font used in the game
src
File Name Summary
Board.ts Main game board logic and tile updates
functions.ts Utility functions for object handling
index.ts Game entry point and runtime init
MovingObjects.ts Logic for movable game objects
Settings.ts Game configuration and constants
StartGame.ts Starting screen and level setup
Travel.ts Collision detection and movement rules
ValuesBoard.ts Tile values and map generation
movingObjectsChildren
File Name Summary
MovingEntity.ts Base class for moving entities
travelChildren
File Name Summary
FallingObjects.ts Logic for falling objects and physics

Getting Started

Prerequisites

This project requires the following dependencies:

  • Programming Language: TypeScript
  • Package Manager: Npm

Installation

Build boulder_dash from the source and intsall dependencies:

  1. Clone the repository:

    ❯ git clone ../boulder_dash
  2. Navigate to the project directory:

    cd boulder_dash
  3. Install the dependencies:

**Using [npm](https://www.npmjs.com/):**

```sh
❯ npm install
```

Usage

Run the project with:

Using npm:

npm start

Contributing

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your LOCAL account.
  2. Clone Locally: Clone the forked repository to your local machine using a git client.
    git clone ./boulder_dash
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
  6. Push to LOCAL: Push the changes to your forked repository.
    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
  8. Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!

License

Boulder_dash is protected under the LICENSE License. For more details, refer to the LICENSE file.


About

Classic Boulder Dash-style game built in TypeScript. First bigger personal project from high school, inspired by Atari-era gameplay.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors