Duke4.net Forums: About assault trooper colors - Duke4.net Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

About assault trooper colors

User is offline   eniojr 

#1

Hi, i'd like to know how to prevent the assault trooper with palette 0 to turn to green (pal 11). That's because I'm making each palette to shoot a different projectile. Here's the code in GAME.CON:

state troopshootstate
ifactioncount 2
{
    ifcanshoottarget
    {
        ifspritepal 0 { sound PRED_ATTACK shoot FIRELASER } else
        ifspritepal 10 { sound RPG_SHOOT shoot RPG } else 
        ifspritepal 11 { sound PRED_ATTACK shoot FIRELASER } else
        ifspritepal 12 { sound PLASMARIFLE_FIRE shoot PLASMAPROJ } else
        ifspritepal 15 { sound FLAMEALT_SOUND shoot FLAMEPROJ } else
        ifspritepal 16 { sound PISTOL_FIRE shoot 3980 } else
        ifspritepal 19 { sound GROWSPARK shoot GROWSPARK } else
        ifspritepal 23 { sound CAT_FIRE shoot FREEZEBLAST } else
        resetcount
        
        ifrnd 128
            ai AITROOPSEEKPLAYER
        ifcount 24
        {
            ifrnd 96
            ifpdistg 2048
                ai AITROOPSEEKPLAYER
            else
            {
                ifpdistg 1596
                    ai AITROOPFLEEING
                else
                    ai AITROOPFLEEINGBACK
            }
        }
    }
    else
        ai AITROOPSEEKPLAYER
}
ends


The problem is that the "ifspritepal 0 { sound PRED_ATTACK shoot FIRELASER }" doesn't shoot anything. If you change the palette to 11, fine, but in pal 0, nothing.

I also tried this:


ifspritepal 10 { sound RPG_SHOOT shoot RPG } else 
        ifspritepal 11 { sound PRED_ATTACK shoot FIRELASER } else
        ifspritepal 12 { sound PLASMARIFLE_FIRE shoot PLASMAPROJ } else
        ifspritepal 15 { sound FLAMEALT_SOUND shoot FLAMEPROJ } else
        ifspritepal 16 { sound PISTOL_FIRE shoot 3980 } else
        ifspritepal 19 { sound GROWSPARK shoot GROWSPARK } else
        ifspritepal 23 { sound CAT_FIRE shoot FREEZEBLAST } else
	sound PRED_ATTACK shoot FIRELASER else
        resetcount


In this case, even the trooper with pal 0 shoot, but the other ones with different color also shoot firelaser with another projectile, which is I don't want.

Is there a way to prevent the trooper with pal 0 to switch to pal 11, so that it keeps that standard blue color of palette 0? That would allow me to specify firelaser to pal 0 and shrinker to pal 11.

I think the reason for that problem is that there's some hard coded thing that makes the blue trooper turns into green trooper.

Is there a way I can prevent this by making some CON script? Maybe some condition to prevent the automatic switch from 0 to 11?

Here's a picture to give you some idea of what I'm making:

Posted Image

The troopers behind each door have a different color from 0, while the trooper in the corridor have color 0. The idea is that each color make the troop shoot a different projectile other than firelaser.

I also did the same thing to many other enemies and didn't have problems with this!

This post has been edited by eniojr: 21 January 2025 - 10:48 AM

0

User is offline   Aleks 

#2

Maybe it's a crude workaround, but you could just give the default trooper e.g. pal 3 so it stays blue?
1

User is offline   Danukem 

  • Duke Plus Developer

#3

Make it a switch statement where FIRELASER is the default and then the other cases specify what the special pals do. Your current setup is bad because any pals not listed will simply not fire at all, and there are user maps where those exist. If you don't know how to overcome the hardcoding that makes pal 0 -> pal 11 then don't include pal 0 in the list, make it pal 3 like Aleks said.
0

User is offline   eniojr 

#4

If only there was a program to convert source code to CON language... With this one could make an entire Duke Nukem 3D code based on CON, like Ion Fury. So it would be much easier to make new mods.

I think the way Duke Nukem 3D was designed was faulty (Shadow Warrior was the worst case), due to many hardcoded things not translated to CON. If the game was entirely made using CON or a more developed version of CON language in that epoch, maybe Duke Nukem would be as easy to mod as Doom is, so it would be more popular, I think.

I think Marcolino is trying to develop such thing, don't really know.

I don't plan modding Doom, since Doom engine is much more primitive, I don't like that much. I still prefer to deal with the complex CON language of Duke Nukem.

