INTRODUCTION


Billgard is a chaotic fighting game where you embody a billiard ball battling others. Roll across the table, dash to knock opponents into pockets and survive chaotic events like black holes and tilting tables. Your goal? Be the last ball rolling or rack up the most knockouts to win!

SHORT DESCRIPTION


Bounce into the thrilling world of Billgard, a fast-paced fighting game where you embody a billiard ball and battle against other players. Roll freely across the table, dashing to knock opponents into the pockets. But be on your guard—this isn't your ordinary billiard table.

Chaos reigns supreme with random events like black holes appearing or the table tilting, all designed to throw you off balance. Your objective? Be the last ball rolling or rack up the most knockouts to claim victory.

Billgard features simple controls, making it easy for everyone to pick up and play.

The game supports up to 14 players, ensuring there's always room for competition. Whether you prefer local, online, or mixed multiplayer, the game has you covered.

Experience the excitement and unpredictability of Billgard. Will you conquer the table and reign supreme?

UNIQUE SELLING POINTS


  • You are the ball: Unlike classic billiards where you just use a cue, here you are the ball, battling it out on the table yourself.

  • Chaotic billiard table with crazy events: Experience a chaotic billiard table full of funny events that turn the game on its head.

  • Local and online multiplayer for up to 14 players: Play with up to 14 friends online, locally, or combined, with up to 4 players per PC or console.

  • Simple, accessible controls: Thanks to easy, intuitive controls, the game is quick to pick up and play for everyone.

GENRES


Gameplay:

CHAOTIC 3D ACTION BALLTE-ROYAL

Theme:

CHAOTIC BILLIARD

TARGET PLATFORM


PC MULTIPLAYER

Optimized for both Controller and Keyboard

TARGET GROUP


Our target audience loves to:

  • Compete with others

  • Play with friends

  • Enjoy chaotic action

Billgard is aimed at a broad group of players. Little to no previous experience with computer games is necessary. The option to play it locally on the couch as well as online with up to 14 people makes it suitable for both small and large groups of friends.
Even though it is basically possible to play the game alone due to the simple AI opponents, it should be 3+ people for the real fun.
The ever-present chaos factor compensates for skill differences to a certain extent. The better players will win more often, but even beginners are not completely without a chance.

GAMEPLAY VIDEO


MoSCoW ANALYSIS


This MoSCoW analysis represents the desired features and overall vision of the game's current state.

Must Have

Should Have

  • lobby and game map

  • rolling and dashing

  • deathmatch gamemode

  • 3 events (black hole, table tipping, everybody jump)

  • keyboard and controller support

  • online and local multiplayer (combinable)

  • spectator mode

  • scalability settings

  • volume settings

  • accessibility settings

  • personalized input

  • enjoyable lobby

  • knockback mechanic (incuding on hit stun)

  • free for all gamemode

  • basic AI balls

Could Have

Wont have Yet

  • endstatistics (most kills and stuff)

  • charged dash

  • Steam archievements

  • personalized ball (many skins)

  • shrinkable table

  • Items (abilities, effects and more)

  • different maps

  • black ball (concept, WIP)

  • white ball (always active , attacks players)

  • random static enviromentals (bottles, loopings)

  • different ball types (big, medium, small, bouncy)

  • personalized hole in effects

  • SteamDeck optimization

  • tutorial

  • wave gamemode

Golf With Your Friends



Steam Description Excerpt:

Why have friends if not to play Golf... With Your Friends! Nothing is out of bounds as you take on courses filled with fast paced, exciting, simultaneous mini golf for up to 12 players!

Key Features:

12 Player Multiplayer! Make sure your skills are up to scratch as you tee off against 11 other golfers in simultaneous online multiplayer.

Themed Courses! Go head to head on courses with unique mechanics and holes. Become a pro in the pirate course, aim for an albatross in the ancient theme or wage all out Worm warfare in the Worms course!

Powerups! Drive a wedge between your friends as you trap their ball in honey, freeze it or turn it into a cube.

Three Game Modes! Tee off in classic mini golf, shoot for the pars in hoops or swap the hole for a goal in hockey

Level Editor! Putt your own spin on the game by creating, sharing and playing your own courses.

Customisations! Turn the fairway into the runway, with unlockable hats, skins and trails for your ball.

Steam Page


↑ Back to Top

WORLD


The billiard room



The world of Billgard is a simple bar with a pool table in the centre.

There is no story or anything else. It's a pure focus on gameplay. However, if Billgard had a story, it would look like this:

