A downloadable Foxtrot Engine 2D for Windows

License Badge_GitHub_FoxtrotEngine2D

Foxtrot Engine 2D is a 2D game engine based on DirectX 11 for Windows. It includes Foxtrot Editor which allows users to create & modify scene data, and Foxtrot Engine which executes the produced game based on those data. Scene data are stored as a ".chunk" file, which is a file structure that describes the game data and the required resources.

Foxtrot Engine has been developed by JungBae Park from GooCat Studio for the game in development, "SPARED".

List of Features

  • A component-based structure that allows to create custom Actors

  • Various Components to create behaviors for Actors
      - Sprite renderer
      - Tilemap renderer with .csv input
      - Sprite animation
      - Rigidbody simulation based on box2D
      - 2D colliders in basic shapes (e.g. box colliders)
      - User input Management & Moving characters
      - etc.

  • User-defined Components can be added as "Behavior"s

  • Create & Modify pre-defined Actors, "Premade"
    (a similar concept to Unity Engine's "Prefab")

Getting Started

1. Downloading the Engine

Download the .zip file below and extract it.
Run FoxtrotEditor.exe from the extracted folder.

Getting Started - For Developers

0. Development environment

Visual Studio 2022 is recommended since the project is not built and tested on other development environments.

1. Downloading the Engine

Download the code from the GitHub repository

2. Check for project configuration

Windows SDK Version: 10.0
Platform Toolset: Visual Studio 2022 (v143)
C++ Language Standard: ISO C++17 Standard (/std:c++17)
Vcpkg is enabled, using Manifest. Check out the Vcpkg file for package info.

3. Use the correct solution configuration

Use Foxtrot_Debug when building a game in production.
Foxtrot_Editor_Debug is used for updating Foxtrot Editor so unless you are working on improving the Editor, it is not necessary.

4. Build the Projects

a. Building Foxtrot Editor

Set the configuration to "Foxtrot_Editor_Debug". 
Build the project "FoxtrotEngine" first, and then build the project "FoxtrotEditor". The output "FoxtrotEditor.exe" should be in 
"{root}/FoxtrotEditor/Builds"
The user manual is not provided yet, but you can still play around with the editor.

IMPORTANT: the files, "Game Data.gdpack" and "imgui.ini" are CRUCIAL for Foxtrot Editor to work properly. Keep them in the Builds folder.

User Manual

This section will be updated.

Plans and Goals

Foxtrot Engine has been developed not only as a portfolio but also as a tool of education to obtain game development experiences. The developer also expects to develop this project until it can produce a finished 2D game title. Here is the list of upcoming features and goals.

  • Artificial intelligence for characters (current WIP)
  • Spine animation renderer
  • Particle system
  • UI testing (this was implemented, but not tested)
  • Establishment of the workflow of Foxtrot Engine; a development routine
  • Finishing the prototype version of the game, SPARED.

GitHub Repository

https://github.com/Joseph-Park-dev/FoxtrotEngine

References

  1. Gregory, J. Game Engine Architecture (Third Edition). A K Peters/CRC Press. ISBN-13: 978-1138035454.

    • Used as a primary reference for engine architecture design.
  2. Jeong-Mo Hong. Introduction to Computer Graphics with DirectX 11 [Online Course]. HongLab. https://honglab.co.kr/collections/graphics

    • Implemented 2D renderer based on PART 2, Chapter 6: Rendering Pipeline.
    • Used code examples from PART 2. Realtime Pipeline; DirectX 11 utility functions to load and process textures.
  3. Madhav, S. Game Programming in C++: Creating 3D Games (1st Edition). Addison-Wesley Professional. ISBN-13: 978-0134597201.

    • Referenced for designing the game loop architectures.
    • Used component pattern for Actor architecture.
    • Used code examples on math; Vector classes with related functions.
  4. Nystrom, R. Game Programming Patterns. Genever Benning. https://gameprogrammingpatterns.com/

    • Applied Command pattern for undo and redo system on Foxtrot Editor (Chapter: Command)

Download

Download
FoxtrotEngine2D_ver.0.1.2.zip 1.3 MB