Open-source, cross-platform, C++ game engine for creating 2D/3D games.

Overview

GamePlay v3.0.0

GamePlay is an open-source, cross-platform, C++ game framework/engine for creating 2D/3D mobile and desktop games.

Supported Platforms

License

Open-source under Apache 2.0 license.

Bug Reporting

Please log bugs under Issues on github.

Disclaimer

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Issues
  • Added support for Texture Cubes

    Added support for Texture Cubes

    DDS and PVR loading supports texture cubes. FrameBuffer::createScreenshot lets you choose the format (RGB or RGBA)

    Unlike prior pull requests for this branch, the sample app now works.

    opened by rcmaniac25 25
  • Added support for Texture Cubes

    Added support for Texture Cubes

    DDS and PVR loading supports texture cubes. FrameBuffer::createScreenshot lets you choose the format (RGB or RGBA) Added Texture::setData so that it is possible to set change texture data after the texture has been created.

    opened by rcmaniac25 15
  • Encoder support for Tiled (*.tmx) to Gameplay Scene (*.scene) conversion

    Encoder support for Tiled (*.tmx) to Gameplay Scene (*.scene) conversion

    Support for "gutter" or "skirt" conversion of tileset to avoid gaps in tiles from using non-Nearest texture filtering. Added *.scene support for "enabled" property on Nodes.

    Last part of (initial) #1650 feature request.

    opened by rcmaniac25 14
  • Corrected some calls to old functions of the FBX API

    Corrected some calls to old functions of the FBX API

    These functions are not in the FBX API anymore (2014.2). It compiles thanks to these changes but I'm not sure this is correct since I don't know the FBX API. Please check and correct.

    opened by ymollard 11
  • Use glyph metrics for spacing.

    Use glyph metrics for spacing.

    Currently the characters are spaced using their bounding width and fixed size. That can look very bad with some fonts. Using appropriate metrics given by FreeType library looks much better.

    This changes the GBP file format by adding two fields to the TTFGlyph structure. Is such change acceptable? Is anything else required for it?

    Illustration of the change with Chopin Script: http://www.dafont.com/chopin-script.font font-spacing-comparison

    opened by michalsrb 10
  • Fixed Font reference usage in Text

    Fixed Font reference usage in Text

    Fixed issue where Text would reference internal members of Font, and try to release them. Release Font in SpriteSample. Converted tabs to spaces in SpriteSample.

    Fix for #1706

    opened by rcmaniac25 9
  • Fix encoder spot light angle conversion

    Fix encoder spot light angle conversion

    Light inner/outer angles are already in radians, no need to convert again when writing out. This fixes light nodes having bogus inner and outer angles when loading from a .gpb that was generated from a .fbx.

    This is only a step in the right direction though; when exporting a light from, say, blender, the inner and outer angles are written into the file, however gameplay-encoder only reads in the outer angle (called falloffAngle) and then computes an estimated inner angle. Should I submit a PR to read in the true inner and outer angles from the .fbx?

    An example .fbx with the inner and outer angles present is here. I am specifically referring to the spot node.

    opened by staticfloat 9
  • Fixed bug in Effect.cpp where glGetActiveUniform is called with a wrong parameter

    Fixed bug in Effect.cpp where glGetActiveUniform is called with a wrong parameter

    Fixed bug in Effect.cpp where the OpenGL function glGetActiveUniform is called with a wrong parameter, causing an assertion failure on some graphic cards.

    opened by olee 8
  • Added -g:auto and -g:off options to gameplay-encoder

    Added -g:auto and -g:off options to gameplay-encoder

    As the title says I was trying to automate my asset pipeline and was having trouble because of the prompt to group animations. I wanted to enable the option from the command line. To address this issue I have added two new command line options -g:auto and -g:off. If either option is set then the encoder does not prompt. If neither option is set then the encoder will prompt as normal.

    opened by noggs 8
  • Mac cmake support

    Mac cmake support

    I added support to build the library and the samples using CMake. Among other things, this allows to checkout the code with CLion and compile it directly out of the box. I have tried to make sure that my modifications result in no changes if not used under Mac OS X but have no way to test all cases.

    opened by FunMiles 7
  • Next

    Next

    I tweaked the Windows Visual Studio projects just a bit. Some files (*.conf) were not part of the VS project that IMO should be; also I added a build dependency (reference) on the gameplay project from the sample projects.

    opened by cx 7
