Giter Club home page Giter Club logo

2d-game-go's Introduction

2D Game with Go and Raylib

This project is being used to learn Go features in combination with the Raylib game programming library and the Entity-Component-System (ECS) framework.

Dependencies

Raylib: A simple and easy-to-use library to learn and enjoy video games programming. Raylib is highly inspired by Borland BGI graphics lib and by XNA framework. The library provides a simple and intuitive interface towards a set of powerful tools, allowing for the development of both complex and simple games and applications.

Project structure

  • components
  • core
  • systems
  • constants
  • main.go

components - Contains the Component definitions. In an ECS paradigm, a Component is a data structure that holds the attributes of entities. It does not contain any behavior. For example, a Position component might contain "x" and "y" attributes. core - Core is where essential game functions and structures are defined. This could include the game loop, initialization and shutdown routines, and any utility or helper functions that aren't part of a game entity's behavior. systems - Contains the System implementations. Systems in ECS are where the behavior logic lives. They operate on Components, reading and writing their data. For example, a Movement system might use the data in the Position and Velocity components to update an entity's position over time. constants - Contains some commonly used attributes like colors entities - Contains factories and builders for game entities main.go - Main application entry point.

2d-game-go's People

Contributors

ivandrenjanin avatar

Watchers

 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.