Author Topic: FraggleBrain  (Read 4754 times)

Offline The Green Avenger

  • Sudoku Black Belt
  • Ultimus
  • ***
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 561
  • Legacy Loyalist
    • Chex Brigade!
FraggleBrain
« on: October 27, 2010, 01:33:39 PM »
For the last little while I've been working on a plug-and-play fragglescript file that would allow Legacy to automatically generate content a-la Left 4 Dead for any map it was plugged into.  Took me a while, but I have an early alpha that at least randomly spawns a horde of Communi around the player.  The plan is eventually to have it to where it will work like a rudimentary version of valvE's AI Director, spawning both enemies and items randomly in the map, so that the map is never the same twice in a row.  The main problem now is that things are still spawning outside of the walls.  With flemoids this is especially bothersome, since they still make noise and try to shoot you.  I found a workaround, namely enclosing all sectors with a zero-height sector, but that would decrease the plug-and-play element I'm going for.  I guess this is sort of to announce that this should be coming sometime, while at the same time asking for anyone who could figure out how to keep them from spawning off of the map (or, as the case is now, detect when they DO spawn off the map, and remove and replace them before it becomes a problem.).
Visit Chex Brigade, home of Chaos on Flemoid Prime!

The art of winning an argument is not so much proving your own point as it is systematically dismantling your opponent's point, leaving yours as the logical alternative.

Offline noob1234

  • Just your average noob
  • Chex Master
  • ****
  • Thank You
  • -Given: 122
  • -Receive: 38
  • Posts: 3957
  • Pikaware! I choose you!
Re: FraggleBrain
« Reply #1 on: October 27, 2010, 06:22:24 PM »
 :o this sounds really awesome!
i'm a n00b at modding tho, so i cant help


Offline MajorSlime

  • Self-Proclaimed ACS Grandmaster
  • Multiplayer Team Leader
  • Chex Master
  • *****
  • Thank You
  • -Given: 18
  • -Receive: 29
  • Posts: 4308
  • If life gives you lemons, give its lemons back!
    • Chex Quest: Reflections
Re: FraggleBrain
« Reply #2 on: October 27, 2010, 06:30:00 PM »
fragglescript? well, sorry, no help here. If it was decorate on the other hand... or wait, does Legacy use decorate?
Shh!  I'm taking a break from reality.

John 3:16
For God so loved the world, that he gave his only son, that whoever believes in him shall not perish, but have eternal life!

Give God your life; You won't regret it!

Offline noob1234

  • Just your average noob
  • Chex Master
  • ****
  • Thank You
  • -Given: 122
  • -Receive: 38
  • Posts: 3957
  • Pikaware! I choose you!
Re: FraggleBrain
« Reply #3 on: October 27, 2010, 06:41:36 PM »
Huh?? i thought DECORATE was for making Things/flemoids, and ACS was for the other stuff
but legacy doesn't use DECORATE, that i know
or ACS for that matter
or am I completely wrong and just a big n00b?


Offline MajorSlime

  • Self-Proclaimed ACS Grandmaster
  • Multiplayer Team Leader
  • Chex Master
  • *****
  • Thank You
  • -Given: 18
  • -Receive: 29
  • Posts: 4308
  • If life gives you lemons, give its lemons back!
    • Chex Quest: Reflections
Re: FraggleBrain
« Reply #4 on: October 27, 2010, 06:43:02 PM »
well, yeah, but i know a way to make the flemoid not spawn using decorate (or at least I think)
Shh!  I'm taking a break from reality.

John 3:16
For God so loved the world, that he gave his only son, that whoever believes in him shall not perish, but have eternal life!

Give God your life; You won't regret it!

Offline xbolt

  • The Man with the Beard
  • Administrator
  • Snot Lord
  • *****
  • Thank You
  • -Given: 30
  • -Receive: 78
  • Posts: 12905
  • Honor the Fallen
    • The Page of Xbolt