At least now I can do some cool things with that. I created 3 new simple sector effector effects with sound and visual effects, based on Legacy. Legacy has an effect in that you take damage while in space not wearing a spacesuit. Based on that, I made 2 similar effects, one in which represents taking cold damage and another representing a toxic effect. The cold damage also makes you shake (earthquake effect without sound) and makes you run slower too, taking small draining damage. The toxic effect is more similar to the space damage, but with different sounds and color. The third effect is a sector healing effect, in that you instead of taking damage, you gain health (suitable for maps with few medkits or even none, such as an alien planet or spaceship, like that healing effect on Xen in Half Life).

I also made something iconic from Doom in Duke Nukem... That iconic HUD face, but as Duke Nukem. It's animated and responds to loss of health, nearby attacks and there's animation for very low health, with a scared face bleeding. There's also a face for death and god mode. I also plan to make a god effect through an item with limited time, similar to that of ROTT. Eventually I'll show the results here. But for now the focus is on making new variations of enemies thorugh different colors, using palette values for that.


As for our little problem...

I just found a solution in Nuclear Winter mod to the palette color, which has this code:

      ifactioncount 2
      {
        ifcanshoottarget
        {
          resetactioncount
		
        ifspritepal 16 { sound PISTOL_FIRE shoot 3980 shoot SHOTSPARK1 } else 
        ifspritepal 23 { sound CAT_FIRE shoot FREEZEBLAST } else
        { sound PRED_ATTACK shoot FIRELASER }
        }
        else ai AITROOPSEEKPLAYER
      }
  }


So based on that I made this:

state troopshootstate
  ifactioncount 2
  {
    ifcanshoottarget
    {    
        ifspritepal 10 { sound RPG_SHOOT shoot RPG } else
        ifspritepal 11 { sound PRED_ATTACK shoot FIRELASER } else
        ifspritepal 12 { sound PLASMARIFLE_FIRE shoot PLASMAPROJ } else
        ifspritepal 15 { sound FLAMEALT_SOUND shoot FLAMEPROJ } else
        ifspritepal 16 { sound PISTOL_FIRE shoot 3980 shoot SHOTSPARK1 } else 
	ifspritepal 19 { sound GROWSPARK shoot GROWSPARK } else
        ifspritepal 23 { sound CAT_FIRE shoot FREEZEBLAST } else
        { sound PRED_ATTACK shoot FIRELASER }
      resetactioncount
      ifrnd 128
        ai AITROOPSEEKPLAYER
      ifcount 24
      {
        ifrnd 96
          ifpdistg 2048
            ai AITROOPSEEKPLAYER
          else
          {
            ifpdistg 1596
              ai AITROOPFLEEING
            else
              ai AITROOPFLEEINGBACK
          }
      }
    }
    else
      ai AITROOPSEEKPLAYER
	}
	
	ifspritepal 19
    ifpdistl 2048
    {
        state troopabouttoexplode
		sound LASERTRIP_ONWALL
		sound LASERTRIP_ARMING
	}
ends


I tried that case thing, but couldn't solve the problem that way. Maybe I'm still too dumb with CON anyway.

Now each color only shoots the desired projectile. Oh, and that state troopabouttoexplode I made for some enemies with pal 19. If you get close to them, they will explode in your face!

Enemies with spritepal 19, 30 and 31 causes damage when you approach them. 19 explode, 30 have a toxic effect and 31 a shock effect. The smoke spawned by enemies with spritepal 30 causes toxic damage by itself. Enemies with that same pal also spawn that greenslime enemy. I'm thinking in making an enemy (maybe a mini boss) that spawns sentry drones. Maybe if I recreate one of those ROTT robots... Maybe that NME thing, hehe!

For now, the results:

Posted Image
Posted Image
Posted Image
Posted Image
Posted Image
Posted Image
Posted Image
Posted Image
Posted Image
Posted Image
Posted Image
Posted Image
Posted Image
Posted Image
Posted Image
Posted Image
Posted Image
Posted Image
Posted Image
Posted Image

The last image shows a mini boss I made, based on DPRECON from Dukeplus. It shoots many projectiles in sequence.


Posted Image

As for the map itself, it's somewhat similar to those _SE.map and _ST.MAP.
0

User is offline   eniojr 

#5

There's another thing I noticed in the GAME.CON codes...

There seems to be a glitch related to the Assault Trooper and the Enforcer. The Assault Trooper is represented with a name that is very similar to the Enforcer. The Assault Trooper is listed as Trooper, but there are also references to Liztroop in the code on that actor, while the Enforcer is called Lizman. In my opinion, Lizman should be referred to as Enforcer in the code to avoid confusion, even in the codes. I think this was a flaw on the part of the developers, in addition to the automatic color change of the Assault Trooper.

