All Projects → turesnake → Tprpix

turesnake / Tprpix

Licence: bsd-3-clause
a Cross-Platform, 2D Survival Sandbox Game Project. Based on C++17/cmake/OpenGL/SQLite3.

Programming Languages

cpp
1120 projects
cpp11
221 projects
cpp17
186 projects

Projects that are alternatives of or similar to Tprpix

Engine
A basic cross-platform 3D game engine
Stars: ✭ 208 (-53.57%)
Mutual labels:  cmake, game, opengl, cross-platform
Arxlibertatis
Cross-platform port of Arx Fatalis, a first-person role-playing game
Stars: ✭ 602 (+34.38%)
Mutual labels:  cmake, game, opengl, cross-platform
Skui
Skia-based C++ UI framework
Stars: ✭ 218 (-51.34%)
Mutual labels:  cmake, opengl, graphics, cross-platform
Magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
Stars: ✭ 3,728 (+732.14%)
Mutual labels:  cmake, game, opengl, graphics
Openrct2
An open source re-implementation of RollerCoaster Tycoon 2 🎢
Stars: ✭ 10,115 (+2157.81%)
Mutual labels:  cmake, game, opengl
Openspades
Compatible client of Ace of Spades 0.75
Stars: ✭ 769 (+71.65%)
Mutual labels:  cmake, game, opengl
Ark
ARK is a lightweight, agility, elastic, distributed plugin framework written in C++,make it easier and faster to create your own application service.
Stars: ✭ 370 (-17.41%)
Mutual labels:  cmake, game, cross-platform
Rigelengine
A modern re-implementation of the classic DOS game Duke Nukem II
Stars: ✭ 393 (-12.28%)
Mutual labels:  game, opengl, cross-platform
Minijvm
Develop iOS Android app in java, Cross platform java virtual machine , the minimal jvm .
Stars: ✭ 127 (-71.65%)
Mutual labels:  game, opengl, cross-platform
Raz
Modern & multiplatform game engine in C++17
Stars: ✭ 161 (-64.06%)
Mutual labels:  cmake, opengl, cross-platform
Methanekit
🎲 Modern 3D graphics made simple with cross-platform C++17 meta-API on top of DirectX 12 & Metal (Vulkan is coming)
Stars: ✭ 197 (-56.03%)
Mutual labels:  cmake, graphics, cross-platform
Flingengine
A Vulkan game engine with a focus on data oriented design
Stars: ✭ 239 (-46.65%)
Mutual labels:  cmake, game, graphics
Ofelia
A real-time cross-platform creative coding tool for multimedia development
Stars: ✭ 269 (-39.96%)
Mutual labels:  opengl, graphics, cross-platform
Open Builder
Open "Minecraft-like" game with multiplayer support and Lua scripting support for the both client and server
Stars: ✭ 569 (+27.01%)
Mutual labels:  cmake, game, opengl
Openage
Free (as in freedom) open source clone of the Age of Empires II engine 🚀
Stars: ✭ 10,712 (+2291.07%)
Mutual labels:  cmake, game, opengl
Rubeus
A cross platform 2D game engine written in C++ for beginners
Stars: ✭ 159 (-64.51%)
Mutual labels:  game, opengl, cross-platform
Glitter
Dead Simple OpenGL
Stars: ✭ 2,040 (+355.36%)
Mutual labels:  cmake, opengl, graphics
Lasercrabs
Launch your LASERCRAB at walls, ceilings, and enemy heads in this indie multiplayer shooter where "move" and "attack" are synonymous.
Stars: ✭ 465 (+3.79%)
Mutual labels:  game, opengl, cross-platform
Expo Crossy Road
🐥🚙 Crossy Road game clone made in Expo (iOS, Android, web), THREE.js, Tween, React Native. 🐔
Stars: ✭ 701 (+56.47%)
Mutual labels:  game, opengl, cross-platform
Cute headers
Collection of cross-platform one-file C/C++ libraries with no dependencies, primarily used for games
Stars: ✭ 3,274 (+630.8%)
Mutual labels:  game, opengl, cross-platform

tprPix

a Cross-Platform, 2D Survival Sandbox Game Project.

Based on C++17/OpenGL/SQLite3.

(tprPix is the name of the Project, NOT the Game.)

screenShot.01

Which branch should I Download

Branch:master is OK.

Which platform is supported

  • Win10
  • MacOSX(10.12 or later)
  • Ubuntu(16.04 or later)

Maybe it can work in earlier versions, but I did not test Yet.

Compiler compatibility

The recommended compiler is Clang, even if in Win10.

Make sure the compiler version support C++17.

How to Install

Mac OS X

The installation in Mac is very easy.

First,make sure you have installed:

  • CMake(3.1 or later; 3.16 is recommended to support PCH and Unity builds)
  • Clang(new enough to support C++17 )
  • OpenGL libs

Then,open your terminal, and "cd" to the app's root folder:

$ cd .../appRootDir/

(Notes: the "appRootDir" here should be replaced by real root directory name)

after that, run a shell script:

$ ./unix_release.sh

the shell script: unix_release.sh, will automatically install everything for you, which contains some folder replication work. you can also choose unix_debug.sh, which will build a DEBUG app for you. In the Debug mode, the running performance of the game will be reduced significantly. So, please call the Release mode as much as possible.

Now, All the Installation has DONE!!!

You can find tprpix file in .../appRootDir/build/publish/ folder. (Notes: the "appRootDir" here should be replaced by real root directory name)

Double Click it and Start your Game!!!

Ubuntu

Similar to Mac OS X.

