Home Close

Close

3D Minesweeper

3D Minesweeper

Created by Bo jack

Game Introduction

3D Minesweeper is a puzzle game played on a 3D grid. The different levels will just be larger grids. As of yet there are no plans to have game modes where the basic gameplay is different.

The general idea is that you have a 3D arrangement of blocks (most commonly in a cube or oblong shape). Of these, a certain number will be 'mines' and the rest will be 'normal' or 'safe'. The aim of the game is to remove all 'normal' or 'safe' squares leaving only the mines behind. Attempting to remove a 'mine' will result in it's explosion and the game will end.

The safe blocks hide numbers; the player will be required to use these numbers to work out where the mines are, there will also be additional features that will help in this.

Genre
GamePlay
Look and Feel

How to Play

At the start of the game, the player will set the dimensions for a 3D arrangement of blocks (height x width x depth in No.blocks) and choose a difficulty (easy, normal or hard). Maximum grid size is 100x100x100 and minimum grid size is 5x5x1.

They can click on any of the blocks. When they click on a block they will have the option of removing it or flagging it as a mine.

Removing a mine will cause it to explode and end the game. Removing any other block will cause a number to be displayed in its place or cause more squares to be removed (including numbered squares). The number displayed is the number of mines in adjacent grid locations (including diagonal).

Simultaneously right and left clicking on a number will remove all adjacent blocks, apart from marked blocks, only if the number of adjacent marked blocks are equal to the number which was clicked on.

The game is won when all the cubes but the ones containing mines are removed and the best 10 times will be recorded in a leaderboard for that particular grid.

There will also be a button that gives the player an exploded view of the grid (move the blocks apart) so you can see and click blocks on the inside of the grid which would otherwise be inaccessible.

The numbers in 3D Minesweeper can get a bit messy due to their sheer number so to fix this there will be a button that removes numbers that you no longer need.

Artwork (design)

The game will have very simplified graphics as it is only cubes suspended in mid-air with the default colour scheme being grey blocks, on a blue background. The numbers will be as follows:

1-blue, 2-green, 3-yellow, 4-red, 5-dark blue, 6-dark green, 7-dark yellow, 8-dark red, 9 onward - Black

In future development cycles the option of changing the colour scheme can be added along with options for outlines, glow effects etc. 

Technical Requirements

Technical requirements to play have been specified in "Technical >> System Requirements". Requirements to make graphics are currently unknown.

Heads Up Display (HUD)

The in game interface will have a HUD. On the HUD there will be the time elapsed, score, no. mines left, no. safe squares. It will also include all the on screen buttons (exploded view, remove excess numbers, save / exit) and the zoom bar.


View - Exploded view

No. - Remove extra numbers

Level Design

There will be no pre-made levels; the user will have to input the specification for a 3D grid of squares along with the no. mines at the start of a new game. The user guide will however have the dimensions for recommended dimensions and their levels of difficulty.

Global Elements

The Grid of squares will be completely stationary; the camera will move around this grid when the player pans or rotates the grid. The camera will not be able to move a certain distance away from the centre of the grid meaning it there is an invisible sphere where the camera can be.

Neutral objects are the background and the numbers that will be displayed which will not interact with the player at all. The scale will be defined by the user at the start of the game.

Game Flow Chart

No game element interact with each other at all but all of them interact with the mouse. Left clicking a block will trigger the algorithm for block removal and displaying numbers (also responsible for mine explosions). Right clicking will flag the square as a mine (it turns red). Right and left clicking on a number will remove adjacent squares provided the number of adjacent marked squares is equal to the number itself.

Player View

Left click and drag will pan the screen, right click and drag will rotated the camera around the cube (it appears that the cube is rotated but the camera is the object that is moving).

The relative screen size (on minimum zoom) is as follows:

The cube displayed is the entire grid but the details have been missed out. Maximum zoom is if the displayed cube was a single block.

Random Generation

var AxisX = parseInt(prompt("Enter grid Length"), 10);
var AxisY = parseInt(prompt("Enter grid Width"), 10);
var AxisZ = parseInt(prompt("Enter grid Depth"), 10);
var Cubes = new Array((AxisX*AxisY*AxisZ)).fill(0)
for (i = 0; i < (AxisX*AxisY*AxisZ); i++) {
    Cubes[i][ii][iii] = Math.round(Math.random()*10);
}

console.log(Cubes);

Removing Blocks

When

Data Structures and Variable Names


Technical

The game will be developed in Unity Game Engine on a Windows 10 operating system. It is expected to be playable in Windows operating systems. It could easily be adapted for other platforms in future development cycles.

System Requirements

Game Architechture

User Interface (controls)

Navigation (everything apart from Gameplay):

The user interface will be navigated by on screen buttons.

Gameplay:

All features and controls during gameplay can be accessed solely through the mouse. There will be on screen buttons for advanced game features. 

List of in game buttons:

Save / Exit

Pause

Remove excess numbers

Exploded view of the grid

Zoom Bar