Skip to content

Instantly share code, notes, and snippets.

@WhalesState
Created May 26, 2024 09:21
Show Gist options
  • Select an option

  • Save WhalesState/89e9a8f45fba976804f8aee3407416a8 to your computer and use it in GitHub Desktop.

Select an option

Save WhalesState/89e9a8f45fba976804f8aee3407416a8 to your computer and use it in GitHub Desktop.
Pixel Engine

Changes Made to Godot 4.2:

  • 4,427 files changed
  • 8,844 additions
  • 2,292,196 deletions

I have modified the Godot Engine to create a faster engine capable of developing programs for Windows, Linux, and MacOS. I named this modified version "Pixel Engine" as it is tailored for creating a Pixel Image Editor/Designer called "Pixel Designer."

Link to pixel engine: https://github.com/WhalesState/godot-pixel-engine

I found the size and performance of Godot 4 to be suboptimal for my needs. Therefore, I streamlined the engine to better suit my requirements.

While I can't recall all the changes, here are some of the notable modifications:

1- Removed Features:

  • 3D rendering and Vulkan-related files
  • Most 2D nodes and 2D physics
  • Tilemap and Navigation
  • Most of the engine's 3D built-in math types
  • Movie writer
  • Android, iOS, and Web support
  • C# support
  • Multiplayer functionality
  • All Rendering Device files
  • 3D Material and 3D Textures support
  • Most deprecated methods and all compatibility files
  • Project converters from version 3 to 4
  • AnimationTree
  • Particles
  • Mesh support
  • 2D bones and 2DPolygon (due to unresolved issues)
  • Visual shader
  • XR support
  • Environment support
  • Application/run/main_scene (replaced with a root_type similar to main_loop_type)
  • LayeredTextures
  • All shaders except CanvasItemShader
  • CameraServer
  • GLSL (retained only GLES3)
  • Unused modules and third-party files
  • GraphEdit (can be re-added easily)

2- Added Features:

  • FoldableContainer node
  • ControlViewport node (similar to CanvasItemEditor)
  • LineEdit edit/select mode (improved focus handling)
  • Drawing functions to the Image class
  • Frame and expand/shrink support to TextureRect
  • Option for TabContainer to draw the TabBar at the bottom
  • Fallback Text Server as default (to reduce build time during development)
  • Option for ScrollContainer to ignore its minimum size (can shrink to Vector2(0, 0))

3- Improvements:

  • Selection/editing of Subviewport children in Canvas Item Editor
  • Camera2D updates the Subviewport preview inside the editor
  • Updated and simplified ColorPicker UI for better usability
  • Fixed CanvasItemEditor smart snapping lines
  • Fixed various issues with Control nodes

4- Changes to Application Structure:

  • Added a root_type similar to main_loop_type:
  • Assign a script to the root on startup
  • Create a script extending Window and set its class_name
  • Set the class_name as the root_type in editor settings
  • Manually add scenes in _init() or _ready() for more control over the root Window or use autoload to add your scenes

See all the changed files here: https://github.com/WhalesState/godot-4.2/commit/5ee91fa879863e69fb3ea0eac561059873f4381d

Pixel Engine Size for Release/Debug/Editor.

image

Want to try it ? scroll down to the bottom of the page and download the executables for your platform.

https://github.com/WhalesState/godot-pixel-engine/actions/runs/9241386784

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment