Git Product home page Git Product logo

Comments (4)

XenonLab-Studio avatar XenonLab-Studio commented on May 20, 2024

Now the project is organized in a better way, it is easier to work comfortably without scrolling over 1000 lines of code in a single module 👍

from terracraft.

benmoran56 avatar benmoran56 commented on May 20, 2024

I have actually started a refactoring of the original codebase myself, into an ECS design. You can see my work here: https://github.com/benmoran56/Minecraft
The "ecs.py" module is a copy of my esper ECS library, which is a simple drop in). The codebase is about 70% refactored to an ECS design; the BlockController class still needs to be broken into Processors.

This refactor is also arranged to have the code in one Scene, which will make it easy to seperate the main menu, game field, etc. with a simple SceneManager.

Would you be open to adopting this type of design for TerraCraft? In my opinion it's the easiest way to go for maintainability and refactoring, which is important for projects that might have many contributors.

from terracraft.

benmoran56 avatar benmoran56 commented on May 20, 2024

As an update, I have opened a smaller pull request. Maybe we can forget about the ECS refactor for now, unless it makes sense to you.

from terracraft.

XenonLab-Studio avatar XenonLab-Studio commented on May 20, 2024

Yes, it's a good idea for me. My intention is to implement a main menu, and other features making them separate from the current code (classes and external functions), so your idea is 100% adherent to mine. Thank you for your help, I appreciate it very much.

from terracraft.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.