Re: FraggleBrain
« Reply #5 on: October 27, 2010, 06:51:04 PM »
...Gee, I have no idea how you would check whether the spawnpoint is valid or not. testlocation() checks whether they're stuck in a wall, but not the void... I wonder if objsector() could be of use. What does being in the void return? It might be just the closest real sector, but you might wanna check that.

You might try asking on the Legacy forums too. Maybe they know of something that I don't.

Offline Atariangamer

  • Dormant User
  • Snot Lord
  • *****
  • Thank You
  • -Given: 31
  • -Receive: 55
  • Posts: 11809
  • Keelah se'lai
Re: FraggleBrain
« Reply #6 on: October 28, 2010, 12:37:54 PM »
To the guys asking about DECORATE/ACS:

DooM Legacy was the port of choice in early CQFF. They used DeHackEd and FraggleScript to bend the engine.
Xbolt and TGA were and still are FraggleScript geniuses. They could do stuff with it that I've never seen before.

When we had a general shift to (G)ZDooM, ACS (Scripting) and DECORATE (objects) replaced FraggleScript (Scripting) and DeHackEd (objects). But the jump from one to the other is major, and neither really wanted to relearn a whole nother language.

Another thing is that ACS and DECORATE create content, while Fraggle and DeHackEd bend the engine and its existing content.

Its amazingly cool what you can do in Legacy...I've always been more amazed with Legacy mods than GZDooM ones...
Don't remember me as I was...I was an idiot.

Offline The Green Avenger

  • Sudoku Black Belt
  • Ultimus
  • ***
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 561
  • Legacy Loyalist
    • Chex Brigade!
Re: FraggleBrain
« Reply #7 on: October 28, 2010, 01:52:04 PM »
I already use testlocation() to make sure they don't spawn in each other or a wall, and have been trying to use objsector() to check for the void, but it only successfully returns a negative one if all sectors are bounded by a zero height sector.  Otherwise, it returns the tag of the nearest unbounded sector.
Visit Chex Brigade, home of Chaos on Flemoid Prime!

The art of winning an argument is not so much proving your own point as it is systematically dismantling your opponent's point, leaving yours as the logical alternative.

Offline MajorSlime

  • Self-Proclaimed ACS Grandmaster
  • Multiplayer Team Leader
  • Chex Master
  • *****
  • Thank You
  • -Given: 18
  • -Receive: 29
  • Posts: 4308
  • If life gives you lemons, give its lemons back!
    • Chex Quest: Reflections
Re: FraggleBrain
« Reply #8 on: October 28, 2010, 06:29:02 PM »
You know, I REALLY wish there was objsector() in zdoom/skulltag/gzdoom...

oh well, i guess both engines have really good aspects.
Shh!  I'm taking a break from reality.

John 3:16
For God so loved the world, that he gave his only son, that whoever believes in him shall not perish, but have eternal life!

Give God your life; You won't regret it!

Offline 75

  • [IFOC] Server Admin
  • Multiplayer Team Leader
  • Chex Master
  • *****
  • Thank You
  • -Given: 32
  • -Receive: 30
  • Posts: 4250
    • IFOCSERV
Re: FraggleBrain
« Reply #9 on: October 28, 2010, 06:40:13 PM »
You know, I REALLY wish there was objsector() in zdoom/skulltag/gzdoom...

oh well, i guess both engines have really good aspects.

at one point, I thought of porting some features (software 3d floors, those cool dynamic lights, etc.), but I head that the legacy source code is a mess, and commented in french. One of the comments allegedly says (using vulgar French words) "what is this, I do not understand".

When the programmers don't get it, you know you're in trouble.
"Give us those nice bright colors, give us the greens of summer, makes you think all the world's a sunny day."

You can find me on the CQFF discord: https://discord.gg/AgNhjem

Offline MajorSlime

  • Self-Proclaimed ACS Grandmaster
  • Multiplayer Team Leader
  • Chex Master
  • *****
  • Thank You
  • -Given: 18
  • -Receive: 29
  • Posts: 4308
  • If life gives you lemons, give its lemons back!
    • Chex Quest: Reflections