Unless that was done on purpose (which I still think is a mistake).

If I had made the game, I would have chosen names that were not too similar for the enemies, to avoid confusion in the codes. For example, Trooper would be Assaulter, while Lizman could have remained that way or as Enforcer, while Pigcop would still have the same name, as would the others. If I had made the game, I would have added civilians, not just babes. That would have given the game more life.

I'm currently trying to apply an effect I added to the game, regarding the slippery floor. This effect works for the player, but for the enemies, so far it only works for Pigcop, and not for the others. It seems that there is something in the Trooper's movement physics that prevents him from moving slower on slippery floors with lotag 50. Or maybe because I got the slippery floor effect from DukePlus while the enemy slipping on the floor effect I got from Naferia... I'll try to get the slipping effect from Naferia to see if it works on the Trooper.

I don't understand why the developers made the CON language in a way that allowed Duke Nukem 3D to be modded, but even so only a part of the game is in the CON files, and not the entire game (in terms of source code), unlike what was done with Ion Fury. There is a lot of stuff in Duke Nukem that is obscured (hard coded). The Eduke32 developers could try to convert the entire game source code to the CON language.

If possible, of course. This would make it easier for new modders.

As a consequence, the GAME.CON, USER.CON and DEFS.CON files would have to be remade from scratch, and the game would probably end up having more CON files. In this case, if someone installed Eduke32 on the original game, the CON files would have to be replaced by the new Eduke32 files. This is just an idea I'm putting forward.

This would allow the entire game to be modded, if that was the developers' intention. But since the game is not as popular today as it was in the 90s and since it is already outdated, I believe there would be no problem in converting the entire game to the CON language, so that there would be no more hard-coded elements that are difficult to deal with or modify. This, of course, would make it easier to create better mods. The BUILD engine would remain the same, only the entire original game would be transliterated to CON. I heard of a newer version of the engine that was developed, but I don't think it ended up being very successful.



Maybe Eduke32 should support BUILD2, since it's the successor to the classic. Or maybe Eduke32 could have its own more modern version of BUILD. This would allow for more modern gameplay elements.

Maybe it's time for Eduke32 to be converted to Eduke64...



I've also heard of a new engine being tested for the game, a certain Brahma. The only change I would suggest for Build would be to double the maximum number of sectors, walls and sprites. The rest seems sufficient to me. Link to the Brahma engine channel: https://www.youtube....7qR4UGR2Y-dtgfm

Even though Duke Nukem 3D is already an old and obsolete game nowadays, I still see great potential if 3 things were done.

First: Transliterate all the source code to the CON language, so that the entire game could be modded, without difficult elements to deal with due to obscure coding, which would make it easier to create mods for both those who already know how to do it well and for beginners.

Second: If possible, modernize the CON language itself, which could be done by Eduke32 himself, along with more detailed examples on how to apply it in practice, more script creation models with several examples of scripts from various mods on the Eduke32 Wiki website. For example, scripts for various effects from mods such as Dukeplus, Naferia, AWOL, Duke Forces, Alien Armaggedon, AMCSquad, Kickass, Demon Throne, etc., as well as scripts for new monsters, civilians, items, among other things, such as creating new palettes.

The ultimate Duke Nukem 3D code modding tutorial!

Third: Modernization of the game's own engine, allowing for a more up-to-date version of the BUILD engine itself or perhaps the BRAHMA engine, which still seems to be in the testing phase, and which seems to be even more promising in terms of graphics and gameplay, although I'm still more familiar with BUILD itself.

Of these 3 things, the easiest would be regarding the CON language and more tutorials on the Eduke32 wiki. The slightly more challenging would be transliterating all of the game's source code into .CON files, which doesn't seem like an impossible task to me, although it is laborious and seeing if the game itself would be able to support it. The most complicated would be to make changes to the BUILD engine itself, through a major update from Eduke32 to Eduke64, lol.
-1

User is offline   Phredreeke 

#6

View Posteniojr, on 21 January 2025 - 05:08 PM, said:

If only there was a program to convert source code to CON language... With this one could make an entire Duke Nukem 3D code based on CON, like Ion Fury. So it would be much easier to make new mods.

I think the way Duke Nukem 3D was designed was faulty (Shadow Warrior was the worst case), due to many hardcoded things not translated to CON. If the game was entirely made using CON or a more developed version of CON language in that epoch, maybe Duke Nukem would be as easy to mod as Doom is, so it would be more popular, I think.

View Posteniojr, on 22 January 2025 - 04:27 PM, said:

