|
Posted by metlslime on 2005/08/30 18:28:13 |
You know about the info_notnull explosion hack. You know about making monsters drop weapons or alternate ammo using the .weapon and .ammo_whatever hacks. You know about making items float in the air by spawning them on a temporary platform. Let's have a thread where we talk about new ways to use existing behavior and get novel gameplay. If you're a "retired" mapper, this is a great time to do some armchair level design and suggest ideas you'll never have a chance to use yourself. |
|
|
For I Have Touched The World.....
// Try it...jump around on any map
void () test_touch =
{
if (other.flags & FL_CLIENT) bprint ("OUCH !n");
};
void () worldspawn =
{
world.touch = test_touch;
Reusable Trigger_counter It Is
#371 posted by Preach on 2016/02/20 01:12:32
From what I can see, there's been more discussion about the randomised trigger, but more explicit votes for the reusable counter. Since we live on a democratic message board, we will ignore the prevailing enthusiasm and go for the winner instead.
I've been playing around with the idea over the past week, trying to come up with the simplest implementation of a reusable counter. I think I'm basically there now, but one of the features requires a logic gate, and a flaw in my previous article on those has become apparent, so I will fix that first, and then the new hack will follow.
Oh Goody
#372 posted by Qmaster on 2016/02/20 05:49:49
Another two-fer!
The Ol' One-two
#373 posted by Preach on 2016/02/22 01:17:45
So the fixed logic gates are up at
https://tomeofpreach.wordpress.com/2013/05/13/new-logic-gate-design/
The updated portion is highlighted in yellow. I've also updated the example .map at http://www.quaketastic.com/files/single_player/maps/gates.zip both to incorporate the update to the article, and to make the example map playable. All four gates are hooked up to example entity systems and can be tested in-game.
Now for the new stuff...
https://tomeofpreach.wordpress.com/2016/02/21/reusable-trigger_counter/
Not only featuring reusable triggers, but also triggers which you can interrupt to reset during their count.
Bonus content: What went so wrong in the original logic gate post to make Preach miss out a vital entity? I often use a "clean" copy of the QC source to test things out. Unfortunately, this clean copy is not quite 100% identical to the basic Quake source, and W_FireAxe is one place they differ. My "clean" version has a call to makevectors which the original Quake progs is missing. This doesn't affect the player code which has some redundancy, but the axe hack entity is not so lucky and started firing in a random direction. The changes to the article work around this.
Rhetoric
#374 posted by Preach on 2016/02/24 00:57:22
When you ask a question and then answer it before anyone had a chance to say something, that's usually a rhetorical device. Not today though, I just happened to crack the puzzle I set myself last time, and made the reusable counter work without a logic gate. Read the follow up article here:
https://tomeofpreach.wordpress.com/2016/02/23/more-reusable-trigger_counter/
Still not enticing enough? Well, the post links to an example .map file, so you can copy-paste the hack without the need to understand it! You want more? Well, the article even invents the anti-counter - an entity which acts like a trigger_relay until you've used it n times, rather than one which only acts like a trigger_relay after you've used it n times. If you want a crusher or trap the player can only activate a few times before recharging it, this does the job.
Preach You Mad Man!
#375 posted by mjb on 2016/02/24 01:27:48
All shall bow to the Quake hacks of the one they call Preach. This is Preach's world full of logic gates, high framerate clocks, and waterfalls (That only spawn on nightmare.)
Countless possibilities with this addition, thank you sir.
#376 posted by necros on 2016/02/24 01:41:22
Preach, I am in awe.
I can't even comprehend any of this madness... You're basically the gandalf of map hacks
#378 posted by necros on 2016/02/24 03:20:09
or the map hack of gandalfs.
#379 posted by Spike on 2016/02/24 06:36:55
or the enemy of compatibility...
This Is A Public Service Announcement...
#380 posted by Preach on 2016/02/24 08:46:39
or the enemy of compatibility...
Oh believe me, I spent a long time working round map hacks in Quoth - there are specific "shims" for maps which use hacks that subsequent version broke. It's also something that I do bear in mind when making changes to the code base - e.g. renaming OgreGrenadeExplode to MonsterGrenadeExplode would be appropriate in Quoth because Defenders fire the same grenades, but that would break a basic map hack which outweighs the benefit.
For everyone else I think it's worth repeating the standard reminder: Map hacks are for standard Quake only. There is no compatibility guarantee for any other mod. Do not use them in Quoth or AD or anything else.
Sock had a strict rule that we couldn't use map hacks in AD. Made sense
Very Fair
#382 posted by mjb on 2016/02/24 13:08:38
I figured it was for vanilla Quake. The only hack that I currently readily use is the nightmare hack. I am currently mapping using AD and the hack works wonderfully. Actually, with triggers like monsterkill I can fix the kill count totals when playing on hard!
I know I use them at my own risk though. ;)
#383 posted by necros on 2016/02/24 13:14:37
Well, if you are mapping for a mod in development, that makes sense since you could just code up whatever you needed. Map hacks are cool to add surprises to standard quake.
#384 posted by Preach on 2016/02/24 21:30:31
I am currently mapping using AD and the hack works wonderfully.
What happens when sock releases a patch that fixes a long standing bug in the lightning gun and as a byproduct breaks the hack? There are a multitude of ways that could happen: renaming the function, checking the current ammo rather than the cells or adding a new parameter to the function to name but three. All perfectly innocent changes which happen to break your map.
The issue is that the map hacks are not forward compatible - new versions of the mod might break the hack even if it works on current and past versions. This isn't theoretical, it happened in practice on maps between Quoth 1 and Quoth 2. The safety of the hacks in vanilla Quake also depends on iD never releasing another patch, it's just that after 14 years it seems a fairly safe bet...
A Fair Point
#385 posted by mjb on 2016/02/24 21:33:18
Would the example be the same with the Shambler magic lightning?
Either way, I suppose if a patch came out and it broke the NM hack and I was fully invested in my current project...I'd remove the nm hack components.
I fully understand the risks good sir. :)
The only real thing to say in this instance is that you'll have to package your project with your version of AD to retain the functionality. Or figure out a way to implement your ideas without resorting to map hacks, if possible.
Cause And Effect
#387 posted by Preach on 2016/02/24 21:54:01
Either way, I suppose if a patch came out and it broke the NM hack and I was fully invested in my current project...I'd remove the nm hack components.
But if the patch comes out after you release your map, you're stuck. Unless you want to keep patching your map.
For their part, mods ought to look at the most popular map hacks and see them as features they ought to offer in a supported way. I'd guess that was part of what the no-map-hacks rule for AD was about - code the needed feature instead for all to use.
Sock didn't want us relying on map hacks as patches and stuff could break the maps. If the mappers wanted a feature in their map then Sock would just code it into the mod.
Something To Ponder
#389 posted by mjb on 2016/02/24 23:01:01
I appreciate the advice. I may remove the NM hack. Luckily, the current project I am on I have yet to implement it...and this particular project I hope to publicly release someday.
Hell, I could always make a seperate version of the map that supports the NM hack. For now, I'll worry about Easy, Normal, and Hard.
Thanks FifthElephant and Preach again.
Wow!!
#390 posted by Qmaster on 2016/02/25 00:54:07
Thats a doosey of hack Preach (and another two-fer no less). I see more awesomer puzzles in the future.
Random Numbers
#391 posted by Preach on 2016/04/21 23:42:47
Now, I'm more into my stats than most people, I know that. So for my upcoming random switcher hack, I decided to check just how random it was. I made sure that the hack generated some loggable messages I could parse, ran with -condebug, generated 10,000 random events and loaded them into R.
The results were disappointing. Although the number of "Choice A" and "Choice B" generated were nearly identical, the chance of getting "AA" (an A followed by an A) or "BB" was higher than getting "AB" or "BA" (all four should be 25% probability if the system was fair).
I had spent several nights trying to fix this with various reconfigurations of the entities, but never managed to make significant headway. Then I decided to knock up a quick mod which would spit out A and B into the console using the random() function directly, just to check. And of course it turns out to have this same issue but worse. So I will be releasing this map hack shortly...
The Most Unpredictible Follow-up Post
#392 posted by Preach on 2016/04/23 21:22:42
Here's the hack:
https://tomeofpreach.wordpress.com/2016/04/23/the-randomiser/
Whatever will happen next? It's impossible to predict, because I haven't hyped it for months or even thought of it yet!
Semi-related
#393 posted by mankrip on 2016/05/05 08:39:20
QC support for Notepad++, including Function List support and syntax highlighting: Tutorial & download.
Have A Semi-working Hack That I Need A Little Assistance With
I am making a false train using func_wall and info_null. The purpose is to get a couple of overlapping entities that behave like a train (follow a path).
I have a func wall for the model, 2 path_corners with each other as their targets, a trigger triggering it and an info_null with the following values.
use train_use
think func_train_find
speed 20
modelindex 8
model *1
movetype 8
nextthink 1
target stop_1
targetname me
the odd behaviour is, that when it gets to the first stop, it spazzes out and jumps forward and back among the path corner locations, without traversing them first.
any ideas?
|
|
You must be logged in to post in this thread.
|
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.
|
|