Duke4.net Forums: Graf Zahl Razes EDuke32 game code from his fork - Duke4.net Forums

Jump to content

  • 16 Pages +
  • « First
  • 13
  • 14
  • 15
  • 16
  • You cannot start a new topic
  • You cannot reply to this topic

Graf Zahl Razes EDuke32 game code from his fork

User is offline   mjr4077au 

#421

View PostThe Kins, on 24 January 2022 - 12:00 AM, said:

Raze 1.4.0 has been released. The new renderer is now at a point where it's the default, actor limits have been abolished, bloom and SSAO can now be enabled, and a snazzy new usermap browser has been added.


Beat me to it! Thanks for updating the thread :)
0

User is offline   Mark 

#422

Did I miss it in the huge list of settings or is there no way to turn on the fps counter in the upper right corner?

Is there a way to choose a double mouse click in the control settings? I've been using double RMB click since forever as the secondary for E open.

I apologize for not following the project closely enough to know. Is the new default renderer capable of dynamic lighting and texture maps yet?

This post has been edited by Mark: 24 January 2022 - 07:07 AM

0

User is offline   deus-ex 

#423

View PostMark, on 24 January 2022 - 06:44 AM, said:

Did I miss it in the huge list of settings or is there no way to turn on the fps counter in the upper right corner?

Open the console, type in toggle vid_fps, then press the Enter key.
1

User is offline   Mark 

#424

Thanks.

On a side note, I tried running one of my old TCs under raze and common con commands are coming up errors in the log and the game won't run. I'll have to test with more previous projects later to see how bad it gets.

This post has been edited by Mark: 24 January 2022 - 08:38 AM

0

User is online   Phredreeke 

#425

Don't expect any mod using custom CON code to work in Raze.

As for dynamic lights and texture maps, nothing yet. I think they didn't want to start adding such features until the new renderer was stable.
1

User is offline   The Kins 

#426

Raze's CON functionality is limited to v1.5 + whatever few EDuke features were needed for NAM/WW2GI/Platoon Leader. Additional modding/scripting functionality is planned, but it probably won't be in the form of CON extensions since those wouldn't benefit Blood, SW etc.
5

User is offline   Mark 

#427

Even though it was bad news, thanks. I guess Raze won't be of much use to me for now. I'll have to stay with Polymer and its limits and wait to see what becomes of Raze.
0

User is offline   jkas789 

#428

I'm running version 1.3.1 on my old iMac from 2010s. It runs great.
0

User is online   Phredreeke 

#429

Raze 1.5 was released yesterday

Polymost is still hanging in there.
4

User is offline   mjr4077au 

#430

Raze 1.6.0 Release

After months of continued refactoring, Raze 1.6.0 has been released.

Links


Highlights

  • All game code has been transitioned from Build's mixed fixed point to floating point math
  • Several bugfixes
  • A few of Duke's actor classes have been scriptified as a teaser for things to come
  • Experimental unlimited pitch, also giving Duke's weapons pitch adjusted velocity
  • Removal of the Polymost renderer. From now on we only support our new full 3D render.

Enabling unclamped pitch for Duke can be done from the Gameplay Options menu. All games can have an unlocked view pitch by setting cl_clampedpitch 0 in the console. Duke is more tested than anything else, however.

Full Release Notes

These are available from the announcement and download links.
6

User is online   Phredreeke 

#431

Posted Image