Re: FraggleBrain
« Reply #10 on: October 28, 2010, 08:35:41 PM »
You know, I REALLY wish there was objsector() in zdoom/skulltag/gzdoom...

oh well, i guess both engines have really good aspects.

at one point, I thought of porting some features (software 3d floors, those cool dynamic lights, etc.), but I head that the legacy source code is a mess, and commented in french. One of the comments allegedly says (using vulgar French words) "what is this, I do not understand".

When the programmers don't get it, you know you're in trouble.

O_O

oh wow  XD

once i take a look at the gzdoom source code, and get a good idea of how it works, i might be able to do something, but that wouldn't apply to skulltag, which is what I want it for (the Sandbox map), so no good.
Shh!  I'm taking a break from reality.

John 3:16
For God so loved the world, that he gave his only son, that whoever believes in him shall not perish, but have eternal life!

Give God your life; You won't regret it!

Offline Atariangamer

  • Dormant User
  • Snot Lord
  • *****
  • Thank You
  • -Given: 31
  • -Receive: 55
  • Posts: 11809
  • Keelah se'lai
Re: FraggleBrain
« Reply #11 on: October 28, 2010, 09:39:19 PM »
I think the most recent Legacy trunk is alot cleaner. The changelog is MASSIVE between 1.42 and 1.44 (the alpha just released a month or so ago). You taken a look at it?

But also, the renderers are drastically different between the two, and if you got software 3d in GZDooM, you'd be the most famous man of recent coding history...
Don't remember me as I was...I was an idiot.

Offline 75

  • [IFOC] Server Admin
  • Multiplayer Team Leader
  • Chex Master
  • *****
  • Thank You
  • -Given: 32
  • -Receive: 30
  • Posts: 4250
    • IFOCSERV
Re: FraggleBrain
« Reply #12 on: October 28, 2010, 09:59:39 PM »
got software 3d in GZDooM

there was somebody working on it, but I didn't see any updates recently

http://forum.zdoom.org/viewtopic.php?f=18&t=26474
"Give us those nice bright colors, give us the greens of summer, makes you think all the world's a sunny day."

You can find me on the CQFF discord: https://discord.gg/AgNhjem

Offline The Green Avenger

  • Sudoku Black Belt
  • Ultimus
  • ***
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 561
  • Legacy Loyalist
    • Chex Brigade!
Re: FraggleBrain
« Reply #13 on: November 09, 2010, 02:11:05 PM »
Haven't figured out the out-of-sector problem yet, but found an interesting thing concerning checking the skill level with Fragglescript.  If you type something like

Code: [Select]
if(gameskill == 1)
it will always return false.  I checked why by having my script give me a tip with the value of gameskill, and found out that it always returns some strange number that has nothing to do with anything as far as I can see.  After a bit of messing around, though, I found out that

Code: [Select]
if(gameskill() == 1)
will return true if you play on the easiest setting (this, of course, leads up to the values 1-5 representing all skill levels).  I don't exactly know why that is; I can't figure out how you would set a parameter for the gameskill function, but it seems that you have to leave that area open.
Visit Chex Brigade, home of Chaos on Flemoid Prime!

The art of winning an argument is not so much proving your own point as it is systematically dismantling your opponent's point, leaving yours as the logical alternative.

Offline MajorSlime

  • Self-Proclaimed ACS Grandmaster
  • Multiplayer Team Leader
  • Chex Master
  • *****
  • Thank You
  • -Given: 18
  • -Receive: 29
  • Posts: 4308
  • If life gives you lemons, give its lemons back!
    • Chex Quest: Reflections
Re: FraggleBrain
« Reply #14 on: November 09, 2010, 08:07:22 PM »
yeah, gameskill would be pointing to some variable, which is probably used for some complicated process. gameskill() on the other hand, points to the function. It just works that way.
Shh!  I'm taking a break from reality.

John 3:16
For God so loved the world, that he gave his only son, that whoever believes in him shall not perish, but have eternal life!

Give God your life; You won't regret it!

 


Web Hosting by InMotion Hosting