Dinhero21 / game-engine

Fully Open Source Game and Game Engine
0 stars 0 forks source link

Computer Tile #13

Open Dinhero21 opened 1 year ago

Dinhero21 commented 1 year ago

(This will likely be implemented later when the game is in a much more stable state)

The idea is to have a computercraft-like Computer Tile that would allow you to (probably sandboxed/containerized) JavaScript on the server and/or client.

I will probably use a combination of node:vm and Proxy for the server-side and a contextualized eval (see with) for the client-side (or maybe nothing at all since it seems like a much complex challenge with lots of cons and no pros).

A package-manager-like tool could also be implemented that would download code from a specific URL and load it which would allow for community-wide code sharing (not sure what the right word would be here, something between sharing and collaboration).

Dinhero21 commented 1 year ago

I feel like the hardest part is going to be (as always) the UI. A TUI is probably enough but having access to some kind of GUI API (Canvas API or WebGL or some abstraction) would allow for much more then the former.

Dinhero21 commented 1 year ago

(This should probably not be here but too lazy to make another issue)

I feel like a problem with Minecraft Storage System Mods is that they feel "stepped" (at least imo). You don't go inventory -> vanilla storage (chests/barrels) -> slight upgrade -> ... -> slight upgrade -> simple system -> slight upgrade -> ... -> slight upgrade -> auto-crafting System -> ... Instead, it is something more like inventory -> vanilla storage -----------------------------------------------------------------------------> simple system -> crafting system -> auto-crafting system. The step required from vanilla storage to simply system is way too big (when compared to vanilla which is simply wood) (having lots of requirements such as energy, a controller, a disk drive, a grid, and storage disks) with upgrading the system after that being way too easy (even when compared to vanilla! (because of auto-crafting and how convenient it is to access all your items in a single place)).

I would prefer something that is more beginner-friendly, more challenging to improve, and, optionally, that has more potential.

Having a Computer Tile (how I imagine it) would solve the potential problem since it would allow for limitless creativity, in combination with beginner-friendly not-too-OP upgradeable (item/fluid/energy) transportation, would allow for Storage Systems to be created.

The only problem I see currently is the bigger-friendly part as if the Computer is necessary for basic systems then it is not very beginner-friendly. (but is there even a better approach?)