Skip to content

crystal-bit/defending-todot

Repository files navigation

game logo

Defending Todot it's an open source tower defense game inspired by Kingdom Rush.

It's a fork of crystal-bit/hacktoberfest-2020 made to continue the development of the game after the event.

The project is made with the open source Godot Engine v3.2.3.

🎮 Play it now

Discuss with the community

Discord

Join the Discord server

"How can I contribute?"

You can:

  • Open a new issue: do you have an idea for the gameplay? Do you want to suggest an improvement? Do you want to create new assets like sprites, sounds, effects,...? Did you find a bug? Open a new issue and let other developers know.
  • Take an issue: work on existing issues. Read below for guidelines.

How to take an issue ⤵️

  1. ➡️ Write a short message in the issue itself to notify others that you are working on it. (I'll assign the issue to your Github user)
  2. ➡️ Ask for help if you have any doubt.
  3. ➡️ Happy coding! I hope you will learn a lot during the process!

I hope these rules will help everyone having an enjoyable Hacktoberfest.

How to appear in the game credits

Before making a pull request, consider adding yourself to the credits.gd script so that you will appear in the game credits!

Project conventions

Lower case letters only for filenames

To avoid issues when multiple contributors are working on the same project across various file systems and operating systems. See more details here.

Node names

Use CamelCase style for node names.
This is the default style used in Godot and, moreover, it's easier to reference node names which don't have dash symbol or whitespaces in their name (see this comment)

Code style

There are no strict requirements on code style, but try to be consistent with the code that you'll find.

Ideally the code should follow the official GDScript style guide.

For the order of variables, signals, functions, please follow this order (simplified from GDQuest's guidelines):

1.  Extends and class_name
2.  """docstring"""

3.  Signals
4.  Node dependencies
5.  Constants
6.  Variables (properties)

7.  Built-in virtual callbacks (eg: \_ready, \_input, \_process, ...)
8.  Signal callbacks (eg: on_button_pressed, on_area_entered, on_body_entered, ...)
9.  Methods

Reference Kingdom Rush gameplay

License