Owner
gameplay3d
GamePlay is an free, open-source, cross-platform, 2D/3D game framework.
gameplay3d
MAZE (My AmaZing Engine) - 🎮 Personal open-source cross-platform game engine

MAZE (My AmaZing Engine) is the self-written open-source cross-platform game engine in the active development stage. At the moment it is my main pet project, developed for the purpose of learning and preserving different game dev technologies.

Dmitriy Nosov 11 Jan 9, 2022
One framework for creating powerful cross-platform games.

MonoGame One framework for creating powerful cross-platform games. The spiritual successor to XNA with thousands of titles shipped across desktop, mob

MonoGame 8.5k Jun 24, 2022
KlayGE is a cross-platform open source game engine with plugin-based architecture.

KlayGE KlayGE is a cross-platform open source game engine with plugin-based architecture. It's started since 2003. The explicit goal of KlayGE is: to

Minmin Gong 1.7k Jun 22, 2022
Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU

Panda3D Panda3D is a game engine, a framework for 3D rendering and game development for Python and C++ programs. Panda3D is open-source and free for a

Panda3D 3.4k Jul 2, 2022
TrenchBroom is a modern cross-platform level editor for Quake-engine based games.

TrenchBroom is a modern cross-platform level editor for Quake-engine based games.

TrenchBroom 1.2k Jul 1, 2022
Project DELTA - An open-source trainer built on the Void Engine for Toby Fox's games and their spin-offs.

Project DELTA v3 Project DELTA - An open-source, modular mod menu for Toby Fox's games and their spin-offs. Important note to Grossley: Yes, it is out

Archie 7 Apr 20, 2022
OpenMW is an open-source open-world RPG game engine that supports playing Morrowind.

OpenMW is an open-source open-world RPG game engine that supports playing Morrowind.

null 4.3k Jun 26, 2022
Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World.

OpenXRay OpenXRay is an improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. S

null 2k Jun 29, 2022
Minetest is an open source voxel game engine with easy modding and game creation

Minetest is an open source voxel game engine with easy modding and game creation

Minetest 7.2k Jun 22, 2022
YYToolkit is a tool for creating mods and altering GameMaker games.

YYToolkit is a tool for creating mods and altering GameMaker games.

Archie 29 Jun 10, 2022
VERY simple cross-platform C++ analytics for games (using Google Analytics)

Tiniest Analytics is a very simple to use, cross-platform (tested on win/osx/linux/ios/android) and basically very tiny analytics system written in C++ (less than 100 lines of code), made specifically for games. It uses libcurl to post events to your Google Analytics account.

Mihai Gosa 95 Jan 31, 2022
A cross-platform 2D game engine

nCine nCine is a cross-platform 2D game engine. It is released under the MIT License, Copyright (c) 2011-2021 Angelo Theodorou. For additional informa

nCine 703 Jul 1, 2022
A powerful free cross-platform RTS game engine

Spring RTS game engine README Spring (formerly TASpring) is an Open Source Real Time Strategy game engine. Visit our project homepage for help, sugges

Spring RTS 2.6k Jun 25, 2022
CSEngine is a cross-platform 3D game engine.

CSEngine - Cross Platform C++ Game Engine CSEngine is a cross-platform 3D game engine. ?? As it is under development, it is not yet suitable for pract

ounols 45 Jun 27, 2022
Intrinsic is a Vulkan based cross-platform game and rendering engine

Intrinsic is a Vulkan based cross-platform game and rendering engine

Benjamin Wrensch 1k Jul 1, 2022
Free, cross-platform 2D game engine powered by Haxe and OpenFL

flixel | addons | ui | demos | tools | templates | docs | haxeflixel.com Links Here are the most important links to get you started with HaxeFlixel: G

HaxeFlixel 1.6k Jun 28, 2022
Godot Engine – Multi-platform 2D and 3D game engine

Godot Engine 2D and 3D cross-platform game engine Godot Engine is a feature-packed, cross-platform game engine to create 2D and 3D games from a unifie

Godot Engine 50.4k Jul 3, 2022
Flax Engine – multi-platform 3D game engine

Flax Engine – multi-platform 3D game engine

Flax Engine 3.4k Jul 1, 2022
The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript

The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript

null 2.7k Jun 19, 2022