Coder Social home page Coder Social logo

quillraven / quilly-crawler Goto Github PK

View Code? Open in Web Editor NEW
31.0 3.0 8.0 42.88 MB

A small Dungeon Crawler game with a round based fighting system written in Kotlin using LibGDX.

License: MIT License

Kotlin 100.00%
libgdx libktx kotlin dungeon-crawler-game

quilly-crawler's Introduction

Quilly Crawler

Build Master Kotlin LibGDX LibKTX

Quilly Crawler will become a small dungeon crawler game with a round based fighting system using Kotlin and LibGDX. It uses other open source libraries like LibKTX, Ashley, Gdx-AI, Box2D or Gdx-Controllers.

Until it is finished, I will stream every weekend on twitch. Also, a VLog will be uploaded every sunday on my YouTube channel. If you are interested, please feel free to subscribe :)

Controls

Quilly Crawler supports keyboard and XBox Controller input.

Keyboard:

  • Arrow keys for navigation / movement
  • Space for any selection
  • Escape for cancel a selection / menu
  • I to open the inventory

XBox

  • Left joystick for movement
  • Analog pad for navigation
  • A for any selection
  • B for cancel a selection / menu
  • Y to open the inventory

About the game

image

Quilly Crawler is a dungeon crawler game where you play an old man and go deeper and deeper into an endless cave. Every level contains enemies that you can fight, chests that you can loot, a shop to buy and sell items and a reaper who can set you back in the dungeon if it gets too hard.

image

The combat is a round based system where every entity is executing a single order per turn. The order is defined by the agility of an entity. As a player you can either attack, use an ability or use an item. There are offensive abilities like a Firebolt but also defensive abilities like a Heal or Protection ability. In addition some abilities will add a buff like the Protes ability which reduces physical damage by 50% for three turns.

image

I have only added a few levels, enemies and items to the game. Feel free to fork this project and add your own content. If you have any questions, don't hesitate to ask and use the Discussions for it.

Credits

quilly-crawler's People

Contributors

quillraven avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

quilly-crawler's Issues

Outline Shader textureSize function does not work on some machines

vec2 pixelSize = 1.0 / textureSize(u_texture, 0).xy;
Exception in thread "main" com.badlogic.gdx.utils.GdxRuntimeException: Could not compile shader 'commonsOutlineShader': Fragment shader:
0(16) : error C7532: global function textureSize requires "#version 130" or later
0(16) : error C7011: implicit cast from "ivec2" to "vec2"

https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/textureSize.xhtml

Workaround would be sending the texture size as uniform but we need to be careful as this is requiring a flush and therefore it should be ideally only happen once per frame / texture binding.

UI Lists are not scrollable and Single-Target Commands for player entities cannot be cast on self

refer to image below:

  • abilities should be scrollable and always within the tables content area. This fix also needs to be applied to the InventoryView
  • Heal is selected which can only be cast on enemies. The AI is correctly casting it on allies since it is a Defensive/Supportive Command but the CombatUI doesn't support that. We should check if it is a Defensive/Supportive ability and then allow the selection of a player entity. If it is only one then the selection is not needed and it can be cast immediatly

image

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.