(I've been waiting so long to post this)
3

User is offline   NightFright 

  • The Truth is in here

#432

A port without Polymost. Only Graf could pull this off. Too bad many mods were/are written for it (Polymost).

This post has been edited by NightFright: 11 December 2022 - 10:59 PM

0

User is online   Phredreeke 

#433

Mods relying on EDuke32 CON code are out of the question anyway.
1

User is offline   mjr4077au 

#434

I think mods are only written for Polymost vs writing them for Polymer, which has its own share of issues. Our new renderer was developed with Polymost as the reference. Aside from maps that depend on TROR, you shouldn't find anything that doesn't work right and if you do, we definitely want to know about it.
3

#435

Indeed; Graf & the ZDoom devs are having to cope with tons of technical debt centred around the Build engine games; if I read this correctly, it's going to be a question of stabilising the engine for regular games and maps (and some mods) before adding ways of supporting the other types of mods; I do hope that will be possible in some form eventually.
0

User is online   Danukem 

  • Duke Plus Developer

#436

I'm assuming the goal is to make Duke 3D in Raze fully scriptable using ZScript. If EDuke32 still doesn't have a usable full 3D renderer by then, there won't be any reason for people making new mods for Duke 3D to use EDuke32, except for nostalgia or if they already have a lot of time invested using EDuke32.

For big existing mods that are still in development, they will continue to use EDuke32 because the effort of porting them would be enormous. This will be difficult to explain to the average player though, and I can foresee a time when criticisms will mount for those of us who stick with EDuke32.
1

User is online   Phredreeke 

#437

I actually think maps made with Polymost in mind will be less of a problem given both has to deal with sprite clipping issues from the Z-buffer.

View PostDanukem, on 12 December 2022 - 01:04 PM, said:

I'm assuming the goal is to make Duke 3D in Raze fully scriptable using ZScript. If EDuke32 still doesn't have a usable full 3D renderer by then, there won't be any reason for people making new mods for Duke 3D to use EDuke32, except for nostalgia or if they already have a lot of time invested using EDuke32.


This is not going to end well.
1

User is offline   mjr4077au 

#438

View PostDanukem, on 12 December 2022 - 01:04 PM, said:

I'm assuming the goal is to make Duke 3D in Raze fully scriptable using ZScript. If EDuke32 still doesn't have a usable full 3D renderer by then, there won't be any reason for people making new mods for Duke 3D to use EDuke32, except for nostalgia or if they already have a lot of time invested using EDuke32.

For big existing mods that are still in development, they will continue to use EDuke32 because the effort of porting them would be enormous. This will be difficult to explain to the average player though, and I can foresee a time when criticisms will mount for those of us who stick with EDuke32.

The goal is to make Duke 3D fully scriptable via ZScript, but I don't think this will manifest as a problem in the way you've described. At least in the Doom community, there's tonnes of modders who completely eschew GZDoom in favour of Boom compatibility, or even 1.9 compatibility. There's a tonne of newly discovered behaviours that you can do with the original Doom 1.9, such as Mikoportals which basically rely on signed integer overflow to achieve an effect.

Some do this for the challenge, some do this frankly because they don't like Graf. Not everyone here likes Graf either, and I know there's people here who have flat out not tried Raze at all, simply because Graf is the lead developer on it. Between that and the fact EDuke32 is the only engine that plays IF, which is an excellent game, I certainly don't see it going anywhere or becoming irrelevant.


View PostMartin Howe, on 12 December 2022 - 10:28 AM, said:

Indeed; Graf & the ZDoom devs are having to cope with tons of technical debt centred around the Build engine games; if I read this correctly, it's going to be a question of stabilising the engine for regular games and maps (and some mods) before adding ways of supporting the other types of mods; I do hope that will be possible in some form eventually.

The amount of technical debt has been quite high. For Blood and SW, and even Duke since we went back to JFDuke3D, there's a lot of 90s-esque code that's required significant uplift, as well as general refactoring to support actor management using a more modern approach. We want to eliminate setups that depend in particular picnums or tile indices etc, and that's no small feat.

We think the base games are sufficiently stabilised and we're finally at the point where we feel comfortable commencing on scripted access to the games. It took a long time to get there, but it was crucial to have the foundations as we wanted, and needed them to be.

This post has been edited by Mitch Richters: 12 December 2022 - 05:58 PM

6

#439

View PostMitch Richters, on 12 December 2022 - 05:35 PM, said:

there's tonnes of modders who completely eschew GZDoom in favour of Boom compatibility, or even 1.9 compatibility.

Herein lies the problem: Unlike Doom, Duke doesn't have a ton of modders.
1

User is offline   Jblade 

#440

even if I was willing to learn a whole new scripting language to develop for Raze, the lack of TROR support is 100% a deal killer. It absolutely should of been supported.

This post has been edited by Jblade: 13 May 2023 - 08:19 PM

0

User is offline   mjr4077au 

#441

View PostDoom64hunter, on 12 May 2023 - 04:26 AM, said:

Herein lies the problem: Unlike Doom, Duke doesn't have a ton of modders.

More options could invite more modders to the community though, be it mappers, artists, coders; whatever. CON does put a lot of people off, unfortunately...

View PostJblade, on 13 May 2023 - 08:19 PM, said:

even if I was willing to learn a whole new scripting language to develop for Raze, the lack of TROR support is 100% a deal killer. It absolutely should of been supported.

We plan on bringing TROR back. The reason it was dropped at the time was how intermixed and entangled it was with the game/engine's code as it limited our ability to refactor things.
6

User is offline   Reaper_Man 

  • Once and Future King

#442

View PostMitch Richters, on 15 May 2023 - 06:14 PM, said:

More options could invite more modders to the community though, be it mappers, artists, coders; whatever. CON does put a lot of people off, unfortunately...

We plan on bringing TROR back. The reason it was dropped at the time was how intermixed and entangled it was with the game/engine's code as it limited our ability to refactor things.


Is CON really more complex or "confusing" than ZScript? I'm sure your knee-jerk response will be "yes", given your experience with ZScript, but try to think of it objectively as someone who has no experience with either scripting language. CON no doubt has some oddities and quirks, but in my experience, most people's hangups with it are less because of the specific language, and more because new modders don't know how to write good scripting or don't understand programming fundamentals. These sort of problems are language agnostic - I'm sure ZScript forums get just as many "how do I [basic thing]" type questions as CON does. So I don't really buy that as a reason to justify scrapping CON in favor of something "more familiar".
3

User is online   Danukem 

  • Duke Plus Developer

#443

View PostReaper_Man, on 19 May 2023 - 05:19 AM, said:

but in my experience, most people's hangups with it are less because of the specific language, and more because new modders don't know how to write good scripting or don't understand programming fundamentals.


There are those people to be sure, but imo the messiness of the underlying game is more of a problem than the language. Duke 3D has many oddities and the way things work often seems arbitrary and hacky.

CON does have some serious issues, though. It's not really the fault of the EDuke32 developers as much as it is a consequence that it evolved from a very limited system that shipped with the 1996 game and the current language has to be compatible with that with other stuff built on top of it. It's why it has a dizzying number of different commands and so much redundancy.

If I could have one thing right now to improve CON I think it would be local variables for functions (.a.k.a "states). It would make code so much more portable between projects and code would be more readable because we could give variables names for their specific purpose.
3

#444

View PostReaper_Man, on 19 May 2023 - 05:19 AM, said:

Is CON really more complex or "confusing" than ZScript? I'm sure your knee-jerk response will be "yes", given your experience with ZScript, but try to think of it objectively as someone who has no experience with either scripting language. CON no doubt has some oddities and quirks, but in my experience, most people's hangups with it are less because of the specific language, and more because new modders don't know how to write good scripting or don't understand programming fundamentals. These sort of problems are language agnostic - I'm sure ZScript forums get just as many "how do I [basic thing]" type questions as CON does. So I don't really buy that as a reason to justify scrapping CON in favor of something "more familiar".

Off the top of my head:
  • No local variables (as Dan already mentioned). This is a huge problem for ensuring that variables are actually initialized properly when used. When you have global state, the value you get when reading the variable could come from literally anywhere if you're not careful.
  • No function calls with arguments or return values. States just don't cut it most of the time, and defining dedicated argument or return globals is a lot of overhead and again requires you to be very dilligent in making sure these are sanitized when used.
  • No proper arithmetic expressions. This is another big killer -- you can't have simple calculations inside an "if" conditional for example -- you have to write a sequence of tedious, assembly-like instructions to perform calculations that would normally be a one-liner in any other programming or scripting language.
  • Very limited conditional expressions. In any other language, conditionals can be combined with arithmetic and boolean expressions, but here, you have a ton of complexity to perform basic checks.

CON unites some of the worst aspects of Javascript and Assembly, combined with some really terrible Todd-isms i.e. intransparent interactions with hardcoded engine behaviors. Literally anything else would be easier to use -- ZScript, Lua, Angelscript, QuakeC, you name it.

In my opinion, a new scripting language should be a top priority topic for eduke32 as well. There used to be that Lua engine integration that HelixHorned started -- might be an idea to bring that back, or to integrate Angelscript or QuakeC with a new solution from scratch.

This post has been edited by Doom64hunter: 19 May 2023 - 03:29 PM

4

#445

I was going to be charitable and say that CON was about as good as could have been expected at the time, but the contemporary existence of HeXen ACS and (soon after) Quake C kinda put the kibosh on that. To be fair, the 'lets make every new language look like C' paradigm wasn't a thing at the time. And yes, I'm positively drooling at the thought of being able to make DN3D mods in ZScript. Now we need a DukeBuilder app to compliment DoomBuilder :)
0

User is offline   Mark 

#446

After taking the 25 cent tour of the zscript wiki one thing that stands out is being able to type in values directly without the need for setting up gamevars or variable names. Just type in "function 2, 55, 12" to set the parameters for that function. The sheer number of functions, features and control you have access to is impressive.

It took me a long time to comprehend what little con language I know so I don't plan on ever using anything else. Same with Mapster. I wear it like a comfortable old pair of shoes and won't give it up.
0

User is offline   mjr4077au 

#447

View PostReaper_Man, on 19 May 2023 - 05:19 AM, said:

Is CON really more complex or "confusing" than ZScript? I'm sure your knee-jerk response will be "yes", given your experience with ZScript, but try to think of it objectively as someone who has no experience with either scripting language. CON no doubt has some oddities and quirks, but in my experience, most people's hangups with it are less because of the specific language, and more because new modders don't know how to write good scripting or don't understand programming fundamentals. These sort of problems are language agnostic - I'm sure ZScript forums get just as many "how do I [basic thing]" type questions as CON does. So I don't really buy that as a reason to justify scrapping CON in favor of something "more familiar".

There's probably not a lot I can add that hasn't already been succinctly explained already; but in response to your last part, yes, GZDoom does get a lot of "how do I" questions, the same as I see in the Duke4 Discord server, however I see more people achieve a result with GZDoom and stick around whereas those who ask CON questions tend to just disappear, never to be seen again.

We're also not scrapping CON either, we're just adding ZScript and converting the original game's CON code to ZScript to allow building on it. If you load up a Duke 1.5 or EDuke 2.0 mod with custom code, the idea is that the converted CON code would be bypassed and CON is used completely. All of this is still very much WIP on our side though.


View PostDoom64hunter, on 19 May 2023 - 03:28 PM, said:

In my opinion, a new scripting language should be a top priority topic for eduke32 as well. There used to be that Lua engine integration that HelixHorned started -- might be an idea to bring that back, or to integrate Angelscript or QuakeC with a new solution from scratch.

I don't know how feasible this is to be honest. Not just from a lack of developers, but now that EDuke32 is commercially used I'm unsure anything so drastic that could interfere with IF would be accepted.

Regarding the mention on AngelScript, I thought I'd highlight why ZScript was developed even though AngelScript is a thing: https://forum.zdoom....69922#p1069922. I don't know whether the reasons stated in 2018 are still valid today, though.
3

User is offline   Jblade 

#448

The counterpoint is that Build is fun but it's not a good engine to work with compared to all the other alternatives out there, so putting effort into new better coding languages isn't productive because there is quite literally about 3 or 4 people who could justify its usage. The issue isn't CON, it's the antediluvian Build editor that stops more people from making stuff.
0

User is offline   Aleks 

#449

I wouldn't say that Build (which is now enhanced with Mapster editor, of course) is that much of a problem. There tends to be some myths about how difficult it is to learn back from the days when it was really the original DOS Build that was pretty relentless and unforgiving on its user and lacked all the small quality of life enhancements like showing sprite shapes/sizes in 2D mode, the 3D mode preview, units and symmetry marked on lines, easier manipulation of basically everything etc. One argument I often see mentioned is the lack of "user-friendly interface" which I assume means having shiny icons on some bar instead of hotkeys for every operation that initially require some memorizing (but then get intrinsically linked to the muscle memory anyway); while it might be valid for beginners, if someone really wants to be fluent at using the editor, the hotkeys are a way to go. The same thing was when I was learning AutoCAD - sure it's nice there are icons for everything, but using hotkeys and selecting the commands entirely by keyboard while having the mouse "free" for other uses at all times boosted the speed/productivity by like 50%. And it does seem that people who start with asking basic mapping questions (mostly on Discord) and not being afraid to experiment and spend some time learning the basics do stick around (and sometimes end up making awesome stuff, like Dan Douglas).

I am not really competent to talk about CON as I've never learned it past the very basics in 20+ years modding for Duke - but that might say something about it in itself. No idea about ZScript either, but I think having an alternative to CON would be only good though and might indeed lead more people to start tinkering with it.
1

User is offline   Jblade 

#450

Quote

One argument I often see mentioned is the lack of "user-friendly interface" which I assume means having shiny icons on some bar instead of hotkeys for every operation that initially require some memorizing (but then get intrinsically linked to the muscle memory anyway)

Do you mean something that's been the standard for any computer program that's not made for DOS? I have an entire discord full of people who would want to map but understandably don't want to use a program with a near 30 year old interface. It's a barrier to entry, it's not insurmountable but it exists.
3

Share this topic:


  • 16 Pages +
  • « First
  • 13
  • 14
  • 15
  • 16
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options