I don't understand why the developers made the CON language in a way that allowed Duke Nukem 3D to be modded, but even so only a part of the game is in the CON files, and not the entire game (in terms of source code), unlike what was done with Ion Fury. There is a lot of stuff in Duke Nukem that is obscured (hard coded).


It would be too slow for the computers of the time (remember, the devs that ported Ion Fury to Switch had to convert much of the game logic back to native code, and the Switch is like 20x faster than the computers of the era)

This post has been edited by Phredreeke: 23 January 2025 - 02:22 AM

0

User is offline   Danukem 

  • Duke Plus Developer

#7

LIZMAN is a good label for the lizard men. Like what fuck is an "enforcer"? Sounds more like a mafia job description. I'm guessing Todd R. either didn't know or didn't care what some of the enemies were going to be called in the instruction manual. I wish he had kept the theme and gone with FATMAN or FATTIE instead of COMMANDER.

The worst enemy label is NEWBEAST. I mean c'mon, it clearly should be ALIEN.

Best ones are BOSS1, BOSS2, BOSS3, BOSS4. It effectively conveys the idea that we don't give a fuck -- prepare to circle strafe and don't be surprised if the miniboss version loses its mind after you shrink it because we just copy pasted some code into it that contained a wrong label.

One thing we know from the labels is that Todd was a dog lover. How do I know this? Because ROBOTDOG. Why robot? It literally has guts come out of it and makes real dog sounds when you hurt it or kill lt. I'm imagining that he was instructed to make a dog sprite like that. But he was like, "Fuck that. People can shoot hookers all day but they are not killing innocent pups in this game! These dogs are canonically ROBOTS!"
0

User is offline   brullov 

  • Senior Artist at TGK

#8

What specifically are you currently missing in Eduke32's capabilities? Eduke32 wiki has good technical documentation, not perfect but much better than some official libraries of popular programming languages. Why would you want to increase the limit of sectors, walls, and sprites? Have you ever tried to reach them?

Anything is possible, but there must be a good reason for implementation.
0

User is offline   eniojr 

#9

Quote

What specifically are you currently missing in Eduke32's capabilities? Eduke32 wiki has good technical documentation, not perfect but much better than some official libraries of popular programming languages. Why would you want to increase the limit of sectors, walls, and sprites? Have you ever tried to reach them?


Yes, I tried to make a big city level. The level itself was runnig fine, but I had to cut many rooms from that map i was making, because of the engine limit. The total map space in the engine is too big to have such limitations of walls and sprites.

Maybe Duke Nukem 3D was made to have small levels after all.

Eduke32 Wiki has good information for experts, not for newbies in coding. The codes themselves are explained, but the context to put them, not so, not very clear in many cases.

I saw many things in mods that lacks in Eduke32 wiki.

That's why I port features from mods and that's why I almost can't create new things from scratch, because there are many things that I don't have a clue on how to do. For example, how to make a projectile to seek the player (homing missiles).

At least now I understand that everytime a state is called in another state or event or actor, the state must be before the code that calls it. At least now I understand a bit more about scripting (things like EVENT_GAME, states in general, frames for sprites, etc) .

For example, that HUD face code I got from Imaginary World TC, but I improved a little, to allow more expressions. The textures I got from a series of textures used in Samsara mod for Doom.

But for that to work, I had to made changes in the original code to work inside Legacy mod. And man, the result is very cool and fun!

Legacy is about beta content and challenge isn't it? What about adding elements from games released in 1994 and 1995 for exemple? This would add some nostalgia.

The idea of Legacy mixed with Dukeplus and elements of some other mods seems amazing to me.

This post has been edited by eniojr: 24 January 2025 - 05:01 PM

0

User is online   ck3D 

#10

View PostDanukem, on 23 January 2025 - 02:23 AM, said:

Best ones are BOSS1, BOSS2, BOSS3, BOSS4. It effectively conveys the idea that we don't give a fuck -- prepare to circle strafe and don't be surprised if the miniboss version loses its mind after you shrink it because we just copy pasted some code into it that contained a wrong label.


The BOSS2/BOSS3 mix-up is annoying though. Obviously I got used to it over the years but it's super counterintuitive and confusing that BOSS2 is Cycloid and BOSS3 is Overlord. I've clearly started editing the wrong boss a couple of times before without thinking only to remember the mistake halfway through the process.
0

User is offline   eniojr 

#11

I just managed to add a custom projectile to the game that acts like a missile that follows you. It appears when enemies with spritepal 19 (which explode when you get close to them, or alien bombs) and this projectile, despite being somewhat slow, follows you, while you must avoid enemies with spritepal 19 from getting too close to you, otherwise they will explode in your face. I tried to get this through Dukeplus, but I could only do it by calling "state faceduke" (instead of "state guideit", which carries "state gradualturn") directly to a case in the projectile in EVENT_GAME. Using the "state faceduke" directly worked very well. Now I can make follower projectiles!

