[META] Simplify engine #89

Open
opened 2023-06-26 14:15:33 +02:00 by kazhnuz · 6 comments
Owner

Think about what is useful or not, it'll also make tinier the project (and more manageable). What would be nice also would be to drop some code that would be better handled by external libs (like knife, etc)

-> epervier/assets
-> epervier/menus
-> epervier/utils
...

Think about what is useful or not, it'll also make tinier the project (and more manageable). What would be nice also would be to drop some code that would be better handled by external libs (like knife, etc) -> epervier/assets -> epervier/menus -> epervier/utils ...
Author
Owner

There is the question if each should have their own project or not. For the world system it would be useful, maybe for the menu ? Not sure for other.

There is the question if each should have their own project or not. For the world system it would be useful, maybe for the menu ? Not sure for other.
Author
Owner

Possible list
-> epervier/world (maybe separate in two type of world ? But a lot of modules would be duplicated, so...)
-> epervier/assets
-> epervier/screen
-> epervier/menus
-> epervier/datas
-> epervier/save

Should datas and save be separated or the same modules ?

**Possible list** -> epervier/world (maybe separate in two type of world ? But a lot of modules would be duplicated, so...) -> epervier/assets -> epervier/screen -> epervier/menus -> epervier/datas -> epervier/save Should datas and save be separated or the same modules ?
Author
Owner

Maybe we should divide world into as set of "world utils" and worlds and make the world the thinest layer possible around bump2D/bump3D/maps ?

Maybe we should divide world into as set of "world utils" and worlds and make the world the thinest layer possible around bump2D/bump3D/maps ?
Author
Owner

Features that would be dropped/replaced:

  • Input Management will be replaced by :
    • A way to "capture" input for the menu
    • A dedicated part of the lifecycle for inputs in the world
    • A pause system for the world
  • The scene system will be handled by a library
  • The log system, i18n too
  • Math utils too
Features that would be dropped/replaced: - Input Management will be replaced by : - A way to "capture" input for the menu - A dedicated part of the lifecycle for inputs in the world - A pause system for the world - The scene system will be handled by a library - The log system, i18n too - Math utils too
Author
Owner

epervier/screen.lua
-> Fuse CSCreen with my screen module
-> Add most of the code of the transition system inside screen
-> Makes transitions just some data blocks and the code part be handled more in the screen librairy

epervier/screen.lua -> Fuse CSCreen with my screen module -> Add most of the code of the transition system inside screen -> Makes transitions just some data blocks and the code part be handled more in the screen librairy
kazhnuz changed title from Extract as a set of small librairies instead of a whole integrated engine ? to [META] Simplify engine 2024-10-23 13:27:39 +02:00
Author
Owner

Changed my mind for the scenes, maybe refactor a lot of things to make them scenes/screen :
-> Make that we can see the screens under the screen, with a special boolean to know if it is transparent show before
-> The GUI screen system (kill it entirely, it's waaay too complex, and having some tweener isn't worth the sheer complexity), which will be simply handled by a gui function for the world and a basic positionnable drawable object
-> The World will become a type of screen that hide screens below (full-size)
-> Menus will become type of screen
-> Move drawing widget and activating actions part of the new Menu system

To handle what's currently handled by tweener:
-> Add tweeners integrated to screen
-> Add a basic Gui and GuiElement system

Changed my mind for the scenes, maybe refactor a lot of things to make them scenes/screen : -> Make that we can see the screens under the screen, with a special boolean to know if it is transparent show before -> The GUI screen system (kill it entirely, it's waaay too complex, and having some tweener isn't worth the sheer complexity), which will be simply handled by a gui function for the world and a basic positionnable drawable object -> The World will become a type of screen that hide screens below (full-size) -> Menus will become type of screen -> Move drawing widget and activating actions part of the new Menu system To handle what's currently handled by tweener: -> Add tweeners integrated to screen -> Add a basic Gui and GuiElement system
Sign in to join this conversation.
No description provided.