A completely free, open-source, 2D game engine built on proven torque technology.

Torque Logo

Torque2D 4.0 Early Access 1

MIT Licensed Open Source version of Torque2D from GarageGames. Maintained by the Torque Game Engines team and contributions from the community.

Dedicated to 2D game development, Torque 2D is an extremely powerful, flexible, and fast C++ engine which has been used in hundreds of professional games. It is a true cross platform solution providing you access to Windows, OSX, Linux, iOS, Android, and the web - all from one codebase. It includes an OpenGL batched rendering system, Box2D physics, OpenAL audio, skeletal and spritesheet animation, automated asset management, a modular project structure, TAML object persistence, and a C-like scripting language.

What's New?

Torque2D 4.0: Rocket Edition is currently in progress. The major change with 4.0 is the addition of editors! At this time there is a working Asset Manager that allows a user to create, edit, and remove images, animations, particle effects, bitmap fonts, and audio assets. This represents a major step forward from editing xml files by hand. This is especially useful in the case of particle effects which are nearly impossible to create without an interactive tool. Expect additional refinement of this tool over the coming releases.

The Asset Manager can be reached by opening the console using the console button in the Toybox or by pressing Tilde(~) + Ctrl. You will then notice tabs along that top that include the Asset Manager.

You may also notice that we have several toys such as the Gui Editor Toy and Scene Editor Toy that are in-progress versions of future editors. These toys are not very useful yet, but we plan to develop them into full editors in coming releases.

The Rocket Edition also features a revamped Gui System! Until now it has been a common practice among those seriously using T2D to avoid the Gui System as much as possible. We aim to fix that with the Rocket Edition. Explanation of how to use the updated Gui System can be found in the wiki in the Gui Guide.

More features and editors are coming before 4.0 is official done, but new projects should make use of the Early Access version to avoid future conflicts.

Branches

Here is an overview of the branches found in the Torque2D repository:

  • master: this branch contains the current stable release code that can be used in a production environment.
  • development: this branch is dedicated to active development. It contains the latest bug fixes, new features, and other updates. All pull requests need to go to the development branch. While we try our best to test all incoming changes, it is possible for mistakes to slip in therefore this branch should always be considered unstable.
  • gh-pages: this branch currently contains the html pages generated from doxygen for the engine and TorqueScript references.

Precompiled Version

If you do not wish to compile the source code yourself, precompiled binary files for Windows and OSX are available from the Torque 2D Release Page.

Building the Source

After downloading a copy of the source code, the following project files for each platform are provided for you and can be found in the engine/compilers folder.

  • Windows: Visual Studio 2017 (works with the free Community Edition) and 2019
  • OSX: Xcode
  • Linux: Make
  • iOS: Xcode_iOS
  • Android: Android Studio
  • Web: Emscripten/Cmake

See the wiki for available guides on platform setup and development.

Batteries Included

Running Torque2D for the first time out of the box will start you off in the Toybox. The Toybox is a collection of over 30 simple "toys" (or modules) which demonstrate various features in T2D. The default toy is a side scrolling level with a monster truck. To see a list of the available modules/toys to choose from, click on the Show Tools button in the lower right corner of the screen.

Naturally all of the script code and assets for each toy are available to you in the modules folder to use as practical examples while learning T2D.

The Toybox is also an excellent framework for rapidly prototyping your own game ideas - it allows for easy integration of additional modules and provides numerous debugging features, like console access and real-time metrics.

Documentation

All documentation for the Torque2D can be found on our Github wiki page. It contains many tutorials, detailed technical information on engine systems, a script reference guide automatically generated from the source code, and articles on how to contribute to our open source development.

Community

Don't go it alone! Join the active Torque community. Ask questions, talk about T2D and general game development topics, learn the latest news, or post a blog promoting your game or showing off additional engine features in your T2D fork.

GarageGames is mostly gone, but their website still contains valuable information for those willing to search.

License

Copyright (c) 2012 GarageGames, LLC

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

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.

