Code Monkey home page Code Monkey logo

godot-jam-template's Introduction

Game Jam Template & Addons

There are no examples and barely any documentation, so use this at your own risk

I'm planning to properly document this at some point, but for now it's mostly for personal use

If you dare to try you can either:

  • Clone the repo and use it as a template
  • Clone the repo and add copy individual addons from the addons folder into your project

MenuManager

A template for the main menu, options menu with volume settings and pause menu

Features

  • MenuContainer and MenuContent
    • Use MenuContainer to switch between MenuContent
    • MenuConten extends the Control node, so you can put anything you like inside it
    • Set a default MenuContent on a MenuContainer
    • Inside MenuContent you get a handle to the MenuContainer that you can use to switch MenuContent
      • See MenuContentButton and MenuBackButton for an example
    • It keeps track of previous MenuContent, so you can easily go back to the previous content
  • PauseMenu
    • Extends MenuContainer
    • Add it to a scene where you want the game to be pausable. The content is hidden when the game is not paused
  • Buttons
    • MenuBackButton - go to a previous MenuContent or unpause the game when it was paused using PauseManager
      • You need a refference to a MenuContent to use it, so only use it inside of a MenuContent
    • MenuContentButton - change content to a new one
      • You need a refference to a MenuContent to use it, so only use it inside of a MenuContent
    • MenuSceneButton - change scene
  • VolumeSlider
    • A slider that you can set to control any Audio Bus

InputBuffer

A simplified version of this addon: johnnyneverwalked/godot-input-buffer

Project Settings

Before using the addon โ€” you need to set actions that will be buffered in the project settings

  • input_buffer/input_buffer/buffer_ms
    • How long the action will be buffered. In milliseconds
  • input_buffer/input_buffer/action_list
    • A list of actions that will be buffered

Features

  • InputBuffer Autoload
    • is_action_buffered(action: String) -> bool
      • Check if the action is buffered
    • is_action_buffered_or_pressed(action: String) -> bool
      • Check if the action is buffered or currently pressed

Utility

Features

  • fi_lerp(speed: float, delta: float) -> float
    • A formula for framerate independent lerp
    • Example: lerp(..., Utility.fi_lerp(15.0, delta))
    • Average recomended speed value is around 10.0 - 20.0
  • disable_collisions(node: Node) -> void and enable_collisions(node: Node) -> void
    • Loop through children of the node and enable/disable all the collisions

CommonComponents

A collection of common components for an action game:

  • Health Component
  • Hitbox Component
  • Hurtbox Component
  • Hit Flash Component
  • Velocity Component
  • Interaction Component
  • Interaction Manager

MusicManager

Play music. Stop music. Fade music. Change music with a fade

Features:

  • MusicManager Autoload
  • MusicRequest Node

VfxManager

Features:

  • Camera Shake
  • Screen Flash
  • Screen Fade
  • Freeze Frame

SceneManager

Features

  • SceneManager Autoload
    • Has same methods as SceneTree for changing scenes
    • Uses VFXManager screen fade

Other addons

Godot Quick Scenes by KoBeWi

BMOD by Me

Project Template

  • Change Default Audio Bus
  • Main Menu Ccene
  • Main Game Scene
  • Project Structure
  • Enforce Static Typing
  • Vignette Shader
  • Hit Flash Shader
  • Prototype Assets
  • Particle Assets
  • Limit FPS to 60 in order to prevent jittering
  • Window Settings

godot-jam-template's People

Contributors

toldoven avatar

Stargazers

Damir Modyarov avatar  avatar

Watchers

 avatar  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.