“In a smoky bar, between dim lights and the clinking of glasses, a billiard ball came to life. It was ball number 8, black and impenetrable. The other balls rolled towards it, trying to push it into the pockets of the table. But number 8 wanted more from its newfound existence. With a quick dash, it pushed the other balls aside and leapt into the air, landing on the cold floor of the bar.

As soon as it survived the impact, it faced a new danger: drunks trying to pick it up or kick it away. It moved skillfully around swaying legs and dodged clumsy shoes. Every attempt to grab it failed miserably. Finally, it reached the bar's door and charged through, out into the night.

But it was not alone on the street. A pack of dogs caught the scent of the small ball and chased it with bared teeth. But number 8 was faster and more maneuverable. It rolled through narrow alleyways, jumped curbs, and left the dogs panting in its wake.

Just as the ball thought it was safe, blue lights bathed the street in an eerie glow, and sirens blared. The police had joined the chase. Number 8 raced through the streets, dodging barriers and rolling relentlessly forward. Even when the military arrived, it could not be stopped. But the moment it almost escaped, it was caught by a bright light and pulled into the sky.

Aboard a spaceship, number 8 found itself surrounded by aliens. It hovered in the air, encircled by creatures that examined it curiously. But the little ball knew no fear. It shot through the spaceship, ramming into the aliens and fighting with all its might. Finally, it activated a self-destruct sequence and escaped at the last moment.

But the adventure did not end there. On the brink of death, number 8 was pulled into a glistening, bright world where a powerful being, God himself, awaited it. The little ball trembled with awe but stood firm. With a final, decisive leap, it rolled towards God. It was a battle beyond imagination, a struggle between creator and creation.

And if it hasn’t lost, then it’s still rolling happily ever after.”

GAMEPLAY LOOPS




Core Game Loop

Meta Game Loop


TABLE DESIGN


The billiard table is modelled after a real billiard table in the default setting. The dimensions all correspond to the original.
However the size of the table can be adjusted for different scenarios. The width and length can be adjusted separately.

So that the length of the game does not drag on, the table size shrinks over time in the sense of a ballte royal. The pocket size remains constant.

MOVEMENT AND COMBAT


The ball can be moved in two ways. The ‘normal’ movement rolls the ball forwards/backwards and left/right. The input only rotates the ball, causing it to move indirectly.
The other option is a dash, which gives the ball a strong push in the current direction of view (horizontal).

Dash

The dash can be used every 2 seconds. Due to the high force of the dash compared to normal movement, you lose control for a brief moment. To avoid putting yourself in a pocket, considered use is of crucial importance.

As well as moving quickly, the dash is also used to push other balls. The aim, as in real billiards, is to hit the opponent's ball so that it is pushed into a pocket.

The final use of the Dash is to dodge. If an enemy ball comes rushing towards you, you can use the dash to quickly get out of the way at the last second.

Since the dash is executed in the direction you're facing, and given that the round billiard ball makes it unclear to other players which direction that actually is, it allows for driving rolling exciting and tactical maneuvers.

Represented by an orange trail

Dash: Represented by an orange trail

Pocketing / Scoring

Kills (points in Free For All mode) are achieved by knocking your opponent's balls into the pockets or off the table.
As soon as a ball leaves the playing field in this way, the last ball to make contact is awarded the point. This is reset after 5 seconds so that no undeserved points are generated.

Regardless of whether you have been pushed or have selfstroyed yourself, your own death counter goes up. This is decisive in deathmatch mode.


Stun

As soon as you have been hit by another ball with a certain force, your own ball is stunned. The length of the stun depends on the strength of the hit, up to a maximum of 3 seconds.
In this condition, you cannot move or dash normally.
If you bump into another ball while you are stunned, the original bumper that stunned you is counted as the originator of the bump. In this way, as in real billiards, balls can be pocketed over other balls.

Represented by a purple aura

Stun: Represented by a purple aura

Physics

The majority of the game tries to orientate itself as closely as possible to real physics.
The exception to this is hitting other balls. The impact force is significantly increased here, so even on a bustling pool table where all the balls are moving at the same time, you get the feeling that your own shots are having an effect.



CAMERA


A third-person-ball camera follows behind the ball.

The camera is not blocked by other balls. However, as soon as you move closer to the side railing, the camera moves closer to the ball. If you get too close, the ball becomes transparent.

TABLE EVENTS


To loosen up the gameplay, random events occur at random intervals (between 30 and 60 seconds).

Each event has an announcement phase and a execution phase.

Jump

Announcement phase

A circle effect around the ball, which slowly gets smaller.

Execution phase

All the balls are ‘pushed’ upwards at the same time. For a brief moment, air battles ensue. One perfect hit almost certainly knocks the opponent's ball off the field.

