jonathaneeckhout / jdungeon

An opensource 2d morpg game based on the Godot engine in a medieval inspired fantasy world
https://jdungeon.org
BSD 2-Clause "Simplified" License
129 stars 22 forks source link

Dev Task: Seperate Dev Room To Test New Content #70

Open HobbyistGuy opened 11 months ago

HobbyistGuy commented 11 months ago

I think it would be a good idea to add a dev room alternative option to the sever/client options that we can simply test new ideas or tweak old ones in that others can review without it effecting the server map.

jonathaneeckhout commented 11 months ago

Could you give me some use cases to better understand the request?

HobbyistGuy commented 11 months ago

Dev rooms in games are a common practice from what I've researched in the past an seen. They are detached areas in a game used as an easy place to test various things without having to load in the entire world space or other area cells. They typically contain every item in a game or at least a good amount of them. During tests and bug hunting we have to run through the game multiple times to test things and as the game grows it'll be more difficult to jump through different areas to test new additions especially for inexperienced users. Having a dev room will give us a one stop place to test and review content saving us a lot of development time in the process.

One well known studio Bethesda uses this development architecture in all their games as well as many other various AAA and indie studios in the industry. That is the reason I see the value in having a dev room for the project. Any thing that saves on dev time has value and is a valid quality of life tool. That is my pitch for it.

jonathaneeckhout commented 11 months ago

Hey, thanks for the reply.

This explains the need for having such a dev room, my question would be more about real use cases you want to cover with this dev room, looking at our current project.

By giving real use cases I can check if this can be covered by the default Godot editor features or if we need to write new stuff.

An example would be:

HobbyistGuy commented 11 months ago

Well one example I saw on discord is when you were worried about breaking the map importing Kashan's JDungeons_edited.zip. If we had a dev room we could test big changes like that without worrying about breaking the main maps. We can test new ai behavior, sprites animations, or tile maps in a more controlled environment. Might be minor issue idk I'm not experienced with this sort of thing personally if it's a none issue we can get rid of the request.

jonathaneeckhout commented 11 months ago

So I am sure we will need to have a dev room or like admin tools to be able to test stuff later on.

Things like:

In the current stage of the project I don't think it has the highest priority, but it will become handy soon. Especially for testers like you're mentioning. If someone wants to create/develop it they are always free to do so.

The solution for Kashan would be to create a "development" branch in git. This is a separate version of your project and you can mess around as much as you want without destroying your "main" project. You can always switch back to the "main" and if you want to have the changes from your "development" branch applied to your "main", you create a "pull request".

Changing this Feature Request to Dev Task.