/Goat2d

C++ game framework based on SDL2 and special architecture.

Primary LanguageC++MIT LicenseMIT

Goat2D

Game framework written in C++.

Report Bug
Request Feature
Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

I started this framework because of realisation that SFML is not enough to write a game, because you need architecture. That's the only one reason i deicided to write this framework, also i think there is only one user - me. I write it mainly for my own purposes, it would be a pleasure to find someone else who finds this project useful for game development.


This framework is made of 2 parts: core and framework itself. These parts are namespaces actually and they contains really different things. Core is just an overwrapper of SDL libraries, but Framework contains all classes related to game architecture( or my vision of architecture).

Built With

  • SDL2
  • SDL_TTF(optional)
  • SDL_IMG(optional)
  • SDL_mixer(optional)

Projects that used Goat2d

Getting Started

Installation

On your own

To build framework on your own, you need to get SDL2 and additional libraries for images, ttf, audio if you use them. To get all information about these libraries follow SDL2's official site. Or you can follow Lazy Foo's tutorials to find out how to build all required libraries. After SDL2 and all related libraries are built you should correctly link them to your project with Goat2d or you can statically build goat2d with all libraries.

With install.py

Following this way, you should clone this repo first and then run install.py. To properly run this script cmake and unzip applications are required. You can use this script to get SDL and all additional libraries. This script can be used to download SDL2, SDL_image, SDL_ttf and other additional libraries.

Versions and related features

Note: i can add new features to next version's list as time goes by.

Version 0.1(current)

  • Creation of basic window without icon and ability to resize dynamicly and without ability to set Fullscreen
  • Ability to render basic primitive shapes: Rectangles, Points, Lines
  • Ability to load and render images in form of textures(for available image formats, check out SDL_IMG official site)
  • Ability to load TTF fonts and render texts
  • Ability to process keyboard events
  • Set of basic classes to implement Scenes, Events
  • Add doxygene generated documentation
  • automated script to configure framework(install all dependencies)

Version 0.2

  • Creation of fully customized window with icons, dynamic resiing and fullscreen
  • mouse events support
  • audio processing
  • sprite tileset processing
  • Camera
  • Timer
  • Standard default colors available as def-macros

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Ian(mainteiner) - haskel.lisp@yandex.ru

Additional notes