Foxtrot Engine Dev.Log, Week 01

0 Comments

Week 01 Feedback

There are needs for making ways to demonstrate internal changes.

There were several internal changes to the Foxtrot Engine, but not many features to show as a demonstration. However, studio GooCat will find ways to display the changes in the system - an example.exe may be a good idea.

As an alternative, the sample codes to run the changes - the result will be shown on the console window - are posted below.

Added Features

  1. Sorted Foxtrot Data Structure files by categories.
    • a. Comparing algorithms
    • b. Dynamic Data Structures
    • c. Searching algorithms
    • d. Sorting algorithms
    • e. static Data Structures

  2. Added items to Foxtrot Data Structures (FTDS).
    • a. Dynamic Data Strucuture
      • i. LinkedList
            FTDS::LinkedList<int*> list;
      
            // Pushing into the list
            list.Push(new int (0));
            list.Push(new int (1));
            list.Push(new int (2));
            list.Push(new int (3));
            list.Push(new int (4));
      
            // Getting the size of the list
            size_t size = list.Size();
            printf("Size : %zu \n", size);
      
            // Peeking the data at the index pos
            printf("Elements : ");
            for (size_t i = 0; i < size; ++i)
            {
                int element = *list.Peek(i);
                printf("%d ", element);
            }
            printf("\n");
      
            // Clearing the list - memory deallocation
            while (!list.IsEmpty())
            {
                printf("Popping: %d\n", *list.Back());
                delete list.Back();
                list.Pop();
            }
      

      • ii. CircularStack (Actually, this needs some bugfixes)
  3. Added Components
    • a. Text Renderer based on tilemap


  4. Added Behaviors derived from class Component.
    • a. Added CollisionEvents functions to base class Behavior
      • i. CollisionEnter
      • ii. CollisionStay
      • iii. CollisionExit
  5. Removed obsolete mDrawOrder from class Component.
    • a. The D3D11 Z-buffer already does the same job.
  6. Stripped the suffix “Component” from the name of each Components.

  7. Revised ResourceManager key.
    • b. VALUE_NOT_ASSIGNED is set to 0, not -1.

In case you don’t know what I’m working on…

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”.