Jump to content

Is live editing in Doom engine related projects possible?


whatup876

Recommended Posts

I mean sites like CodePen where one writes code and witnesses the project itself changing or at least working as according to the code being written at the same time. (or at least when the user chooses to update the project as according to the last time the code was changing, like some executing feature that executes code when needed)

Specially based on browser or website, even if it used FreeDoom for obvious reasons.

I can see problems based around which language code and which source port.

 

I heard that the team behind the Godot engine was doing something like this (based around them being aware that there's not enough helpful tutorials for the engine) and i wonder if that was ever considered for Doom modding and ports.

I recall someone on Twitter doing "live hacking" on Doom by messing with E1M1/Hangar's geometry a bit and playing around with the placement of the green armor from that room.

 

Then again, i'm writing this as someone with no actual Doom modding experience and with severe Dunning Krueger syndrom, so feel free to bring up certain fallacies and errors.

At least, there's a topic to talk about i guess.

Edited by whatup876
just a bit more stuff, even a tiny little bit

Share this post


Link to post

Kind of, in the original exe you could launch wads with a special perameter that would load all of the lumps from a wad every time a new map is loaded.  You could use idclev(map number) after editing a map to decrease startup overhead.

Share this post


Link to post

It's theoretically possible. However, no tool exist that offer this.

 

Now there's a question of how deep you would make your live editing go. If you mean that if you change something, you can restart the level with your change, that's quite close to what's already available (editors do let you use a hotkey to test the level in an external engine). But if you mean that it keeps the level in memory as it has already been played (with killed monsters still killed, picked up items still picked up, opened doors still open, etc.) while applying your changes in real time, then that becomes much more complex to implement.

Edited by Gez

Share this post


Link to post

Are you talking "live editing" of actual engine code, or modifying a level? The latter can be done with the DoomBuilder editor family, latest and current one being "Ultimate Doom Builder".  It has a 3D view for editing, so you can see live what you are changing. As far as I know, you can't change geometry lines while in 3D mode.

Share this post


Link to post
11 hours ago, Mordeth said:

Are you talking "live editing" of actual engine code, or modifying a level? The latter can be done with the DoomBuilder editor family, latest and current one being "Ultimate Doom Builder".  It has a 3D view for editing, so you can see live what you are changing. As far as I know, you can't change geometry lines while in 3D mode.

I was thinking more in line with custom weapons and enemies, even if it means more primitive/simpler Dehacked stuff.

Share this post


Link to post

If I understand your question correctly, the answer is yes.
Set up something like the dropbox app. House your directory structured build there (decompiled pk3). Load that as the resources for your project. Whoever has access to said dropbox folder can now edit files and all you have to do is update the resources in UDB and test the new code. This is how we've been making Age of Hell and Elementalism and it is fantastic. I can test changes to things within seconds and give live feedback to my coder.

This should be doable with a wad based resource, but someone would have to recompile and update the wad itself before reloading the resources. Involve a couple extra steps.

Should even be possible if you were messing with game engine code. If you had a communal GZDoom build in the dropbox and set that up as your UDB test path I can't see why that wouldn't work.

Share this post


Link to post
13 hours ago, Bridgeburner56 said:

If I understand your question correctly, the answer is yes.
Set up something like the dropbox app. House your directory structured build there (decompiled pk3). Load that as the resources for your project. Whoever has access to said dropbox folder can now edit files and all you have to do is update the resources in UDB and test the new code. This is how we've been making Age of Hell and Elementalism and it is fantastic. I can test changes to things within seconds and give live feedback to my coder.

This should be doable with a wad based resource, but someone would have to recompile and update the wad itself before reloading the resources. Involve a couple extra steps.

Should even be possible if you were messing with game engine code. If you had a communal GZDoom build in the dropbox and set that up as your UDB test path I can't see why that wouldn't work.

GIT is also a good option and is very often the default when making open source projects that involves code.

 

GIT being a version control system will offer a lot of additional advantages to dropbox... like tagging, merging, branching and more.

 

you would typical have the main branch as a development branch, a release branch, a test branch and maybe also an experimental branch.

 

the main, release and test branch should all be able to compile while the experimental branch can be in a state that is not nessecerily able to compile.

 

main/trunk/development:

to make new features that are not nessecerily ready for large scale test, the main development branch

 

release:

for releases that are tested and ready for public use, should mainly be used to "park" various releases

 

test:

for features that have passed internal testing and is ready for large scale tests, only bugfix in this branch

 

experimental:

for going wild and just have fun

 

the main "trunk" and one or more release branches is the bare minimum.

Edited by CBM

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...