Skip to content
This repository was archived by the owner on Mar 19, 2022. It is now read-only.

engteam14/yorkpirates

Repository files navigation

York Pirates!

York Pirates!

A University of York Computer Science Engineering 1 group project.

Move around the lake and fight opposing colleges!

  1. The Game
  2. The Code
  3. Downloads
  4. Team Members
  5. Attribution

The Game

Animated Title Screen

Title Screen

Application comes with a main screen, where you can enter a name of your choice, start the game, and view our wonderful title graphic!


Dynamic Tutorial

Tutorial

Our game begins with a tutorial to show even the least inventive player just how to get 100% out of York Pirates!


Fluid Goal Indicators

Indicators

In addition to our seamless movement, the game contains indicators so that you're never lost in our wonderfully crafted map environment!


Fast Paced Combat!

Combat Combat

Engage in fierce and engaging combat against colleges that feature individually processed projectiles to keep you on your toes!


Game Over...

Game Over

No punches (or in this case cannonballs) were pulled during the making of this game, and player death is implemented and possible!


Player Tasklist

Tasks

In addition to allowing inferior foes to join your ranks (complete with full image and palette swaps!), defeating colleges and other commendable tasks award you with well-earned loot!


Game Win!

Game Win

Once all the colleges are captured and you are as satisfied with the gameplay experience as you are with our code, return to your home college to win the game (and pick our code to win at life)!


The Code

Sprite2D.UI

We use LibGDX Sprite2D's UI system to allow User Interface and Heads Up Display (HUD) to be easily rendered and customised.

// Make a table
Table table = new Table();
table.setBackground(skin.getDrawable("Background"));

// Create widgets
Image title = new Image(titleTexture);
ImageButton button = new ImageButton(skin, styleName: "Restart");

// Add widgets to table
table.add(title).expand();
table.row();
table.add(button).expand();

But that's not all...

Debug Mode

Featuring a UI debug mode! All at the flip of a boolean.


ScreenAdapter

To make managing the project easy, we use LibGDX's ScreenAdapter. This package allows many screens for both gameplay and menus to be easily put together and organised as their own classes. The easiest way to get the best project structure!

public class ScreenName extends ScreenAdapter {
    
    public ScreenName() {
        // Initialise the screen
    }
    
    @Override
    public void render(float delta) {
        // Called every frame
        // Perform calculations
        // Render graphics
    }
    
    @Override
    public void dispose() {
        // Dispose of assets when done to improve performance
    }
}

TiledMap

Using LibGDX's package for Tiled maps is the easiest way to rapidly produce gameplay levels. The software Tiled can be used to produce levels, with easy to use wide-ranging functionality, it's the industry's best for a reason!

Tiled

Maps from Tiled can be easily imported into LibGDX, and we've even implemented our own collision system around it - ready out of the box!

Downloads

The most recent version of the game can be downloaded from the releases tab.

Team Members

Attribution

About

Engineering 1: Team Assessment 1

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages