Navigation Menu

Skip to content

toshko3331/TPEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TPEngine

At the moment this project is aimed at creating a game engine + a game with that engine. The goal for this project is to be submitted to the National STEM Video Game Challenge. Although I have a pretty tight budget,timewise at least, I believe I will be able to accomplish this goal. The engine will be written in C++ and will be cross-platform (hopefully). This project uses CMake for building the Windows 7 project and a plain Makefile for the Linux build. The reason for this is because of my ignorance of how CMake works and although it's entire point is to make everything platform independent, I simply don't have the time to spare to fix this part of the project. If there is time left over, I will make everything as platform independent as possible.

  • Libraries

    *
    SDL2 - This is the best library for making a platform independent game. Provides me with an easy way to handle creating windows and figuring out all of the OS dependent rendering code.
    *
    libpng - libpng is the most stable library to use for loading png files. By using this library, there isn't a need to write a custom file loader for the PNG format. I might eventually write my own, but the reason for using a library was because writing my own loader would take a lot of time which I would rather put into the engine itself. *
    OpenGL Mathematics - GLM is used because of the ease of creation of a Camera. This is against all my ethics for this project but time is of the essence and I can't not figure out how to do camera's manually.
  • Known Problems/Improvements to be made

    *
    Take full of advantage of CMake and make the code run with just the CMake and not have to manually create the Makefile. *
    Add libpng to the project so Windows users can compile it once again. *
    Fix Windows build in general.
  • Building the project

    *
    Windows
    -
    /* I BELIEVE THIS IS CURENTLY BROKEN SINCE libpng IS NOT INCLUDED WITH THE PROJECT */ First run the "CleanWindowsBuild.bat" to generate the SDL2.dll files in the appropriate directory. Afterwards, use CMake to build the project. When specifying the source directory, select 'Software-Rendering'. When selecting the build directory, select the build directory in the root of the project. After that, configure the project for your specific setup and generate your setup. If you wish to clean the directory, we can execute the "CleanWindowsBuild.bat" to generate a fresh build directory. Be warned,this will erase everything in the build directory of the project.
    *
    Linux
    -
    For the Linux build you will require the SDL2 package, and you also will need to compile the SDL2 source that can be acquired through the SDL website. Additionally, you will need libpng 1.6.You will additionally need GLM. After that has been completed, simply execute the make command in the root directory of the project. All of the output will be directed to the build folder. If you wish to delete the current build, execute "make clean" in the root directory and all files generated by the make command will be erased.

Progress

  • Window
  • Triangle Rasterizer
  • 3D Perspective Projection
  • Texure Mapper
  • Mesh Loader
  • Clipping
  • Z-Buffer
  • Texture Loader
  • Camera
  • Lighting
  • Triggers
  • Player Class

About

A 3D Engine that will be capable of building a game out of.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages