Giter Site home page Giter Site logo

bitbrain / godot-gamejam Goto Github PK

View Code? Open in Web Editor NEW
480.0 12.0 18.0 2.52 MB

๐Ÿค– Godot Engine 4 template to better get started for gamejams with your 2D or 3D game!

License: MIT License

GDScript 100.00%
godot godot-engine godot4 godotengine

godot-gamejam's Introduction

godot-gamejam

๐Ÿค– Godot Engine 4.0 template to better get started for gamejams with your game!

๐Ÿงช Features

๐ŸŒŒ Game Settings

This template project comes with game settings out of the box:

  • Audio volume (Master, Sound, Music)
  • Game Language (English only by default)

โœจ Bootsplash scene support

Either use the default Godot bootsplash or define your own logo bootsplashes!

๐ŸŽฉ Basic menu flow (main menu, settings, pause)

This project comes with basic menu navigation that allows you to navigate between ingame, settings and quitting the game.

๐Ÿ’พ Save Game Integration

Automatically saves the state of the game on exit. Starting a new game overrides the existing save game. Any game object that needs to be saved has to be part of the "Persist" group.

๐ŸŒŽ Translation support (i18n)

Comes with pre-defined translations that can be extended.

โธ Pause Menu

The IngameScene supports a pause menu to temporarily pause the game.

๐Ÿš€ Automatic itch.io deployment

This templates comes with automatic deployment to itch.io for MacOS, Windows, Linux and HTML5 (Web). Delete .github/workflows/godot-ci.yml in case you are not interested in deploying to itch.io!

  1. generate new API key in your itch.io settings and setup your BUTLER_API_KEY secret - learn more
  2. create a new game on itch.io
  3. setup ITCHIO_GAME and ITCHIO_USERNAME secrets in Github and assign them to your itch.io username and game name

See working example here

๐ŸŽฎ Getting started!

  1. Click Use this template in Github (learn more about Template Repositories)
  2. Open the project in Godot Engine 4
  3. Customize it to your needs (see ๐Ÿงฑ Customization)
  4. Open the IngameScene and start building your game!

๐Ÿ”Œ Compatible Gamejams

Not all gamejams allow project templates! Please make sure to carefully read the gamejam rules before using this project, otherwise you might risk being disqualified!

Down below is a list of some compatible gamejam formats that permit using this repository as a template:

๐Ÿงฑ Customization

This project is built to be as generic as possible and it can be fully adjusted to your needs.

Defining custom UI theme

Search for the file theme.tres and open it. The Godot theme editor should appear. Feel free to customise the UI to your needs. Any Control node will use this theme by default:

custom-theme

Choosing 2D vs 3D

This toolkit is not limited to either 2D or 3D. It has been kept vague on purpose so feel free to build 2D or 3D scenes with it!

Custom boot splash

Within Godot Engine, head to scenes/boot to access boot splash scenes. You can create your custom bootsplash by either modifying GodotBootsplashScene or creating a new node of type Control. Add BootsplashScene as a child and configure its properties as follows:

  • Fade Duration - the amount of time in milliseconds to fade in/out the bootsplash.
  • Stay Duration - the amount of time in milliseconds the bootsplash should stay.
  • Node - the node/scene that should be displayed during the bootsplash.
  • Next Scene - the next scene that should be loaded after the bootsplash has finished.
  • Interruptable - wether the bootsplash is interruptable or not.

Add new translation

You will find a translation file in i18n/translation.csv. Feel free to extend it to your needs. Godot will automatically pickup the translations if you use them inside your control nodes like Button or Label. In case you need to manually translate something in a script, call the tr() function.

In case you want to add a new language, add a new column to the translation.csv file.

Game Settings

The game settings are managed in UserSettings.gd. You can change the defaults by updating USER_SETTING_DEFAULTS. You can also add additional properties to extend them.

The GameSettings node and the GameSettings.gd script connects to the UserSettings by setting it/loading from it.

Save game configuration

By default, save games are enabled. You can toggle support for save games inside SaveGame.gd by changing the ENABLED property.

The save game saves any node inside the IngameScene that is part of the Persist group (learn more about groups in Godot). The save game system will save existing nodes but also nodes that were dynamically added to the scene at runtime!

Currently, the game will only save the scene when exiting the game via the pause menu.

๐Ÿป Contributing

Feel free to raise a pull request or suggest any changes or improvements you would like to see!

๐Ÿฑโ€๐Ÿ’ป PLEASE NOTE: this project is a template and any contribution should only introduce/extend features that are template related. If something can be its own addon (e.g. movement controller or specific 2D/3D stuff) it probably should be its own (separate) addon.

godot-gamejam's People

Contributors

2nafish117 avatar bitbrain avatar fonkins 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

godot-gamejam's Issues

How to pixelart

Add a How-To section in the README specifically for pixelart games, as they require additional configuration. Perhaps even provide an alternative theme.tres better suited for pixelart games/smaller viewports.

Fix Path issues

Just as a heads up you still have some filenames that start with a capital letter.

I'm a git noob or I would submit a pull request.

In particular thought, in the ui/components/Bootsplash.tscn scene, this is what you have:

[ext_resource type="Script" path="res://ui/components/bootsplash.gd" id="1_3allk"]

It should be `.../Bootsplash.gd' so either those files should be lower case or this b needs to be capitalized.

Improve default look-and-feel of UI

The current theme is quite basic and relies mostly on the defaults provided by Godot. However, it could be greatly improved with the following:

  • custom UI graphics based on vectors (.svg)
  • better font
  • updated colours to reflect Godot theme #353D51 background, #468BBF foreground

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.