Giter VIP home page Giter VIP logo

godot-match-3's Introduction

Godot Match 3 puzzle game
Learn to create a game like Candy Crush

Godot Match 3 game

Note that this project's code is based on another project, but purposely not forked from the original repository, since this project is only used for educational purposes.

Mission

Our mission is to bring game creators together and to become better game developers.

Goals

  • Learn game development with Godot, GDScript, C#
  • Help and learn form other game creators
  • Develop fun and polished games and demos

Do you want to contribute and help improve your own and our game development skills with Godot? Check out the open issues, suggest improvements and report bugs by opening new ones. ๐Ÿ˜Ž

Project Scope

We are building a vertical slice demo that the community can learn from. More details will follow later.

Support Us

We need your support to improve our programming skills, if your a experience programmer or game developer, consider contributing to the project.

Contributing Guidelines

All contributors are welcome. ๐Ÿ™‚

  • Get in touch and communicate! Let us know what you are working on or report bugs using the issues tab. Join our Discord server to discuss the project live or to get in touch with the community
  • Be respectful to everyone around. Please check out the this Code of Conduct from Contributor Covenant.
  • For code, we follow the GDScript styleguide. We try to write clean and self-documenting GDScript as it helps us build upon each other's work. We use static typing to write more robust code and get full autocompletion in Godot.
  • The maintainers may refactor or tweak your code to make it fit the project's style, and for educational purposes. But we'll give you the opportunity to refine the style by yourself. ๐Ÿ˜„

License

This project is licensed under the terms of the MIT license.

godot-match-3's People

Contributors

blikoor 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

Watchers

 avatar  avatar

godot-match-3's Issues

Best scalable UI solution for most android devices

Is your feature request related to a problem? Please describe.
Scaling to fit the whole scene, will result in possible black borders on different aspect ratios.

Describe the solution you'd like
I want the best possible scalable UI appropriate for the project. The UI elements should keep their relative positions and scale or stretch appropriately.

Describe alternatives you've considered

  1. The unused space (black borders), can be used for a larger background image to display additional content that is outside of the logical scene and thus only visible on devices that have a different aspect ratio.

  2. Change project setting to Stretch Mode: 'viewport' and Stretch Aspect: 'expand'. Anchor the UI elements in position, relative to the parent node.

  • Results: The UI elements keep their position relative to the parent node, but can overlap when scaled down. Texture stretching can occur when scaled up, using a NinePatchRect instead of a TextureRect solve this issue.

  • Error(s): _update_root_rect: Font oversampling does not work in 'Viewport' stretch mode, only '2D'. <C++ Source> scene/main/scene_tree.cpp:1236 @ _update_root_rect()

  1. Use the previous project settings. Place each top UI element in a GridContainer, all GridContainers inside a HBoxContainer, and anchor the HBoxContainer relative to the parent node.
  • Results: The top UI elements keep together, the container keep its position relative to the parent node. However, the HBoxContainer end up being lager than the logical scene width of 576 px and needs to be scaled, but UI elements are undersized.

  • Error(s): _update_root_rect: Font oversampling does not work in 'Viewport' stretch mode, only '2D'. <C++ Source> scene/main/scene_tree.cpp:1236 @ _update_root_rect()

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.