GithubHelp home page GithubHelp logo

avatarchik / dragonskulle Goto Github PK

View Code? Open in Web Editor NEW

This project forked from h33p/dragonskulle

0.0 1.0 0.0 37.79 MB

Online 3D Strategy Game Made With Vulkan+Java

License: MIT License

Java 96.12% GLSL 0.87% JavaScript 1.53% CSS 0.06% Python 1.32% Shell 0.05% Batchfile 0.05%

dragonskulle's Introduction

Hex Wars

University of Birmingham Computer Science team project.

This is our second year team project - a Vulkan and Java powered online 3D strategy game.

This game runs on Linux and Windows, where Vulkan is available.

macOS support is untested, as at the time we did not have hardware access. However, it should in theory run thanks to MoltenVK.

Running

To compile and run the project, maven is required. Executing this command will run the game:

mvn clean compile exec:java

To build a portable JAR, execute the build script:

./build_all_jar.sh

The runnable JAR will be generated in game/target/ subdirectory.

Documentation

Generate Javadocs using this command:

mvn clean site

This will also generate additional maven site, which is not relevant for the purpose, but here are the important file paths:

engine/target/site/apidocs/index.html - for engine documentation.

game/target/site/apidocs/index.html - for game documentation.

Additional documentation is available in the docs subdirectory, containing more detailed guides for a few of our systems and workflow.

Other important maven goals

  • spotless:check - checks whether the code is formatted properly.
  • spotless:apply - formats the code.
  • checkstyle:check - additional documentation checks.

Updating assets

If Blender are updated, it is necessary to regenerate the glTF assets. On Unix systems, run this script:

./blend2gltf.sh

On Windows, run the wblend2fgltf.bat script.

Environment variables

Additional environment variables can be set before running the game to set low level renderer settings.

TARGET_GPU=<substring> will only pick a GPU that has the substring as part of its name. Examples:

TARGET_GPU=RADV will use AMD GPU on Linux.

TARGET_GPU=llvm will use the lavapipe software renderer.

TARGET_GPU=Intel will use the Intel GPU on Linux.

TARGET_GPU=NVIDIA will use the Nvidia GPU.

Setting DEBUG_RENDERER=true will enable Vulkan validation layers (Vulkan SDK required). LOAD_RENDERDOC=true will attempt to load renderdoc library.

dragonskulle's People

Contributors

craig-r-w avatar h33p avatar lmuppala724 avatar low101043 avatar madmin3r avatar olindenbaum avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.