First,make sure you have installed:

CMake(3.1 or later; 3.16 is recommended to support PCH and Unity builds)

$ sudo apt-get install cmake

Clang(new enough to support C++17 )

$ sudo apt-get install llvm
$ sudo apt-get install clang 

reset the default C/C++ Compiler by:

$ sudo update-alternatives --config c++
$ sudo update-alternatives --config cc

install some Graphic Libs:

$ sudo apt-get install libx11-dev
$ sudo apt-get install libglfw3-dev
$ sudo apt-get install libsdl2-dev

Then,open your terminal, and "cd" to the app's root folder:

$ cd .../appRootDir/

(Notes: the "appRootDir" here should be replaced by real root directory name)

after that, run a shell script:

$ ./unix_release.sh

the shell script: unix_release.sh, will automatically install everything for you, which contains some folder replication work. you can also choose unix_debug.sh, which will build a DEBUG app for you. In the Debug mode, the running performance of the game will be reduced significantly. So, please call the Release mode as much as possible.

Now, All the Installation has DONE!!!

You can find tprpix file in .../appRootDir/build/publish/ folder. (Notes: the "appRootDir" here should be replaced by real root directory name)

run the app in terminal:

$ build/publish/tprpix

and Start your Game!!!

Win10

To support Clang in Win10, We need to install Visual Studio 2019 at first.

Once open Visual Studio 2019, click the button: Open a local folder, and choose the app's root folder ->

open a local folder

select Manage Configurations... ->

Manage Configurations

in CMake Settings panel, remove the existed configuration, and add a new one: x64-Clang-Release ->

CMake Settings panel

x64-Clang-Release

if x64-Clang-Release was not in CMake Settings panel, please check whether CMake and Clang tools installed in Visual Studio ->

Check Clang and Cmake

reset the Build root to ${projectDir}\build (Notes: This STEP is very important!!! Please make sure the changes are CORRECT.)

Build root

back to Solution Explorer panel, right click the file: CMakeLists.txt, choose: Generate Cache for tprPixelCPP. ->

CMakeLists.txt

Generate Cache for tprPixelCPP

wait until the infomation: CMake generation finished. showed in Output panel.

After that, click Build All in Build Window.(or press F7) ->

Build All

Then, the build work will begin. A few minutes later,you will find a infomation: Build All succeeded. in Output panel. This means that the work in Visual Studio 2019 is DONE!

Go back to the app's root folder, find and double click win.bat file. This script file will automatically copy some folders to app/build/publish/,

Now, All the Installation has DONE!!!

You can find tprpix.exe file in .../appRootDir/build/publish/ folder. (Notes: the "appRootDir" here should be replaced by real root directory name)

Double Click it and Start your Game!!!

the Ultimate_Publish_Folder

No matter which platform you compile on, the Ultimate Publish Folder is unique: .../appRootDir/build/publish/ folder. you can copy this publish folder to any location which will not affect the executable of app. All the resources needed for the app are integrated in the publish directory.

How to Play

This game support both Keyboard and most mainstream Joysticks. Considering it's an action game, we recommend you to play with a Joystick(Xbox360-style).

Joystick(Xbox360-Style):

  • LeftAxes to move.

  • Button:A to confirm. in game-world, you can push Button:A to Let the character speed up

  • Button:B to let the character slow down in game-world.

  • Button:X/Y to print some debug-infomation on terminal.

Keyboard:

  • key:W/A/S/D to move.
  • key:Enter to confirm.
  • key:H/J/K/L is mapped to 'A/B/X/Y' in Joystick.

Please note that when the system input method is Chinese mode, the keyboard keys will not be recognized by the game. Be sure to switch to the English input mode.

Once you enter the game-world, The only thing you can do is control a chicken(used for test), walk around and fly(By pressing the key: 'H'(keyboard) or 'A'(joystick) continuously)

Well,the remaining parts are still on developing. So, please be patient...

How to change the app window size

Currently, FullScreen mode is not support yet. The Config file who control the window size is placed in file: .../publish/jsons/windowConfig.json. As show below:

Window Config

If you want to change the Window Size, please modify the variables: windowPixW, windowPixH (base on pixel). As the variables recommend:windowPixW, recommend:windowPixH show, the recommended size is: 1920, 1200. (In fact, you can change windowPixW, windowPixH to any integer value, just not bigger than your monitor, and the program will automatically take care of the window aspect ratio.)

PLEASE do not MODIFY the variables: recommend:windowPixW, recommend:windowPixH. They are just some tips.

PLEASE do not MODIFY the variable: isFullScreen. Keep its value as false. Any change to this variable will case a crash in runtime.

After the modifying, save the file. run the app again, you will get new effect. NO Need To Compile Again.

Existed Problems

Do not panic if you encounter the following problems:

Fall into a crash when you create a new Archive

This bug has a small chance to be triggered. When encountering this problem, it is recommended that you force to exit the program first. And DELETE the folder: .../appRootDir/build/publish/dataBase/ directly. The app archive task is managed by this folder.Please feel free to delete it roughly.

What can I do if three archives are full

Currently, the UI System is not finished yet.Even the archive system is incomplete. If the archives is full, Please DELETE the folder: .../appRootDir/build/publish/dataBase/ directly.

What to do in case of flashback in operation

You can submit the command line information to issues. Or contact me through the following information, this will help me to complete the program better.

More Bugs to be revealed

...

License under the BSD 3-Clause

Welcome feedback and suggestions

Since the project is still on developing, more content will be launched later.

If you have any suggestions,please contact me.

Contact

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].