Skip to content

Latest commit

 

History

173 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Marbles

English | 简体中文

A Java hexagonal-grid marble shooter built for the Massey University Games Programming course (159.261, Ass-2), featuring a Sans boss level and special marble mechanics.

Tags: Massey University · Game Design · Java · Swing

Contents

Background

Coursework for Games Programming (159.261, Ass-2) at Massey University: hexagonal-grid marble shooter gameplay, extended at level 4 with a Sans boss mechanic. The design notes live in 备注.txt.

Run

  • Open the project directory in IntelliJ IDEA (make sure resources/ loads correctly).
  • JDK: 26 (see the original Readme.md).
  • Entry class: src/Main.java.

Gameplay

  • Hexagonal grid: starts with 8 rows, up to 17 rows; hexagon side length 24.22 (see 备注.txt).
  • Launch marbles; they stick to same-colored marbles or the ceiling; 3+ connected same colors pop.
  • The whole board sinks every second (y += 2/5 hexagon side length per second).
  • Level 4 triggers the Sans boss with periodic skills (color shuffle, bedrock blockade, board drop, creeper marbles) plus battle dialogue.

Scoring

  • Clearing 3 or fewer: 10 points each.
  • Clearing 4-6: 15 points each.
  • Clearing more than 6: 20 points each.
  • Fallen marbles: 20 points each.

(Rules in 备注.txt.)

Special Marbles

Marble Behavior Levels
normal pops with 3+ same color all
creeper on hit, pops normal marbles within +3 range 2 / 3 / 4
bedrock indestructible obstacle, only falls 3 / 4
heart indestructible, only falls 4

Project Structure

src/
├─ Main.java            # entry
├─ GameEngine.java      # engine
├─ ScreenGame.java      # game screen
├─ ScreenStart.java     # start screen
├─ Level.java           # levels
├─ Marbles.java         # hex grid & spawn logic
├─ Marble.java          # marble entity
├─ MarbleLaunch.java    # marble launching
├─ BossSans.java        # Sans boss (level 4)
└─ ResourceManager.java # resource management
resources/              # images / sprites
备注.txt                # design notes (Chinese)

License

MIT License, see LICENSE.

About

A Java hexagonal-grid marble shooter built for Massey University's Games Programming course (159.261, Ass-2), with a Sans boss level and special marble mechanics.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages