The CORE Framework, simplifying game and app development since 2023
Find a file
JeremyStarTM 99703cf03e CORE rewrite (#1)
Reviewed-on: StarOpenSource/core#1

Rewrote CORE and improved the startup process and startup time significantly. The documentation has been beefed up too and is now much better. Existing projects may need major refactoring however.
Co-authored-by: JeremyStarTM <jeremystartm@staropensource.de>
Co-committed-by: JeremyStarTM <jeremystartm@staropensource.de>
2023-08-25 14:34:57 +02:00
assets/testproject CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
docs CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
.gitignore CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
cml.gd CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
config.gd.example Backup before I nuke the project 2023-08-07 14:49:12 +02:00
core.gd CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
coreinit.gd CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
coreinit.tscn CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
corelog.gd CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
corelog.tscn CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
count_characters.sh CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
debugdisplay.gd CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
debugdisplay.tscn CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
events.gd CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
hack.ttf Initial commit 2023-03-18 16:34:12 +01:00
LICENSE Initial commit 2023-03-18 16:34:12 +01:00
logger.gd CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
Makefile CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
misc.gd CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
mkdocs.yml CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
mkdown.gd CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
preprocessor.gd CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
README.md CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
requirements.txt Documentation/website release and more 2023-07-09 00:16:15 +02:00
resmgr.gd CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
smgr.gd CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
soscore.png Center CORE crane 2023-07-07 19:05:23 +02:00
soscore_round.png Center CORE crane 2023-07-07 19:05:23 +02:00
splash.gd CORE rewrite (#1) 2023-08-25 14:34:57 +02:00
splash.tscn CORE rewrite (#1) 2023-08-25 14:34:57 +02:00

SOSCore icon

StarOpenSource CORE (aka. SOSCORE aka. CORE)

SOSCORE/CORE is a framework that simplifies development for games and applications made in Godot 4.

Development status

CORE is under heavy development and can be very unstable. Please do not use CORE in conjunction with your game/application for now (except if you want to debug your game 24/7 and read a lot of gdscript files).

Roadmap to release :blobfoxbongo:

  • Mod loading system
  • Notification API
  • Basic debugging tool (CTRL+C to crash, F3 to toggle statistics)
  • Better documentation (docs4everything)
  • Everything commented and explained
  • Documentation page explaining what does what (for CORE noobies)
  • Autoload singleton check removal
  • More wmgr functions (the window manager got removed in the rewrite)
  • Website
  • Silencing startup messages (info -> diag)
  • Remove autoload component
  • Fix syntax (set return types missing)
  • Much more configuration options (CORE's already pretty configurable)
  • Implement preprocessor placeholders
    • Clipboard content
    • CORE version
    • Dark mode
    • Dark mode support
    • Delta
    • Device hardware
      • Device model
      • CPU name
      • CPU count
    • FPS
    • Game process
      • Executable
      • Command line options
      • PID
      • Debug build
    • Language
    • Operating system
      • Operating system name
      • Operating system version
      • Distribution name
    • Project name
    • Project description
    • Rendertime
    • Window
      • Size
      • Size with decorations
      • Position
      • Title
      • Mode
      • Minimal size
      • Maximal size
      • Vsync status
      • Screen
      • Size
      • ID (main window)
      • Count
      • DPI
      • Orientation
      • Refresh rate
      • Scale

Documentaton

You can access the documentation by clicking this text.

Can I use CORE in an existing project?

Yes, in theory you can refactor your entire codebase and make a giant mess, but we don't recommend doing that.

Requirements

  • Godot 4.1 (stable releases only)
  • Good experience with Godot 4 and GDScript

Recommendations

  • Use the Scene Manager instead of manually managing scenes or CORE will break apart. If you don't want headaches, use the Scene Manager.
  • Use the CORE's logger implementation instead of print(). It supports rich formatting (using tags, handled by our Preprocessor™) and is generally better than using print() for everything.

How to install

  • Download the CORE manager and open it
  • Enter the path to your Godot project
  • Click Install and wait 0-2 seconds for it to download
  • Reload your project (Project -> Reload current project) and start your game
  • If Godot complains that it could not load res://, then you successfully installed CORE. You can now follow the post install guide

How to update

Open the CORE manager, enter the path to your Godot project and click Update. Check this documentation page for important commits that can cause breakage.

Why is CORE not a addon?

CORE does not add one single functionality that can be easily removed, no, it is a whole framework providing many useful functions for your game and removing it would mean lots of refactoring and headaches for you. So no, no addon.