For example, the assault trooper with pal 19 is an alien bomb that shoots such projectiles instead of a laser, so you are forced to run away from both the alien and the projectile. All aliens with pal 19 that are bomb aliens will explode after they die. So it's always necessary to keep your distance from them. Also, I programmed all enemies with pal 19 to be faster, so you'll need to keep running away from them.

This could allow me, later on, if I want to add an enemy like that NME from ROTT, I'll now be able to make the follower projectiles like those of that boss from episode 3. If that happens, I'll have made a formidable boss for Duke Nukem 3D. I was thinking of adding something from the Rise of the Triad lore to Duke Nukem. Like... El Oscuro was defeated once and for all, and the remaining militia formed a new mafia with General Darian's brother, but their plan for domination was interrupted by the alien invasion. They then made a series of deals with the aliens, so that they ended up allied with them, but at a price...

They would become parasitic instruments of the aliens.

From the HUNT group, the only one left alive was Thi Barret, but she was captured by the mafia and Duke Nukem needs to rescue her so she can continue her own missions against the aliens. Thi Barret would be imprisoned in a monastery, which would be one of the stages I still intend to do. After rescuing her, you and she would go your separate ways (since I still don't have the expertise to add allied actors to the game). Bombshell is too busy with her own offensives against the aliens, so this time she won't be able to help Duke Nukem.

If I ever manage to add ROTT's enemies to the game, they would be parasitized humans, as instruments of control and domination of the aliens. This would allow for a good fit of the lore of the two games in a crossover. And of course, the mafia would still be wearing those fascist costumes. They could be parasitized by the greenslimers, so that, if they die, they would give rise to these aliens.

But all of this is still just a distant dream.
0

User is offline   brullov 

  • Senior Artist at TGK

#12

View Posteniojr, on 24 January 2025 - 04:50 PM, said:

Yes, I tried to make a big city level. The level itself was runnig fine, but I had to cut many rooms from that map i was making, because of the engine limit. The total map space in the engine is too big to have such limitations of walls and sprites.

Maybe Duke Nukem 3D was made to have small levels after all.


That's the right answer to your request. If you want to remove the limit, you need another engine.

View Posteniojr, on 24 January 2025 - 04:50 PM, said:

Eduke32 Wiki has good information for experts, not for newbies in coding. The codes themselves are explained, but the context to put them, not so, not very clear in many cases.

I saw many things in mods that lacks in Eduke32 wiki.


Eduke32 Wiki may have some roughness, but that's not the point. The thing is that modding a game is not for newbies. If you want to edit or change something, you must understand how it works. In mods, you saw the problem-solving method, not a mysterious command that was not mentioned in Eduke32.

View Posteniojr, on 24 January 2025 - 04:50 PM, said:

That's why I port features from mods and that's why I almost can't create new things from scratch, because there are many things that I don't have a clue on how to do.


Of course, you don't have a clue dude. You're simply copying block snippets and trying to understand how it works. But that will bring you nowhere. You'll have the same level of "understanding" forever unless you learn how programming works.

I am a little bit confused because you're telling us about additional modifications to the existing code you're ripping. And that means you already have some clue about programming.
0

User is offline   Reaper_Man 

  • Once and Future King

#13

brullov not sure if you know the lore, this guy uses ChatGPT to write his CON (and by "write his CON", I mean copy-paste code from other projects and change names until it stops throwing errors). He doesn't know shit from fuck, and couldn't care less about learning. Actually worse, he thinks copying code and editing variable names is "learning". So, of course he doesn't know anything, thinks he knows everything, and takes zero feedback or criticisms.

I'm the last person to write people off who are trying to learn this insane engine, but I have no patience for people who are neither trying nor learning.
0

User is offline   eniojr 

#14

Quote

That's the right answer to your request. If you want to remove the limit, you need another engine.

That's why I suggested modifications in the engine, or the support for a similar engine but more advanced (like BUILD 2 or Brahma).

Quote

Eduke32 Wiki may have some roughness, but that's not the point. The thing is that modding a game is not for newbies. If you want to edit or change something, you must understand how it works. In mods, you saw the problem-solving method, not a mysterious command that was not mentioned in Eduke32.

I know that, but if the original CON files don't have CON codes for things that are hard-coded, and many hard-coded things aren't described in the wiki, I won't have clues on how to change those things. That's why in this case I port codes from mods, or even modify the codes in many cases for my taste. For example, the primary fire of that plasmagun of Legacy. I wasn't satisfied with that and I made the projectiles to bounce in walls, floor and ceiling, like freezeblast projectile of that freeze weapon does. This added a new feature, in that now I can fire many projectiles in a room to hit many enemies at the same time, as a gameplay strategy.


Quote

Of course, you don't have a clue dude. You're simply copying block snippets and trying to understand how it works. But that will bring you nowhere. You'll have the same level of "understanding" forever unless you learn how programming works.

That's because I've never modded before (except for some experiments in changing some codes here and there), I started that months ago. I'm also not a programmer. I'm new to all this.

That's why, in many cases, I still need the assistence of AI to help me search and identify the meaning of the context for some scripts.

What I really know of how to do from myself are simple and small scripts for simple things, not big and complex scripts with calculations!

Quote

I am a little bit confused because you're telling us about additional modifications to the existing code you're ripping. And that means you already have some clue about programming.

In fact I know some things already, but I'm still a starter, not an experienced modder in CON. I know how to add textures, animations and sounds, for example. I know things that you can't use in CON, like < > ; ! = and +, things that I saw before in the source code but cannot be used in CON. I know some rules, for example, that if you call for a state inside a block, the state must be before that block, or won't be loaded. That states should be before events and actors blocks. So I know some rules, but there are still many things that I didn't understand yet.

But as I explore more and more different things within Duke Nukem's coding, I gradually discover more about how to use the syntaxes, as the need to change or add something forces me to understand certain syntaxes and the contexts in which they should be used.

For example, "ifwasweapon" is usually inside the "ifhitweapon" block, just as "ifactioncount" is usually inside ifcount. In other words, there is a rule about which conditional should be based on another conditional. And this is something I have observed a lot when looking at code from various mods and the game itself. Another example is that there must always be a break after a "case (something)" and in many cases, if not all, the "case" must be inside a "switch picnum" and in this case it ends with an "endswitch" and when inside an event, it ends with "endevent" and if inside a state, it ends with "ends".

What I actually know is the basics of a script plus what some syntaxes are for. The difficulty begins when several syntaxes start to relate to each other, and then I start to get lost and end up needing external assistance for more complex cases, although in certain cases this assistance does the wrong thing and I have to rack my brains trying to understand what those syntaxes are for and what the relationship between them is. And in some of these cases I ended up learning about new syntaxes.

For example, now I'm dealing with projectiles, so now I'm learning about defineprojectile. Fortunately, there is clearer information about this on the Wiki, so that made it a little easier for me. There is an example there regarding the pipebomb.

For someone who, until a few months ago, didn't know anything about how to add things to the game by taking things from various mods and replicating things from other games (which includes the animated face on the HUD based on Doom) and a sound and visual effect when HP is low (simulating an effect from ROTT), not to mention that I recently created new sector effects based on one from Legacy, I ended up learning a lot of things. Today I understand the context of mod scripts much better than I did 6 months ago, including certain syntaxes.

But in general, although I'm learning relatively quickly, I'm still a beginner in CON programming. If I were much more experienced in this, I would have been able to do more complex things on my own, without needing codes already made in various mods, although in certain mods I've seen things taken from others. There are certain mods out there that have things from Dukeplus, for example. I've seen the codes myself... Including textures from Shadow Warrior and Redneck Rampage, which I also did. So I don't think this is a problem in itself.

I think that what you really can't do is profit from mods. Or say that you did everything without borrowing anything from other mods and games... The vast majority of mods that I've played and analyzed do have something from other older mods. I think that Dukeplus has become the basis for all this, of taking mods to make another, although I find this very useful, and not a problem in itself. If it weren't for Dukeplus, I wouldn't have been able to put a lot of cool stuff in Legacy, by the way. The day I make a truly independent mod, without needing Legacy, I think it will be based on Dukeplus as the primary base.

As Naferia must have done, by the way...

So the real problem is not making a mod from another, from what I've seen, but profiting from it and saying that you did everything without borrowing anything.

And look, I'm not even making a new mod from Legacy, because my intention is just to make a complement with additional and modified content to be used in that mod and for a custom episode that I intend to create for it, and not an independent new mod from it. Because as I said, if I create a new mod, it will be using Dukeplus as a base, and not Legacy.
0

User is offline   eniojr 

#15

Quote

brullov not sure if you know the lore, this guy uses ChatGPT to write his CON (and by "write his CON", I mean copy-paste code from other projects and change names until it stops throwing errors). He doesn't know shit from fuck, and couldn't care less about learning. Actually worse, he thinks copying code and editing variable names is "learning". So, of course he doesn't know anything, thinks he knows everything, and takes zero feedback or criticisms.

I'm the last person to write people off who are trying to learn this insane engine, but I have no patience for people who are neither trying nor learning.


That's not always the case, you can be sure of that!

In fact, months ago, I used AI with more frequency, because my understanting of CON was even worse than today, much more fragmented (when I was still trying to add that ladder feature to Legacy, remember?). Now I use it less. I only use when I want to understand big scripts from mods, the meaning of them (because of the complexity and because I only still understand better small scripts). Or if I want to know the relationship between states and events. But not to make new scripts from scratch! For example, the new SE effects I made based on an effect from Legacy and I didn't use AI, because they were simple to do, not big complex scripts with calculations and many timers!

Because now I know that AI can't just make new things from scratch.

After the projectiles, I'll focus on adding weapons and alternative fires, but I know that this will be more difficult than just creating and modifying projectiles. I'll try to base myself on the Legacy codes first, since I'm using it as a base.

Well, I've already made it clear that I have a different way of learning codes, first by observing entire scripts as a model, and then by learning their context and, by analyzing each line of code, trying to understand what the syntaxes are for, whether individually or as a whole, first individually and then in relation to one another.

It was in this way, by messing with codes by force and experimentation, and not just studying everything first on an incomplete wiki and incomplete game in CON, that I've already managed to learn the meaning of some, if not a certain number, of syntaxes. As I need to deal with more types of syntaxes and scripts, I'll learn more and more about this language.

I have no idea how most people here learn this language, but this is how I'm managing to learn it. Even if it's not the best way, it's what I managed to do on my own so far.

So don't say I don't want to learn CON language. It's just that i'm still starting with that and because I'm not a professional in coding.

This post has been edited by eniojr: 25 January 2025 - 08:28 PM

-1

User is offline   brullov 

  • Senior Artist at TGK

#16

Duke4 just fucked my long post replying to all of your statements and I have no will to rewrite everything. So here is a sum-up:

We just shout to you that programming language and programming skills are different things. But you just don't hear us. You want to get everything at once, to do something big with minimal effort, but it doesn't work that way. As a result, you have wasted so much time and still have the same level of knowledge as before. During this time you could have learned simple things and moved on to more complex tasks.
0

User is offline   Hendricks266 

  • Weaponized Autism

  #17

eniojr believes the way to make a mod is to plagiarize everyone else's work. And yet, with the same level of ignorance, makes clueless suggestions about "more advanced engine" and "modernize the language" when we are already leading the front of these things. We are the "more modern version of BUILD".

I already did "EDuke64" more than ten years ago, and we supported 64-bit on Linux even before that. We decided to keep the name the same in all cases. Search this forum.

Neither BUILD 2 or Brahma are an "upgrade" path for us. You don't just "switch engines". That's not how any of this works.

If you want us to take you seriously, never bring up these things again.
1

User is offline   Reaper_Man 

  • Once and Future King

#18

You didn't make a new SE effect. You took SE code from Legacy, edited a few things, and started calling it "new" and calling it "yours".

You keep saying you are "basing on" stuff from other mods, and that "you made" things. That's not true.

Literally all you are doing is are stealing other people's code, changing a few lines, and then claiming you made something new. You haven't made anything at all.
0

User is offline   eniojr 

#19

I think there's a big misunderstanding here. First, I'm not interested in making a mod at the moment, I'm just adding stuff from other mods to Legacy, for a custom episode I plan to make. I'll only create a REAL mod a long time from now, when I have more experience and skills in programming the game, then it will be real, but for now, I'm just testing and learning the language little by little. As I said, and maybe I didn't make it clear, everything I'm doing is just a test, an experiment, because I'm only now starting to explore the game's programming, because until now I've only been creating maps, nothing more than that.

I have no intention of plagiarizing anyone, because as I said, I'm not making a mod, I'm just adding more stuff to a mod that I really liked and I'm still learning how to do it. What I'm really doing, at the moment, is learning how to add more stuff to the game, whether in relation to the mod or the original game. All of this will be done just to make a custom episode in a mod that I'm not even the author of. This episode will be just an add-on, and not an official mod, so you can rest assured about that. After all, if this episode becomes available for download, it will only be with the authorization of the author of Legacy.

Otherwise, it will be for personal use only. So there's no need for all this fuss! I'm not stealing anything, since I'm not making a true independent mod, much less profiting from it, because that would be condemnable! I don't know about you guys, but my intention is not to harm any mod author, I would never do something like that! What the hell! At least I have a clear conscience about this!

If you're referring to "stealing" the act of learning how to take something from one mod and put it into another for personal learning purposes and for the purpose of trying to do something different, simply because you thought it was cool and wanted to put it into another mod to see how it works, to understand how the effects work, or even with the intention of somehow improving an existing mod through an extension, which will only be made available for download with the authorization of the mod author, then there's nothing I can do about it, because it seems to me to be just a matter of ego and competitive culture.

What I'm going to do doesn't even come close to Legacy and Dukeplus, not to mention the coding and organization of the scripts, which aren't very organized, so it will still be a long time before I can do something really cool or innovative. For example, just now I made, on my own, and without using any mod, a simple effect in which when you approach an enemy with low HP and interact with him, he dies and explodes, as if Duke had beaten him up. The animation part is still in development, because I'm trying, with some difficulty, to simulate Duke's hand on the screen punching the enemy during the interaction. And it's not even an animated sprite, but that one when Duke shrinks. This doesn't even come close in quality to what's in Alien Armageddon, in terms of the brutality effect, because what I did was quite crude and simple!

And no, I didn't get codes from AA to make that, that's for sure! I really want to make something from my own, personal, related to brutal interaction with aliens!

The idea of ​​creating a megamod is still just an utopia, something very distant from now. It won't be in this, next or another near year. I think someone thought I would be making something like that now. Maybe I'll never do that, due to the difficulty.

Besides that, I don't know if I made this clear, but I've already added some new things on my own, and these things involve much simpler codes than the ones I got from mods (for example, the face on the HUD and an effect that occurs when health is low), as well as damage effects for getting close to certain sprites, with sound and visual effects, and a mine as a trap. Regarding what I said about having made a new effect, in fact, it wasn't really a new sector effect, but variations, although that was a learning experience. I'm sorry if I wasn't clear about that.

It just seemed like a new effect to me, I was so excited to have managed to make something even a little different from what was already in the mod! I'm sorry if I don't understand technical terms very well, as I'm still starting out with this.

I'm still really far from being able to make a totally innovative effect that requires complex calculations!

I'm not being rude or crude at all, the entire thing is that lately I've been so excited about the idea of ​​having managed to change and add things (unlike what I've done for a long time) that I've accidentally rushed into things, and I apologize for this having caused a misunderstanding. I'm not putting down anyone's work here, much less the mods I've explored. I'm even grateful that there's a community like this in relation to the game.

There's a lot of useful stuff here that I wouldn't be able to find anywhere else, in relation to the game, of course. And it's not just about programming, but also about developing maps.

I haven't wasted any time, on the contrary, in the months since I started using this language, I've already learned a few more things. Before that, I had no idea what an event or state was, for example. Now when I look through CON files, I already have a much clearer idea of ​​what a certain script means in the general context, which I couldn't before.

Regarding the use of AI, I don't see any problems with it, as long as it doesn't prevent you from learning a programming language and developing skills in it. To be honest, some AIs that I've used so far have helped me better understand various syntaxes and their context. The biggest problem I've noticed in relation to AI, when dealing with less popular coding systems like CON, is that they tend to create things, often outside the real context of the language in question. They tend to think that their intention of putting in any command will make something work. It is you who has to make the AI ​​do something right, for example, by giving it a script that actually works as a practical example to understand it. But even so, you should always be aware of possible mistakes that it itself may make. In fact, it was through this that I ended up learning a little more about the CON language, by telling the AI ​​what should or should not be done according to the language, what symbols should use or not use for example. And that seems to me to be a sign of learning by the way!

My biggest difficulty at the moment with the CON language seems to be more in relation to the use of timers and in understanding and developing certain command logic, such as calculations. I noticed that this language, although simple and direct, is not very intuitive, which can cause things to happen that a newbie in programming would not expect to happen and this can be the biggest difficulty. As already mentioned here, the CON language is full of peculiarities.

I'll repeat again, I don't intend to create any megamod (the day I make a true mod, I think It'll be based on ROTT theme), because I still lack the skills to do so. So you don't need to worry about "theft" or anything like that. Jesus!!!

Quote

I already did "EDuke64" more than ten years ago, and we supported 64-bit on Linux even before that. We decided to keep the name the same in all cases. Search this forum.


I apologize for that, I simply didn't knew. I just did a suggestion. There are certainly many things that happened here that I don't know. It's been a long time since I read the posts from this community.

So that's it... I apologize if I was hasty, and that's what happened.

I know I still have a lot to learn here...
0

User is offline   brullov 

  • Senior Artist at TGK

#20

For timers check totalclock, as for calculations I don't see what the difficulty is. Here is the list of all operators, just use them to calc stuff, there are also pre-made commands to calc formulas like this.
0

Share this topic:


Page 1 of 1
  • 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