Owner
Torque Game Engines
A core repository for Torque Game Engines, both 3D and 2D
Torque Game Engines
Comments
  • Fix 32-bit linux builds

    Fix 32-bit linux builds

    As previewed in the x64 proposal PR, here's the results of my work to resurrect the 32-bit Linux builds.

    Screenshot from 2021-10-03 19-39-14

    Some key notes:

    • By default, a no-arg invocation of make will actually first prep a docker container with the full set of build dependencies and then run the all make target inside of it with unlimited jobs (ie, it'll use all the cores you have to give, knocking clean builds to ~45s on my desktop). This helps to reduce setup time for new devs, and is a stepping stone to automated PR builds no matter which provider we choose.
    • I had to change a LOT of the gui code, so please take a close look and make sure things still look OK to your standards there. Recent GNU compilers really don't like taking references to transient objects. I usually opted to convert these into locals, but, I can see a world where we want to do other changes instead.
    • Linux is currently not using assembly for the SSE matrix multiplication functions. I am getting fine performance on my desktop, but, we may wish to add that back eventually depending on performance needs. I really don't have a gut feel for what the hit is here.
    • We had a full clone of rapidJSON, including their unit tests and thirdparty dir, which I have purged.
    • I have not tested this on Windows, Mac, iOS, emscripten, or Android. I don't think I broke anything, but, merger beware.
    • The console appears to be broken? I see the following in the shell where I invoke T2D:
    Module Manager: Failed to scan modules files in directory '/home/casey/Repos/Torque2D-1/editor/rojectManager'. 
    Module Manager: Cannot load explicit module Id 'EditorConsole' as it does not exist. 
    Module Manager: Cannot load explicit module Id 'AssetAdmin' as it does not exist. 
    

    I have turned on edits by maintainers if you have changes you'd like to throw in there yourself. Alternatively, feel free to let me know in code review comments inline.

    If merged, we should update the wiki for the Linux Development Guide to reflect these changes. I have not worked with GitHub wikis before, and am not sure if I need permissions to do that myself or if I can do that via PR somehow.

    If you find this PR was valuable, please consider applying the hacktoberfest-accepted label to the PR so that I (and you!) may receive credit for this work. More details over at https://hacktoberfest.digitalocean.com/resources/maintainers

    Thanks!

  • Use Github Actions to build 32-bit and 64-bit Linux and Windows packages

    Use Github Actions to build 32-bit and 64-bit Linux and Windows packages

    This PR builds on https://github.com/TorqueGameEngines/Torque2D/pull/31 which, in turn, builds on https://github.com/TorqueGameEngines/Torque2D/pull/32. I'd wait until those two are resolved before merging this change. If you want to see what's unique to this PR over those other two, make sure you're only looking at the most recent commit, not the whole diff.

    Github Actions seems to be the preferred method of doing CI things these days, so that's what I've elected to do here. It's free for open-source repositories, with some usage limits detailed at https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration

    TL;DR: Whenever a PR comes in or a branch is pushed to, these two jobs will run, each of which builds and publishes a Linux variant package, stripping out the .git/ and engine/ directories to save space. If a PR build doesn't finish compiling, it will be called out directly on the PR. The resultant artifact should work mostly out-of-the-box for linux users, though we can certainly add

    An alternative that I did not consider was to have this also run when a release is made. I'm happy to add that change as well, if you prefer.

    If you find this change to be useful, please consider applying the hacktoberfest-accepted label to this PR, so that you and I both may get credit.

  • [MSVC][permissive-][std:c++latest][x86] Failed to build Torque2D on MSVC

    [MSVC][permissive-][std:c++latest][x86] Failed to build Torque2D on MSVC

    Torque2D_x86 failed to build with /permissive- or /std:c++latest on MSVC, Torque2D_x64 works fine. Could you please help look at this issue or provide some workarounds? Thanks in advance.

    Build steps:

    1. open VS2019 x86 tools command
    2. git clone https://github.com/TorqueGameEngines/Torque2D F:\gitP\TorqueGameEngines\Torque2D
    3. set CL= /permissive- or set CL=/std:c++latest
    4. mkdir F:\gitP\TorqueGameEngines\Torque2D\build_x86
    5. cd F:\gitP\TorqueGameEngines\Torque2D\build_x86
    6. set INCLUDE=F:\gitP\TorqueGameEngines\Torque2D\engine\lib\libogg\include;%INCLUDE%
    7. set INCLUDE=F:\gitP\TorqueGameEngines\Torque2D\engine\lib\libvorbis\include;%INCLUDE%
    8. set INCLUDE=F:\gitP\TorqueGameEngines\Torque2D\engine\lib\libvorbis\lib;%INCLUDE%
    9. msbuild /m /p:Platform=Win32 /p:Configuration=Release /p:WindowsTargetPlatformVersion=10.0.18362.0 "..\engine\compilers\VisualStudio 2019\Torque 2D.sln" /p:UseEnv=true /t:Rebuild /p:Outdir=F:\gitP\TorqueGameEngines\Torque2D\build_x86

    Build.log: build_permissive-.log build_cpplatest.log

    Error info: set CL= /permissive- F:\gitP\TorqueGameEngines\Torque2D\engine\source\gui\guiListBoxCtrl.h(159,35): error C2838: 'onKeyDown': illegal qualified name in member declaration (compiling source file ..\..\source\gui\editor\guiInspectorTypes.cc) F:\gitP\TorqueGameEngines\Torque2D\engine\source\gui\editor\guiInspector.cc(586,104): error C2664: 'RectI GuiControl::getInnerRect(Point2I &,Point2I &,GuiControlState,GuiControlProfile *)': cannot convert argument 1 from 'Point2I' to 'Point2I &' F:\gitP\TorqueGameEngines\Torque2D\engine\source\gui\editor\guiInspectorTypes.cc(504,107): error C2664: 'Point2I GuiControl::getOuterExtent(Point2I &,GuiControlState,GuiControlProfile *)': cannot convert argument 1 from 'Point2I' to 'Point2I &' F:\gitP\TorqueGameEngines\Torque2D\engine\source\gui\editor\guiInspectorTypes.cc(523,185): error C2664: 'Point2I GuiControl::getOuterExtent(Point2I &,GuiControlState,GuiControlProfile *)': cannot convert argument 1 from 'Point2I' to 'Point2I &'

    set CL= /std:c++latest : (Suppress by adding "/D_HAS_TR1_NAMESPACE=1 /D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING /D_HAS_STD_BYTE=0",there are other errors.) F:\gitP\TorqueGameEngines\Torque2D\engine\source\testing\googleTest\include\gtest\gtest-printers.h(559,1): error C2143: syntax error: missing ';' before '{' (compiling source file ..\..\source\testing\unitTesting.cc) F:\gitP\TorqueGameEngines\Torque2D\engine\source\testing\googleTest\include\gtest\gtest-printers.h(559,1): error C2447: '{': missing function header (old-style formal list?) (compiling source file ..\..\source\testing\unitTesting.cc) F:\gitP\TorqueGameEngines\Torque2D\engine\source\testing\googleTest\include\gtest\gtest-printers.h(718,38): error C2039: 'tr1': is not a member of 'std' (compiling source file ..\..\source\testing\unitTesting.cc) F:\gitP\TorqueGameEngines\Torque2D\engine\source\testing\googleTest\include\gtest\gtest-printers.h(719,24): error C2039: 'tr1': is not a member of 'std' (compiling source file ..\..\source\testing\unitTesting.cc) F:\gitP\TorqueGameEngines\Torque2D\engine\source\testing\googleTest\include\gtest\gtest-printers.h(728,32): error C2039: 'tr1': is not a member of 'std' (compiling source file ..\..\source\testing\unitTesting.cc) F:\gitP\TorqueGameEngines\Torque2D\engine\source\testing\googleTest\include\gtest\gtest-printers.h(731,1): fatal error C1003: error count exceeds 100; stopping compilation (compiling source file ..\..\source\testing\unitTesting.cc)

  • Updated Spine runtime version to 3.8.

    Updated Spine runtime version to 3.8.

    Also refactored from SkeletonObject to SpineObject to clear way for other potential runtimes like Creature or Flare. I don't know if/when I would get to that.

    Anyway, I had some fun with this and I hope it can be useful.

  • GCC Fails with Unordered_map

    GCC Fails with Unordered_map

    The addition of an unordered map in GuiTypes.cc in a recent check-in has lead to the Makefile to error out.

    In file included from /usr/include/c++/12.1.0/unordered_map:47, from ../../source/gui/guiTypes.h:63, from ../../source/gui/guiControl.h:42, from ../../source/2d/editorToy/EditorToySceneWindow.h:5, from ../../source/2d/editorToy/EditorToyTool.h:6, from ../../source/2d/editorToy/EditorToyTool.cc:4: /usr/include/c++/12.1.0/bits/unordered_map.h:40:37: error: ‘_Hashtable_traits’ in namespace ‘std::__detail’ does not name a template type 40 | using __umap_traits = __detail::_Hashtable_traits<_Cache, false, true>; | ^~~~~~~~~~~~~~~~~ compilation terminated due to -Wfatal-errors. make: *** [Torque2D.mk:132: Debug/2d/editorToy/EditorToyTool.cc.o] Error 1

  • Support 64-bit linux builds

    Support 64-bit linux builds

    Hi and happy Hacktoberfest! I've done a few compiler-related changes over the years and I thought I'd circle back here and see how things are going. The early access release for the rocket edition looks pretty cool and I'm excited to see T2D is still alive!

    To be upfront: I do not expect that this will merge. I am definitely making some bad calls here in the quest to just-get-building-quickly and I wholeheartedly believe there's substantial work to be done once we do get sandbox running. Moreover, I am not testing this on any other platforms yet, so I am not sure if, for instance, I'm breaking win32 anywhere (or even Linux32).

    Linux build is pretty sad. 32-bit only in 2021 is definitely not up-to-date and I'm also a little worried that the documentation on building 32 bit linux is weaker than it could be. To that end, I'm separately working on a build-in-docker solution that I think might be much more likely to merge as-is, watch out for that in a week or so.

    Happy to discuss inline in the diff any nuances I'm omitting here, but the high level bullets:

    • Split make into 32 and 64 bit directories, to preserve exactly the old config for legacy projects.
    • Refactor the 64-bit Torque2D makefile to extensively use wildcards. I noticed that the build was generally broken on files that had been deleted but not deleted from the compiler configuration, so rather than making maintainers keep up a list of the files to build, I just have the computer generate that list for us. I will note that, at the moment, emscripten and android look broken on the same issue. I removed the offending files from Make-32bit in general as I was hacking away until I got tired of pruning the list and eventually just made this change.
    • A lot of the newer GUI code has a really bad time on recent GNU compilers, largely because rvalue/lvalue issues. For instance, in engine/source/gui/guiDefaultControlRender.cc, the function renderSizableBorderedTexture() takes a number of RectI references as parameters, but the sole caller of the function is building those RectIs inline in the function call, which GCC doesn't like because the function gets a reference to a temporary, not a local. In this particular case, I was able to get it working by peeling the RectIs into locals just above the function call, but in general there's probably a more Torquey solution for the changes I made to the GUI code to get things building.
    • I had some real struggles with the Offset() macro, as recent GCC does not like trying to figure out the offset of a field in a class, only structs. The original implementation of Offset() doesn't work on 64 bit, and for the replacement I tried to use the offsetof() builtin. That "compiles" but it spews an entirely reasonable warning message about this being a GNU implementation of an undefined behavior in the standard, and as such should not be trusted. I also silenced the warning in the makefile's CC flags, because we use it a lot.

    This is not currently running, partly because the math assembly files do not work on x64 (I am tempted to find a proper C++ implementation of those functions, because I'm optimistic that we're not saving that many cycles these days), and partly because I still have work to figure out in the linker configs.

    Publishing now, with edits enabled, so we can collaborate, discuss this concept, and see if it's worth further pursuit.

    Of course, I'm doing this as a pure driveby as a former contributor, and you guys are welcome to decline if it's not in line with your current goals. If you happen to be interested in other drivebys this Hacktoberfest, you can find out how to invite participation for the project over at https://hacktoberfest.digitalocean.com/resources/maintainers - it's as simple as adding a label to the repo. If you do not decide to opt in globally, but you consider this work to be valuable to you, I would ask that you at least consider adding the hacktoberfest-accepted label to this PR, so that this work can be tracked by the festival.

    Cheers and congrats on an awesome early access!

  • OS freezes when launching Torque2D.exe

    OS freezes when launching Torque2D.exe

    OS: Windows 10, 64-bit (version: 1903) GPU: RX480 4GB (version: 26.20) Torque Version: Torque2D-3.4-win

    Issue:

    • When launching Torque2D.exe, it goes fullscreen then freezes my entire OS. Can't ctrl+alt+delete, press esc or alt-f4. Have to shut down my computer manually
  • Fix std::unordered_map bug.

    Fix std::unordered_map bug.

    Closes #42 by using the Torque-native HashMap instead of the std::unordered_map which is incompatible with the Linux platform codebase.

    Couple of other drive-bys:

    • Bump Linux builds to c++14 from gnu++11.
    • Bump Linux optimization level from -O0 to -Og.
    • Fix a latent bug where types.gcc.h uses the wrong capitalization of the LINUX symbol.
    • Fix a bug in guiMLTextCtrl stemming from the changes in 128750d883.

    On a separate commit, I also added the following drive-by which I am less married to:

    • Delete build_output.txt files which are neither code nor build config, but a compilation log from android builds.

    Once I got all these changes building, I tried out the new project button since I hadn't seen that before, which fails with:

    Module Manager: Found module: '/home/casey/Repos/Torque2D-1/library/AppCore/module.taml' but it is already registered as module Id 'AppCore' at version Id '1'. 
    Module Manager: Cannot copy module Id 'AppCore' using target directory '/home/casey/Repos/Torque2D-1/caseytest/AppCore' as directory copy failed. 
    Module Manager: Cannot copy module Id 'Audio' using target directory '/home/casey/Repos/Torque2D-1/caseytest/Audio' as directory copy failed. 
    Can't open file: /home/casey/Repos/Torque2D-1/caseytest/AppCore/module.taml 
    File IO error: No such file or directory 
    Taml::read() - Could not open filename '/home/casey/Repos/Torque2D-1/caseytest/AppCore/module.taml' for read. 
    TamlRead() - Could not read object from file '/home/casey/Repos/Torque2D-1/caseytest\/AppCore/module.taml'. 
    TamlWrite() - Could not find object '/home/casey/Repos/Torque2D-1/caseytest\/AppCore/module.taml' to write to file '/home/casey/Repos/Torque2D-1/caseytest\/AppCore/module.taml'. 
    

    Before closing, we should file the following issues for long-term tracking:

    • Technical debt: Linux doesn't build with -std=c++17.
    • Technical debt: Some standard library containers do not work on Linux platform (ex, std::unordered_map)
    • Creating new projects fails on Linux.

    (I can get to these tomorrow, just writing them down so I do not forget.)

  • Fix return of reference to temporary

    Fix return of reference to temporary

    A reference to an object on the stack was returned in GuiSpriteCtrl::applyAlignment leading to segfaults in the demo application:

    • starting the demo
    • "Open Console"
    • "Asset Manager"
    • Clicking any entry in the right menu --> segfault
  • Missing Box2D Particle stuff in Android.mk and make/Torque2D

    Missing Box2D Particle stuff in Android.mk and make/Torque2D

    Android.mk

    					../../../../../../source/Box2D/Particle/b2Particle.cpp \
    					../../../../../../source/Box2D/Particle/b2ParticleAssembly.cpp \
    					../../../../../../source/Box2D/Particle/b2ParticleGroup.cpp \
    					../../../../../../source/Box2D/Particle/b2ParticleSystem.cpp \
    					../../../../../../source/Box2D/Particle/b2VoronoiDiagram.cpp \
    
    

    make/Torque2D

    	../../source/Box2D/Particle/b2Particle.cpp \
    	../../source/Box2D/Particle/b2ParticleAssembly.cpp \
    	../../source/Box2D/Particle/b2ParticleGroup.cpp \
    	../../source/Box2D/Particle/b2ParticleSystem.cpp \
    	../../source/Box2D/Particle/b2VoronoiDiagram.cpp \
    
  • Add VS2017, macOS, iOS builds

    Add VS2017, macOS, iOS builds

    I'm about to get back into a busy period at work and wanted to get the PR builds in good shape. Unfortunately, I don't have a performant enough MacOS VM to be able to run the XCode well enough to click in and delete the broken file references and add the new files, so XCode builds are still busted.

    Per our conversation in Discord, I've also added VS2017 builds as well, though they appear to currently be busted. I probably won't be able to add VS2017 to a windows VM and get that rectified soon. :/

    I'm fighting android at the moment, but if it works well I'll add it in a separate PR.

  • Creating a New Project Fails on Linux

    Creating a New Project Fails on Linux

    The module copy function appears to fail on Linux. This uses some rare platform file and directory function that probably have gone out of date on Linux.

  • Compile gtest-all.cc failed to build on Windows with MSVC >': symbol cannot be defined within namespace 'tr1'"">

    Compile gtest-all.cc failed to build on Windows with MSVC "error C2888: 'std::tuple_size>': symbol cannot be defined within namespace 'tr1'"

    Compile gtest-all.cc failed to "error C2888: 'std::tuple_size<std::tr1::tuple<void,void,void,void,void,void,void,void,void,void>>': symbol cannot be defined within namespace 'tr1'". It can reproduces on version be8ca31. Could you please help look at this issue? Thank you very much Environment Compiler version: VS2019 (16.11.2) Operating system: Windows server 2016

    Reproduce steps:

    1. git clone https://github.com/TorqueGameEngines/Torque2D F:\
    2. cd Torque2D\engine\source\testing\googleTest
    3. mkdir build_amd64test
    4. cd build_amd64test
    5. cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_SYSTEM_VERSION=10.0.18362.0 -DCMAKE_BUILD_TYPE=Release -Dgtest_build_tests=ON -DGTEST_USE_OWN_TR1_TUPLE=0 ..
    6. set CL=/wd4996
    7. msbuild /p:Configuration=Release;Platform=x64 gtest.sln /t:Rebuild /m

    Error log: msbuildx64test.log

    Error info: 34>F:\Torque2D\engine\source\testing\googleTest\include\gtest/internal/gtest-tuple.h(711,69): error C2888: 'std::tuple_size<std::tr1::tuple<void,void,void,void,void,void,void,void,void,void>>': symbol cannot be defined within namespace 'tr1' [F:\Torque2D\engine\source\testing\googleTest\build_amd64test\gtest_main_use_own_tuple.vcxproj] 34>F:\Torque2D\engine\source\testing\googleTest\include\gtest/internal/gtest-tuple.h(747,2): error C3855: 'std::tuple_element': template parameter '_Index' is incompatible with the declaration [F:\Torque2D\engine\source\testing\googleTest\build_amd64test\gtest_main_use_own_tuple.vcxproj] 34>F:\Torque2D\engine\source\testing\googleTest\include\gtest/internal/gtest-tuple.h(759,10): error C2039: 'type': is not a member of 'std::tuple_element' [F:\Torque2D\engine\source\testing\googleTest\build_amd64test\gtest_main_use_own_tuple.vcxproj] F:\Torque2D\engine\source\testing\googleTest\include\gtest/internal/gtest-tuple.h(744): message : see declaration of 'std::tuple_element' [F:\Torque2D\engine\source\testing\googleTest\build_amd64test\gtest_main_use_own_tuple.vcxproj] 34>F:\Torque2D\engine\source\testing\googleTest\include\gtest/internal/gtest-tuple.h(759,10): error C2146: syntax error: missing '>' before identifier 'type' [F:\Torque2D\engine\source\testing\googleTest\build_amd64test\gtest_main_use_own_tuple.vcxproj] 34>F:\Torque2D\engine\source\testing\googleTest\include\gtest/internal/gtest-tuple.h(759): error C2062: type 'unknown-type' unexpected [F:\Torque2D\engine\source\testing\googleTest\build_amd64test\gtest_main_use_own_tuple.vcxproj] 34>F:\Torque2D\engine\source\testing\googleTest\include\gtest/internal/gtest-tuple.h(759,10): error C2039: 'type': is not a member of '`global namespace'' [F:\Torque2D\engine\source\testing\googleTest\build_amd64test\gtest_main_use_own_tuple.vcxproj] 34>F:\Torque2D\engine\source\testing\googleTest\include\gtest/internal/gtest-tuple.h(760,1): error C2334: unexpected token(s) preceding '{'; skipping apparent function body [F:\Torque2D\engine\source\testing\googleTest\build_amd64test\gtest_main_use_own_tuple.vcxproj]

  • Proposal: Tiled Map Editor

    Proposal: Tiled Map Editor

    Following discussion in Discord, sounded like this old branch is still useful :)

    Adds support for Tiled Map Editor map files. Needs a lot of cleanup, but, supports collision objects and injecting arbitrary script function calls.

    Got it working on Linux. Draft until I (or a volunteer) can get it working on Windows and Mac and the rest as well.

    Screenshot from 2021-10-15 00-42-32

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

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

Jun 19, 2022
A set of open c++ game development tools that are lightweight, easy-to-integrate and free to use. Currently hosting a magicavoxel .vox full scene loader.
A set of open c++ game development tools that are lightweight, easy-to-integrate and free to use. Currently hosting a magicavoxel .vox full scene loader.

open game tools Open game tools is a set of unencumbered, free, lightweight, easy-to-integrate tools for use in game development. So far it contains:

Jun 15, 2022
Vizzu is a free, open-source Javascript/C++ library for animated data visualizations and data stories.
Vizzu is a free, open-source Javascript/C++ library for animated data visualizations and data stories.

Vizzu is a free, open-source Javascript/C++ library utilizing a generic dataviz engine that generates many types of charts and seamlessly animates between them

Jun 24, 2022
Tesseract Open Source OCR Engine (main repository)

Tesseract OCR Table of Contents Tesseract OCR About Brief history Installing Tesseract Running Tesseract For developers Support License Dependencies L

Jun 18, 2022
appleseed is an open source, physically-based global illumination rendering engine primarily designed for animation and visual effects.
appleseed is an open source, physically-based global illumination rendering engine primarily designed for animation and visual effects.

appleseed is an open source, physically-based global illumination rendering engine primarily designed for animation and visual effects.

Jun 21, 2022
Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.
Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.

Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.

Jun 20, 2022
Horde3D is a small 3D rendering and animation engine. It is written in an effort to create an engine being as lightweight and conceptually clean as possible.

Horde3D Horde3D is a 3D rendering engine written in C++ with an effort being as lightweight and conceptually clean as possible. Horde3D requires a ful

Jun 22, 2022
Brand new engine with new and QoL features. Grafex is Psych engine with some additions and Better graphics

Friday Night Funkin' - Graphex Engine Credits: Grafex Mod aka Psych Graphic Rework: Xale - Lead Coding, Artist PurpleSnake - Second Coder Psych Engine

Apr 22, 2022
ORE (OpenGL Rendering Engine) is a rendering engine developed for my college minor project assessment.
ORE (OpenGL Rendering Engine) is a rendering engine developed for my college minor project assessment.

ORE (OPENGL RENDERING ENGINE) What is ORE? ORE(OpenGL Rendering Engine) is a rendering engine with great and easy to use UI that allows the user to lo

Dec 20, 2021
An integration of Live++ for Open 3D Engine

LivePlusPlus_O3DE_Gem An integration of https://liveplusplus.tech/ for Open 3D Engine (Windows only). See Open 3D Engine at https://github.com/o3de/o3

Apr 28, 2022
Wireframe rasterizer built from scratch (using MLX) in C
Wireframe rasterizer built from scratch (using MLX) in C

Fils de Fer Project Goal This project is about creating a simplified graphic “wireframe” (“fils de fer” in French, hence the name of the project) repr

Nov 20, 2021
kaun is a replacement for löve's built-in love.graphics module intended for 3D graphics

kaun kaun is a replacement for löve's built-in love.graphics module intended for 3D graphics. It is a Lua module you can require from a shared library

Apr 5, 2021
A scratch built kernel original planed to only render a Utah-teapot
A scratch built kernel original planed to only render a Utah-teapot

teapot-OS (sine wave animation) (first 3d renderer, with mouse controll) Current progress Bootloader enter 32 bit protected mode and run c code Switch

Feb 9, 2022
Cross-platform 2D and 3D game engine.
Cross-platform 2D and 3D game engine.

Urho3D Urho3D is a free lightweight, cross-platform 2D and 3D game engine implemented in C++ and released under the MIT license. Greatly inspired by O

Jun 17, 2022
Pure C Game Engine

Corange game engine Version 0.8.0 Written in Pure C, SDL and OpenGL. Running Corange is a library, but to take a quick look at some of the things it d

Jun 13, 2022
PainterEngine is a application/game engine with software renderer,PainterEngine can be transplanted to any platform that supports C
PainterEngine is a application/game engine with software renderer,PainterEngine can be transplanted to any platform that supports C

PainterEngine is a application/game engine with software renderer,PainterEngine can be transplanted to any platform that supports C

Jun 18, 2022
An Open-Source subdivision surface library.

OpenSubdiv OpenSubdiv is a set of open source libraries that implement high performance subdivision surface (subdiv) evaluation on massively parallel

Jun 18, 2022
An open-source implementation of Autodesk's FBX

SmallFBX An open-source implementation of Autodesk's FBX that is capable of import & export mesh, blend shape, skin, and animations. Mainly intended t

Jun 16, 2022
The open-source tool for creating of 3D models
The open-source tool for creating of 3D models

The open-source tool for creating of 3D models

Jun 17, 2022