Skip to content

Racing Management Simulation Game Engine for final Capstone Project.

Notifications You must be signed in to change notification settings

Sadanand14/FALCON_ENGINE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Sanity :

Build Status

Important links:

  1. Working with premake

  2. Build on linux

  3. Setup Vendors and assets for the project

  4. Logging in Falcon

  5. Using Custom Allocators

Library Versions:

assimp - 5.0.0

boost - 1.69

glad - 0.1.30

glfw3 - 3.3

glm - 0.9.9.500

ozz - 0.10.0

Coding Standards

Coding Style

Class, method, function, and other such entities are named with pascal case.

Variable names are named with camel case.

Curly braces on a new line.

private before protected before public; match order in source files.

Tabs for spaces, except when matching indentation.

void Foo(u64 arg)
{
	Bar(arg,
	    true,
	    nullptr);
}

Best Practices

Use define blocks instead of #pragma once for header guards.

#ifndef HEADER_NAME_H_
#define HEADER_NAME_H_

// Header file contents

#endif

Use constructor initializater lists.

MyClass::MyClass(u64 arg) :
	memberVariable(arg)
{
	// Possibly do something here
}

Use const and inline where applicable.

inline u64 GetVar() const { return memberVariable; }

Limit includes as much as possible.

Engine Preferences

Use the fixed-size numeric types defined in types.h.

Do not perform raw IO outside of specifically designated engine subsystems.

We will be maintaining a Linux build, with full intention of this engine supporting cross-platform development. Don't break this with platform-specific code.

Setting up the project

Generating project files:

Falcon uses premake for the as a build configuration utility.

To generate files on Windows, you have to run GenProject.bat whereas on linux, you run GenProject.sh via terminal.

Downloading Vendors:

Manual Process:

1. Assets: Windows: You can download assets for windows, from Windows Assets. Once downloaded, unzip it under following path, FALCON_ENGINE\Falcon

Linux: You can download Linux assets from Linux tarball. Once downloaded you need to unzip these into the build directory of the project which is like,

FALCON_ENGINE\Falcon\build\Debug\

2. Third party libraries/ vendor: The process for vendors is same for both platforms,.You can download the specific builds for vendors from following links,

Windows : vendors.zip Linux : Vendor.tar.zip

Once downloaded, unzip it under FALCON_ENGINE\Falcon\Falcon\.

Automated Process:

Follow the steps mentiond in Setup Vendors and assets for the project.

Building Falcon on Linux

  1. To setup required libs, open a terminal and run following commands.
sudo apt-get update
sudo apt install python
sudo apt install python-dev
sudo apt install libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libglew-dev
  1. Clone and generate project following the steps mentioned in Setting up the project.
  2. To build and run the code,
	#2. Run make to build project
	```shell
	make 
	```
	#if you want to clean the build directory use,
	```shell
	make clean
	```

Precautions to work with premake now,

Whenever you add new directory in source, add any lib or any include please make sure you add it to the relevant places in the premake.lua file. otherwise there will be lot of inconsistencies.

About

Racing Management Simulation Game Engine for final Capstone Project.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •