@mankrip
#3270 posted by Baker on 2018/02/18 18:23:04
I'm fairly confident that if you tried to use DarkPlaces .scale on an Ogre...
If you doubled his size, his feet would be in the floor.
Also you know Quake hulls (collision) ...
Maybe for Quake 3 map format .scale would work, but any feature using the Q1 map format shouldn't be called ".scale" but rather ".broken_scale".
#3271 posted by mankrip on 2018/02/18 21:46:57
Hmm, that would require a protocol change then. Or a modified model, or CSQC.
The protocol method would send the mins&maxs from the QC physics bounding box to the client, so the renderer can offset the position of the model correctly. It's the most general-purpose solution and would make .scale more intuitive to use.
@mankrip
#3272 posted by Spike on 2018/02/18 22:25:55
scale is supported by the rmqe/999 protocol, as well as fte+dp's protocols of course.
QS supports 999, I don't recall if it supports the scale part but QSS definitely does.
.scale is just as 'broken' on q3bsp as q1bsp.
For it to work properly, you need to bias the mins_z value to compensate. Obviously this will look seriously broken in engines that don't support scaling...
On q1bsp you need to refrain from changing mins_x and mins_y though, which limits the range of sizes you can get away with (otherwise a large monster will walk through walls in one direction, but not its opposite, and values that differ from the hull's size will make it more extreme).
maxs_z can be changed freely, at least. the monster might ignore ceilings but that's not a problem if you just avoid placing upscaled monsters in places with low ceilings.
#3273 posted by mh on 2018/02/18 22:59:22
I don't think .scale is a good idea for reasons outlined by Spike, with which I'm in full agreement.
It's important to remember that the RMQ engine was a tech demo. One of it's purposes was as a semi-experimental test-bed for new ideas, not all of which should be expected to work well. Another of it's purposes was to become obsolete as ideas that did get bedded-in and nailed-down were picked up by other engines. It's a natural consequence of those two purposes that sometimes the implementation might be a bit wonky, or might simplify to a special case, or whatever. The point is: RMQ engine's implementation of .scale might not be a great model to work from.
Scales
#3274 posted by Spike on 2018/02/22 01:31:30
RMQe's behaviour is fine, and is consistent with DP_ENT_SCALE, so that's a good thing.
But yeah, the hull issues make automatic scaling unworkable, so scale without qc is generally a bad idea.
So imho RMQe's scale is fine, and more robust than hexen2's...
@mk -- Actually No
#3275 posted by Baker on 2018/02/22 10:38:34
"Hmm, that would require a protocol change then. Or a modified model, or CSQC."
Nope. Neither.
1) Open up, say, QME and double the model size.
2) Change the .qc setting the box -- you might need to add a new monster. This would at least get the Ogre's feet touching the ground appropriately.
3) If you decided to make a monster too big for a Quake hull (Shambler size?) -- you better add some invisible func_walls to box the bastard in too hide the lack of proper collision.
You can do what you want to do today and it would work in any Quake engine including and be done in 30 minutes.
Just don't get forget the asterisks. ** Any proper map using a "too big" model like the QTest dragon (Once Upon Atrocity, for instance) needs to "no clip block him in" to his area and close the door behind the player so he can't be sticking his dragon wings through the walls.
The Kurok engine actually had a special brush type "monster_clip" for special clip brushes that instead of blocking the player would block only the monsters instead --- in the case of Kurok, it was a helicopter shooting missiles and the monster clip kept it in a defined box.
The Quake map "Source of Power" https://www.quakewiki.net/archives/underworld/quakerev030624.html ... had baby Shamblers in GLQuake -- and I can't remember the name but some map had a 2x sized fiend or Rogue gremlin or something like that. It was also a map that ran in WinQuake/GLQuake just fine.
The short version is that ".scale" is and always was ".completely_broken_scale" that sounded cool unless you knew how broke it was.
It doesn't solve any problems and creates false newbie-sauce visions of grandeur -- and you can manually create a double sized or half sized fiend that works in WinQuake/GLQuake.
/Someone should find the guy who came up with the idea for ".scale" and slap him with a wet fish.
#3276 posted by mankrip on 2018/02/22 11:44:41
You can do what you want to do today and it would work in any Quake engine including and be done in 30 minutes.
My idea was to use .scale in an animated way, and with non-arbitrary sizes. There would be a maximum size, but the tarbaby would also have any size between the minimum and the maximum.
Using multiple models would kill the model interpolation and wouldn't provide non-arbitrary sizes.
The animated shadows in Fightoon were created using animated scaling. The higher in the air the player gets, the larger (and more transparent) the shadow gets. This would be absolutely impossible to create in a regular engine.
#3277 posted by mankrip on 2018/02/22 11:56:06
And here's another example of animated scaling usage. This effect dynamically resizes the model to the intensity of its entity's lighting.
I just didn't try figuring out uses of .scale for solid objects before. But for purely visual effects, it's a clear improvement.
#3278 posted by metlslime on 2018/02/22 19:19:58
Using multiple models would kill the model interpolation and wouldn't provide non-arbitrary sizes.
You could author a new animation of "growing" from size N to size N+1, in each model. Play in reverse to shrink. This means he can't do anything else while he grows/shrinks, though.
#3279 posted by mankrip on 2018/02/22 21:52:46
Also, the vertex compression would still cause the transition from one model to another to be jittery.
Using multiple models would still be a hacky & inefficient method. But the bigger issue is that the physics would likely end up even more hacky.
A proper solution for the physics would probably be to use the Q2 BSP format, which uses raw brushes for collision. But this means that such gameplay ideas aren't suited for Q1 anyway.
Malice Issues
#3280 posted by anonymous user on 2018/02/25 19:40:30
why does the minigun skin in malice get messed up in both quakespasm and glquake?
also the probe wont fly about in quakespasm either...
Small Idea / Request Thing
#3281 posted by Kinn on 2018/02/28 14:28:18
Would you consider a "devkill" command? (short for "developer kill")
It would function like "kill", in the sense that the map and entities are all reloaded. However, it would preserve:
player position
player view angle
the current state of god, notarget, noclip.
When doing a lot of very rapid iteration on part of the level design, I realise most of my time is spent noclipping over to the place in question to test out the changes :/
I could fudge this in QC but then I think it would better if the feature was available engine side so you can use it in all mods.
For world geometry changes only, I can fudge it by just using save/load, but that doesn't work for any entity changes.
Just an idea. Would anyone else find it useful?
Sure
Pretty Cool Idea Yeah.
#3283 posted by bal on 2018/02/28 14:50:29
I'd use it.
"devkill"
#3284 posted by mankrip on 2018/02/28 15:47:54
Save the state of the player entity only, minus dynamically referenced fields like entity and model references, and overwrite the current player state with it.
This could be implemented as "saveplayerstate" and "loadplayerstate" commands, giving the advantage of retaining the player state between engine sessions.
Mankrip
#3285 posted by Kinn on 2018/02/28 15:54:13
I like the cut of your gib. Sounds like an elegant way of doing it :}
@Kinn
I would use this as well. +1
@Kinn - Noclipping To A Place
#3287 posted by Baker on 2018/03/02 07:42:04
Quakespasm has an setpos command to teleport you to a specific spot in the map, if I recall.
Type viewpos to get an x y z or you could type r_pos.
Those commands happen to work in Mark V. In Mark V, type viewpos and then typing setpos without the x, y, z will teleport where viewpos was last typed.
Short version: I think you can do what you want to do in Quakespasm already.
Yeah, I Started Out Looking At That Actually.
#3288 posted by Kinn on 2018/03/02 13:52:58
Turns out it didn't help too much because it's not really a case of me needing to teleport to the same specific area a lot, it's more to preserve the player's current arbitrary location and view during reloads when doing very rapid design iterations, where my location is jumping around all over the place.
The time it takes me to type r_pos, then note the coordinates, then type setpos X Y Z, means it's something you only want to do occasionally, and probably bind it to a key, which only really makes sense if you're spending a lot of time in that same area. But I zip around rapidly working here there and everywhere like a nutter.
If I just wanted to set up shortcuts to a bunch of fixed locations, it would be better to create a testing hub with teleporters to ten or twenty key areas in the map I reckon.
Without someone looking over my shoulder watching exactly how I work, I'm not sure if I'm really selling this to be honest :{
Hold Your Biscuits!
#3289 posted by Kinn on 2018/03/02 13:55:22
Sorry I didn't read the critical bit here:
Those commands happen to work in Mark V. In Mark V, type viewpos and then typing setpos without the x, y, z will teleport where viewpos was last typed.
Ok, that's actually pretty useful.
Custom Gfx Images
#3290 posted by epiplon on 2018/03/03 17:47:32
Does the engine support custom images for the player HUD? It's for a mod.
#3291 posted by Legend on 2018/03/03 17:59:28
Is the issue with the Probe in Malice and engine side issue? Or something that could be fixed with QC? The probe won't move when activated in quakespasm.
Also wondering about the skin misalignment on the minigun mentioned earlier.
Sorry I Forgot / Lost Track
#3292 posted by ericw on 2018/03/03 18:15:32
Can you link the post?
Skin misalignment: Not sure if it's this, but there is a half-texel offset in mdl skins in GLQuake relative to winquake, we discussed changing it to match WQ a few years ago but the consensus was to keep it as-is because there's a lot of content designed for the buggy GLQuake standard.
-- here's the current status on bugs in TC's I'm aware of:
1. the Xmen start map has a meditating guy telelporter, the teleport trigger is tiny due to setmodel() using a size based on the mdl rather than a fixed size like winquake. This was a change metl made in Fitzquake that I think he said was inadvertent. Not fixed - my feeling is we should revert to Winquake's behaviour, but there is a risk of breaking mods that were built for FQ's behaviour, so it may need a gameplay fix cvar to get the FQ behaviour back, which are a pain.
2. Malice (I think it was) has blue checkerboards on gibs, this was meant to highlight the mod being buggy since the skin number was invalid, but we changed it back to winquake behaviour and added a developer warning.
#3293 posted by Legend on 2018/03/03 18:42:06
Sorry, I don't know how to link to the original post in this thread. I'm pretty new here. Here's the original text though:
"Malice Issues
#3280 posted by [86.131.50.80] on 2018/02/25 19:40:30
why does the minigun skin in malice get messed up in both quakespasm and glquake?
also the probe wont fly about in quakespasm either... "
I know the minigun thing is some sort of vsync/resolution issue. I tried playing with setting and it would eventually work. But would have to set vsync on/off each time I start.
The probe won't move at all when fire key is pressed. I did find something about MarkV engine fixing this or making a work around.
http://quakeone.com/forum/quake-help/quake-clients/5863-proquake-4-43/page8
#3294 posted by Baker on 2018/03/05 06:50:29
@kinn - I'm glad that helped, ericw is free to copy the implementation if wants, obv. During testing I often need to go to the same point in a map frequently to examine an area doing engine stuff, obv.
@legend - Malice should play essentially perfectly in Mark V. NightFright really liked Malice and clubbed me over the head with Malice. If I recall, it is bounding box issue that FitzQuake simply has different behavior than WinQuake and the solution is something like sv_gameplay fix original Quake bounding boxes (I can't remember cvar name off hand but it sv_ something.)
|