However, if you miss, you will almost certainly be sent off the field. So it's a high risk/reward situation.

In rare cases, the event can save you by giving you a final boost upwards as you fall off the table, allowing you to dash back on.

Tilt

Announcement phase

The table starts to tremble slightly.

Execution phase

The table slowly tilts to about 45° in one direction and then in the other.

The table is tilted so much that you move very slowly in one direction, but much faster in the other. As a result, most of the balls gather on one side, creating a wonderfully chaotic and dangerous situation.

Black hole

Announcement phase

The light dims and a radius marker appears on the table.

Execution phase

A black hole appears in the centre of the marking, which attracts all billiard balls in the radius. The strength of the attraction decreases towards the outside. After a few seconds, the black hole ‘explodes’ and throws all the balls away.

More and more balls gather in the centre of the black hole, but they can save themselves with a clever dash or push other balls away. The danger of it exploding and the possibility of knocking other balls away provide the decisive kick!

LOBBY LEVEL


As soon as a game has been hosted and/or you have joined a game, you are in the lobby.
In the lobby, you can already roll around with a ball and give your ball a different look.

The lobby itself is a playground for billiard balls, with loops, jumps, parkour, etc.. All the players can use them to pass the time while they wait for the last players.

The many possibilities invite you to come up with your own little tasks. For example, a duel in the loop, long jump competitions, races, etc.

The first player on the host/server can also customise the game mode and settings here.

AI-Enemies




For rounds with few players or for that extra bit of chaos, simple AI balls can be added.

These dash towards an opponent every 3-5 seconds. After every third dash, the currently targeted opponent is randomly reselected (this can also be the same opponent again).
AI balls have no “life” and always return to the playing field after a short cool-down. They cannot win the game. However, they score points for the human players if they are pushed into a pocket by them.

Ai behavior tree

30 SECONDS OF GAMEPLAY


Context and Setup

You are fighting against seven of your friends. Four have already been eliminated, leaving only you and three others. You still have two of your three lives, as do two of your opponents. One, however, still has all three lives. You are just about to concentrate on this player when the table suddenly starts to shrink.


Player Actions

00:00 - 00:05

You roll cautiously across the billiard table, while three other balls zoom around nearby. The table has already shrunk a bit, and the pockets seem closer than ever. Your direction is hard to read, allowing for some tactical maneuvers. You spot the ball with three lives and plan a targeted attack.

00:05 - 00:10

Suddenly, a warning indicator appears on the table, and the surface starts to tremble. A Tilt Event is about to happen. The other players panic and begin adjusting their positions, while you quickly back up a few perimeters.

00:10 - 00:15

The table tilts! Balls roll dangerously toward one side of the table, and all players scramble to keep their balance on the slanted surface. You use a quick Dash to get to safety, but the ball with three lives collides with you, knocking you toward the edge.

00:15 - 00:20

You’re stunned for a second, glowing with a purple aura. Before your opponent can strike again, you shake off the daze and turn to escape.

00:20 - 00:25

A marker appears on the table, and the lights dim. A black hole forms in the center! All balls are slowly drawn toward the middle. You resist the pull, rolling away and pushing another player closer to the center.

00:25 - 00:30

The black hole explodes, sending all balls flying! You barely saved by the side rail of the table. But one of the other balls you push into the black hole flies straight into a pocket. One life less for this pork cheek. And one more point for you! With two lives left and an extra point, you roll back into action, ready for the next, possibly final, 30 seconds of chaos.

OVERVIEW




Action

Controller

Keyboard+Mouse

Roll / Move

Left Stick

W, A, S, D

Control Camera

Right Stick

Move Mouse

Dash

Right Trigger

Shift

Select Skin (Lobby only)

West Button, East Button

Arrow Key Left, Arrow Key Right

Show more Information

Select/Back Button

Tab

Game Settings (Server only)

Select/Back Button

Tab

Add Local Player

Y

E

Remove Local Player

B

R

Start Game (Server only)

Start Button (hold 1 sec)

Enter (hold 1 sec)

Open Menu

Start Button

Esc

Confirm (Menu)

A

Enter / Left Mouse Button

Back (Menu)

B

Esc / Right Mouse Button

Navigate (Menu)

Left Stick, D-Pad

Move Mouse / Arrow Keys

Scroll (Menu)

Left Trigger, Right Trigger

Mouse Wheel

Previous / Next Tab (Menu)

Left Shoulder Button, Right Shoulder Button

Use Mouse

More Information (Menu)

Select/Back Button

Tab

Close Window (Menu)

Start Button

Esc

CONTROLLER



Controller layout for gameplay

Controller layout for UI

KEYBOARD



Keyboard layout for gameplay


Keyboard layout for UI



Menu Structures


From the menu you decide whether you want to host a server or you select one from the list.

You can access and adjust the settings at any time both from the main menu and in the game (by pressing Esc/Start). As this is an online game, the game is not paused.

Serverliste

Gamemode menu

HUD



The HUD is kept minimalistic and should not distract from the gameplay.
Simple messages, together with small effects and sounds, provide information about events such as the pocketing of other balls or victory.

Pocketed message

Win message

VFX



The VFX were made with the help of Unreal Engines Niagara Particle System.

Niagara Particle Editor

SKINS


The player can choose between different skins. There are the standard skins from real billiards, as well as a few extra skins.

Various techniques have been used here.

Texture Based

Textures were edited in external programmes (Krita, Inkscape), imported into Unreal Engine and mapped onto a Sphere.


Exemplary billard skin

Exemplary billard skin

LGBTQ skin

Planet skin


Procedural Based

Patterns were generated procedurally using customised shaders. This was done with the Unreal Engine Material Editor.

Many of these resulting patterns are then also animated with the help of their procedural nature.


Animated pattern skin



Overview


Billgard is developed with the Unreal Engine with Windows as the target. Special mention should be made of the integrated Chaos Physics Engine of the Unreal Engine, of which the physics-based movement makes great use.

For the local multiplayer you need standard gamepads, which is also the focus of the development. However, it can also be played very well alone with a mouse and keyboard. An adaptation for other platforms fits into the concept, but is not planned.

MULTIPLAYER


In Billgard it is possible to play locally, online and a combination of both.

This means that up to 4 players can play on each client and the server itself. However, the total number of balls must not exceed 14.
This limit is restricted for gameplay reasons (size of the map, etc.) and because of the historical proximity to real billiards (7 fulls + 7 halves).
In terms of performance, we were able to support over 30 players in tests.

SOFTWARE



Game Engine

Unreal Engine 5.3

Version Control

Git auf Github

Programming

Jetbrains Rider, C++

3D Modelling

Blender

Texturing/2D

Affinity Photo, Krita, Inkscape

Audio Middleware

Audacity, Cubase

Project Management

Codecks

Documentation

Atlassian Confluence

Communiacation

Discord

Unreal Tools

FCTween, Multigard, Utilgard

3D-MODELS


Balls:

  • Ball

Environment:

  • Billard Table

    • Corner Pockets

    • Center Pockets

    • Side Rail

    • Plane

  • Statics

    • Loopings

    • Tubes

    • Ramps

    • Windows

    • Platforms

  • Bar (Asset Pack)

SOUND


World:

  • Bar atmosphere

  • Bar music

  • Light flickering

Balls:

  • Rolling

  • Dash

  • Hit

  • Holed

Player-specific:

  • Skin switching

UI:

  • Confirm Option

  • Back/Cancel

  • Start Game

Events

  • Black hole

    • Notification

    • Black hole

  • Jump

  • Table tilt

  • Eliminated

  • Game Won

VFX


World:

  • Fireplace

Balls:

  • Stunned

  • Dash

  • Dash reloaded

  • Hit

  • Holed

Player-specific:

  • Switch skin

UI:

  • Confirm Option

  • Back/Cancel

  • Start Game

Events:

  • Black Hole

  • Jump

    • Notification

    • Jump

  • Table tilt

    • Notification

MANAGMENT


We worked in two-week (to begin with weekly) sprints.
We have also set ourselves several milestones. Each milestone was given its own MoSCoW diagram, in which the points were usually ranked higher than before.

At the beginning, Jira was used as the management tool. In the course of development, we switched to Codecks.
This has served our requirements (a much more streamlined interface and fewer functions) much better. A lot of management overhead has been reduced.


TEAM



Fred Alfs

Student ID

2622660

Responsibility

Network Programming

User Interface

Game Design

Strengths

Lots of technical experience

Weaknesses

Not a person

frederik.alfs@haw-hamburg.de

Lionel Kaplanski

Student ID

2622532

Responsibility

Environment Art

Textures

Visual Effects

Sound Design

Game Design

Strengths

Initiative

Weaknesses

works to hard, no vacation

lionel.kaplanski@haw-hamburg.de

Finn Reimann

Student ID

2619707

Responsibility

Gameplay Programming

Physics Programming

Music

Game Design

Strengths

Idea finding

Weaknesses

Presentations

finn.reimann@haw-hamburg.de

Term

Meaning

Description

Ballte Royal

Battle Royal

A battle royal with more balls.

UI

User Interface

2D Elements in front of the game giving important information to the player.

















  • No labels