#Alpine Faction

1 messages · Page 8 of 1

dire geode
viral light
#

lol

split sleet
#

new speedrun meta confirmed

desert crown
#

can we have that for speedrun

#

thanks

split sleet
#

buying controller online asap

#

this is looking great ❤️

#

holyyy

brave crown
desert crown
#

i like how we all want the fun move tech

split sleet
#

im so hyped to see first playtest /demo / map

desert crown
#

I trained u all well

split sleet
#

mario level should be done first

#

i want to see parker getting to that last pole

#

xdddddddddddddddddddddddddddddddddddddddd

brave crown
desert crown
#

Technically you could build it - only problem is we don't have goomba stomp physics 😛

gaunt lotus
#

the real issue with analog movement will probably be the animations in multiplayer

split sleet
#

we do

desert crown
split sleet
#

have stomp physics in rf

#

i was stomped in rf plenty of times

desert crown
#

omg

#

😂

split sleet
#

xddddddddddddd

brave crown
gaunt lotus
#

we can make a real speedrun version of the game

desert crown
#

😂

gaunt lotus
#

locked impossible with 4x NPCs

split sleet
#

are u insinuating nick is kidnapping princesses ?

#

waaaa

brave crown
split sleet
#

big words

desert crown
#

CAN'T YOU LET ME HAVE MY JUST MADE VICTORY

split sleet
#

ye impossible bullet hell kind of game

desert crown
#

its already bullet hell

#

you havn't seen the video

split sleet
#

those balls are rail driver npcs

desert crown
#

😭

split sleet
#

xddddddddddddddddddddddd

split sleet
#

that would be too saddening experience

desert crown
#

time to run the game brother

split sleet
#

pfff , wait till we will have RF 2D with SHAVING TIMEFRAMES BRO

#

GOING THROUGH WALLS WITH PERFECT INPUTS

#

xddddddddddd

desert crown
#

you gonna make me a 2D RF map with a ... bus.. so so speak? 😄

split sleet
#

yes lets make timeframe = busstop analogy

#

xddddddddddddddddd

desert crown
#

🤣

split sleet
#

omg such good things are happening rn in rf

#

Goober is making all the hardwork but i will always be telling around ive did the great visualistion/concept contra video that FUELED this creative process

#

ohh

#

imma milk this hard

#

xdddddddddddddddddddddddddddddddddd

desert crown
#

Tell you what

#

once its ready

#

make me a single level 2d SP map

#

we'll have fun

#

no memes

#

just an actual fun map

split sleet
#

bro i couldnt make proper box map in RED

#

bateman wont survive seeing more maps made by me

#

ik for a fact he did some counceling/seen a psychologist after seeing tilefrenzy

#

dont blame him

#

fuck even ladder is reversed there

#

not to mention the spawns

boreal ether
split sleet
#

it was supposed to be fast butchered project

#

just to proof of concept

split sleet
#

xdddddddddddddddddddddddddddddddd

gaunt lotus
#

pretty soon you can just play against bots for noob farming practice

split sleet
#

u guys are making the crafty /fancy meals

#

while all the folks are want is

#

JUNKFOOD content

boreal ether
#

you know, thats a really good analogy

split sleet
#

RED is hard , u need to start from the beginning , learn basics and move on

#

skipping steps and rushing into making stuff

desert crown
#

Ill take Fancy food with a side of Junk (Liq map with goober bots)

split sleet
#

yields ...well

#

xddddd

desert crown
#

thres a pretty handy couple of workshop videos...

#

by a couple of handsome people

#

not to name names

#

ofc

split sleet
#

oh ik there are plenty of tutorials and help available

#

well .... what if

#

im VERY good at RED

#

and this map was ....

#

manifesto

#

naive art

#

done purposefully bad

#

....

#

.....

#

.....

#

...

#

it isnt the case here

#

;p

brave crown
#

🥳 alright meshes and notes are finalized and in the Alpine master now

#

man that took a lot of messing around lol

desert crown
#

😂

split sleet
#

RED editor ELO ?

brave crown
#

lines added vs removed for that change

split sleet
#

ohh

#

xdddddd

brave crown
#

the mesh/notes change added over 5k lines of code to alpine's codebase lmao

split sleet
#

hmm as u see

#

the necessity of going 2D

#

is ....

#

well

#

think how much more meshes u could do there

brave crown
#

fwiw the sidescroller code is currently about 600 lines lol

split sleet
#

bro imagine red faction gamenight 2D with people DONT KNOWING WHATS COMING

#

will it be MOD

#

or function in rf/AF ?

brave crown
#

you literally just set this dropdown to side-scroller in the level properties lol

#

game takes care of the rest

split sleet
#

hoolyyy

#

please keep this low-profile

#

the live reaction on gn will be something else

#

:DDDDDDD

#

imagine people typing in chat

#

'WTF'

#

'WHAT'

#

xddddddddddddddddddddddddddddddddddddddddddd

#

RF LIERO 1v1 server

#

damn i remember playing this w/ my brother a lot

desert crown
#

now to see how vehicles work in 2d KappaKan

brave crown
#

lol

#

i was moreso thinking of runmaps

desert crown
#

hey i wanna take an aesir in 2D

#

IS MY GODOT GAME A JOKE TO YOU

#

it would be neat to make a SP level out of it, run map eh

#

if someone wants to make it

#

i personally wouldn't

gaunt lotus
#

ur a godoke

desert crown
#

😠

brave crown
#

Nice work!!

#

Have you had a look at the animations yet, or just the player movement so far?

dire geode
#

exclusively player movement

#

I have not looked into it yet

#

Analog Movement right now is a hacky solution, it's still using Digital Movements as a baseline

split sleet
#

ive finished whole battlepass already

#

when there will be new DLCs ?

gaunt lotus
#

rf battlepass soon

#

hats and stattrack weapon market

split sleet
#

rf cases lolk

#

and weapon rebalancing every 2 weeks

#

oh wait actually it is the case on modded servers

#

xdddddd

viral light
#

we really should slop up hats

#

and custom player models in general

#

want to import my 300k triangle disaster

brave crown
#

I have experimented with hats, but it's difficult because most character meshes dont have a hat dummy, each has a different eye dummy position, and each does different things with its eye position during different anims lol

viral light
#

so let us use custom models and we can have a special bone to position the hat

brave crown
#

that is doable, so is programmatically adding the helmet dummy at a specific offset on each mesh at runtime

#

im not saying it's not doable, I'm saying it's complex :p

dire geode
#

it'll be fine

#

if there's a multiplayer-specific flag that only detects that you're in Multiplayer (like how Camera2 and Camera3 being blocked), i could take a note from Counter-Strike 2 initially did it's analog joystick (it's not real analog joystick)

#

or just skip the move ramp-up and jump to range 100%

brave crown
dire geode
#

in this case: only analog movement needs it

gaunt lotus
#

no the issues would be that the animations may not loop properly in mp if u are able to move at a fixed low speed

#

and it would be a cheat on run maps fwiw

brave crown
gaunt lotus
#

1st one just needs tested

dire geode
#

multiplayer folks won't be able to abuse the slow-walk when using joystick input, sorry.

#

now i'll need to investigate the animation speed rate

gaunt lotus
#

u may not need to

#

just need to test and see if its broken or does weird stuff

dire geode
#

if you know how to build and compile: you can try it that way.

wraith comet
#

Go Parker go

gaunt lotus
#

i compiled this and tested it, one huge issue for mp right now is that however this is implemented, you can run full speed up ramps (9 m/s) which you cannot do with keyboard input

#

it's not handling ground friction properly so technically this would be a speedhack rn

#

air friction is also not working

#

kinda fun tho

dire geode
#

while i'll 'investigate' both problems, can you provide video clips if you can

gaunt lotus
#

i couldnt replicate the gigantic 10 meter jump i got on the bump but ye

desert crown
#

i don't think i ve ever watched nick type instead of talk

#

in a video

gaunt lotus
#

ye with my keyboard at insane cancer angle too

dire geode
#

i'm not too sure if i nailed the air friction fix too

#

btw: did you notice that the Controller's control scheme mimics the PS2 version?

gaunt lotus
#

didn't notice but it was nice that it worked without setup

#

haven't played the ps2 version in awhile

dire geode
#

i could swap the shoulder buttons

gaunt lotus
#

i didnt check but it's a fixed layout right now, right?

dire geode
#

yea, for now.

desert crown
#

i wouldn't know how to fuck with the ingame options, perhaps an alpine option UI for Controller rebinding?

dire geode
#

also Controller-centric tab, i don't have enough space left.

#

ok, finally decided to proceed further.... @brave crown

#

looks like i got a new bug, but for vehicles or submarines. looks like i forgot to account for them

#

gotta see if i can add the missing vehicle/submarine camera function into joystick camera

slow yarrow
#

concept, a button to save the current map to a list, you can press a key to open list of these maps and when you press a button it auto votes for the map

brave crown
desert crown
#

will you bring back the PF menu?

#

just curious

brave crown
#

hm?

#

there's no "back" either 😛 Pf's menus were only ever in PF

but PF's vote menu just had buttons to send the chat commands - the Alpine command menu (which already exists) provides effectively the same thing (plus more commands)

desert crown
#

ah ok

gaunt lotus
# dire geode it's now fixed, i hope

I reviewed with my claude setup because now you have a different issue - diag movements are being slowed down too much. Didn't check anything else. I'd guess the underlying approach here is not correct

#

with the current approach you'd also have issues with mods i think, even if you nailed the calcs for the base game

slow yarrow
brave crown
#

oh that menu

gaunt lotus
#

just spawn kill them until they leave

brave crown
#

thought you were talking about voting 😛

desert crown
#

i meant the whole thing

brave crown
#

the whole thing absolutely will not be re-implemented - PF didn't do it in a "good" way really, it was great for the time but we can do the entire approach far better now

There probably should be a better way to kick/ban players and perform other rcon commands, perhaps some type of command menu would be appropriate for it

#

as a stopgap, it would be very simple to basically re-implement what lazyban did and let you kick/ban players based on player index rather than name. So, you'd run info, note the number of the player in question, then kick them by that number instead of their name

gaunt lotus
#

goober could speak better as to whether or not it's the right implementation

#

but the outcome feels right

dire geode
#

just tested it holy cow thank you!

#

will roll out that commit, with your credit of course

gaunt lotus
#

ya its just one small part of this but definitely needs to be right

#

i am working on wasting goober's time with my own nonsense so i cant commit many cycles to this

#

but good controller support is a noble goal

dire geode
#

it was suppose to be a proof of concept, but it went beyond the concept

#

now i can move onto fixing the vehicle camera on gamepad.

gaunt lotus
#

do you know if SDL has any kind of built-in flickstick implementation?

brave crown
gaunt lotus
#

it's pretty good on stuff like the steam deck where u dont want to flail the entire thing around too much

#

or have to play on super high gyro sens

#

i had this grand vision when i was messing with gyro that i would use it to play fps while traveling (planes, bus, etc.) but then i realized i would be elbowing everyone in the face with my setup

#

maybe still viable

desert crown
#

I mean

#

thats their problem

#

get your frags

dire geode
#

thankfully, gamepad_get_camera is angle-based, you should have a easier time doing flickstick this way.

#

(and this is why I needed to overhaul the current camera system to be angle-based, and able to use quake's 0.022 mouse multiplier for the sake of skipping steam input mouse pixel calibration)

brave crown
#

editor now packs custom meshes used in the map (Mesh objects, Switch_Model events, and anims from Mesh_Animate and Play_Animation events) automatically

dire geode
#

but i think the ship has sailed + C#, so we're doing it manually (aside of leveraging GamepadMotionHelper header)

dire geode
#

looks like I'm stuck on vehicle camera, will have to go back to it later with assistance. it's like...two more steps before making a draft pr official

dire geode
desert crown
dire geode
#

I'm thinking of integrating the existing game's binding system, and adding another column next to keyboard while the underlying system functions the same as before

brave crown
#

Adding another column there would be a bit dicey on space at non-widescreen resolutions

#

I would suggest a better approach would be to effectively have two lists (KB+M / Gamepad) and a toggle to switch between

dire geode
#

think it's possible to move the keyboard/mouse column a bit to left to make room for gamepad?

desert crown
#

you think? the longest command in the list in for the Fusion, you could move them over a little bit

brave crown
#

perhaps a checkbox down next to Change Binding or something

dire geode
#

just a curiosity: possible to add new game actions?

gaunt lotus
#

i agree with that, two separate pages of actions - one for kb/m and second for gamepads

brave crown
#

if you scroll down, there are a load of new Alpine ones

desert crown
#

we have been doing so

dire geode
#

nice. makes it easier for me to add Gyro Modifier (lets us do gyro ratcheting)

desert crown
#

Controller will likely be limited by just what the base game needs - i don't think you can push the customisation that far without doubles

desert crown
#

well excuse me and my 1080 😝

brave crown
#

I will say, that the number of new controls that do get added does need to be strategic. There's a limited number of control indicies available and adding any past that would be a HUGE pain

#

so I've tried to be very selective over what is important "enough" to warrant a dedicated control

gaunt lotus
#

ratcheting is important enough on controller to warrant it

dire geode
#

i mean...

desert crown
#

aslong as i can get a spray and i can put my mouse button on it idgaf what else you add lolpup

dire geode
#

i'm running out of space on another side

brave crown
gaunt lotus
#

ye

#

i know u havent messed with gyro much

#

so just adding my 2c

#

the input method is borderline not viable without ratcheting for a tracking heavy hitscan game

brave crown
# dire geode i'm running out of space on another side

for the record, not all of these need to be in the menu - more specialized things can be limited to console commands at least currently

The advanced options menu is on the agenda to overhaul in the near future too, to implement scroll support for a long list

gaunt lotus
#

i think all of those do need to be in the menu for this

dire geode
brave crown
#

this all uses bitmaps, so it would require graphical work to add a new tab

dire geode
#

otherwise: it'll be hidden in the same veins as selecting a secret chararcter in a fighting game

brave crown
#

this is part of the reason this menu needs to be overhauled to fit more settings :p

gaunt lotus
#

it may be a huge pain in the ass but gyro has a lot of vars that you need to set but doing it all through the console would be a nightmare

#

i dont really see any fluff in that setting list

dire geode
#

you already saw the current gyro settings? the essentials is already there, but there is a few console commands related to gyro that isn't in the Input settings

gaunt lotus
#

i only looked at what's in the menu

#

and changed from player space to yaw or w/e

dire geode
#

i tried to do a < [text] > button setup, but it didn't worked out. for now: it'll be a cycle button

brave crown
gaunt lotus
#

overhauling the menu at this point feels like - rip it all out and replace

dire geode
#

but let's focus on getting the essentials first.

brave crown
#

it does cause issues for custom HUDs and some TCs which isn't ideal... but the return is enormous

dire geode
#

to summarize: the list of priorities that should be dealt with

1. get Vehicle Camera to work on Gamepad Joystick (we can't put gyro on it, naturally)
2. get Gamepad Bindings function
3. add Gyro Modifier action
4. add Gyro Tightening slider

#

if i can get Vehicle Camera to work, i might plan on doing a Draft PR so that anyone can check it out.

brave crown
#

sounds good

dire geode
#

btw i got stuck on Vehicle Camera, i'll take a break from now and try again later.

brave crown
#

I see this feature being useful for a significant number of purposes, but the two big ones are:

  • Custom debris for meshes
  • Complex brushes, especially in the background of scenes, that don't need to be brushes, and don't need collision, can be very quickly converted to static meshes in RED (literally with 2 clicks) to save on resources, more easily re-instance the same scene props, and reduce the per-room polygon/vertex load
viral light
#

why does it look so dark in editor but brighter in game

brave crown
#

Editor only has amb light shading for meshes

viral light
#

ic

boreal ether
crude oyster
#

Found a weird bug with the new mover code. In the Catan maps with collision meshes, (Forest, Pasture, Field). If I disable legacy movers, all the collision meshes that are moved into the scene at night (trees), at a speed of 192m in 0.01 seconds, now instantly kill the player every time they are touched. If I re enable legacy movers it no longer happens. 🤔

brave crown
brave crown
crude oyster
crude oyster
#

Just noticed some strange behaviour with dynamic lights on a keyframe brush, they stop applying to the brush depending on the angle you are looking at the brush. Look at the rock ring around the fire, On the first side the lights always work, on the second they only work when I look way down, the third same, the 4th they always work. 🤔

brave crown
#

looks like it's being culled if the light object itself is off camera? (is that where the light object is?)

crude oyster
boreal ether
#

@brave crown Do you think it could be possible for RED to detect if you have 2 or more brushes within each other (copy and paste mistake) same with objects. i suppose you could run a program to list any duplicate coordinates of brushes/objects. it happens more than you might think.

brave crown
#

it could be done yes - actually it probably would be pretty simple for anyone to just take the report (via Generate Report) and parse it to find that :p

boreal ether
#

ah

#

i wouldnt know of a program that can find duplicates

brave crown
#

Corona objects 🥳

Removes the need to do hacks like adding a clutter light, making it invulnerable, then hiding it (like we needed to do in the past), plus allows for full customization of all values rather than being limited to the preset ones on stock light objects

#

(I obviously still need to make an icon for it in RED though 😛 )

gaunt lotus
#

now do corona virus

dire geode
#

already rolled out the commit as a test drive, but it won't work just yet.

#

technically, it's functionable, but it has a offset problem, and "Select Action to Bind" text is stuck

split sleet
#

no no no

#

i cant afford another binge

#

rf survival game lets builld a house

#

and chill theree

#

the ground is shaking

brave crown
split sleet
#

Goober ure addressing me like i would know stuff

#

im clueless

#

when it comes to rf

gaunt lotus
#

look for maps by like

split sleet
#

xdd

gaunt lotus
#

lo_pan

#

and uhh

brave crown
#

I'm addressing you like you know how to use the search bar on FF lolpup

split sleet
#

well ..that will be harsh

#

with current state of rf activity

gaunt lotus
split sleet
#

there is nothing much to do other than FREE ROAM

gaunt lotus
#

these guys ran a SA-MP server where they just got high and did nothing

split sleet
#

damn

#

i havent seen these

gaunt lotus
#

then they picked up RF for some reason and made a bunch of like, empty maps with liminal settings

#

weh ave played some at GN ages ago but theyre kinda rough with people

split sleet
#

@green cobalt im asking you out on a date

#

taking u to lo_pan stoned realm

gaunt lotus
#

castle of doom is a good date spot

#

small town, too

dire geode
desert crown
#

Yeah i hated that i couldn't configure my Yboard lolpup

brave crown
#

@dire geode you should probably just make a checkbox gadget and change the controls displayed based on the value of that bool 🙂

#

The checkbox can fit neatly next to the change binding button

dire geode
#

thanks, i was in a middle of finalizing the whole thing. but helpful tho

#

what you see is the funni size thing, i thought it was funny

dire geode
#

and yes: it'll show the corresponding button prompts (right now: it's generic prompts, actual prompts be added shortly)

brave crown
#

had to revamp this panel for the new objects anyway, so added some functionality I've always missed in it lol

brave crown
dire geode
dire geode
#

but the good news is that, now Gamepad binds are there (and it should behave more akin to Input Layers), I can look into adding custom actions and then menu navigation later on.

brave crown
#

🥳 finally figured out how to properly sort the tree list on the left lol

#

was annoying me to have Corona, Mesh, and Note at the bottom of the otherwise alphabetized list 😛

gaunt lotus
boreal ether
#

@brave crown looping sounds that work, that would be a good addition. That train from the other night was meant to have sound but wont work because looping doesnt work.

dire geode
# gaunt lotus ratcheting is important enough on controller to warrant it

will be looking into adding it.

but since I don't have enough space to place a dedicated toggle that handles Toggles and Holds (I'll need the remaining two for Stick Swap and Joystick Camera Y-axis): there will have to be three "duplicated" game actions for the time being.

once the advanced menu gets an upgrade to allow scrolling: it'll be consolidating into one single game action and a menu toggle.

#

once I get back home from IRL duties, I'll start preparing for a Draft PR alongside the two

#

(oh and thank you for getting camera vehicle to work!)

crude oyster
dire geode
dire geode
dire geode
#

there's...a chance that we're replacing Win32 keyboard with SDL...and fix that Wine problem?

gaunt lotus
#

wine problem?

dire geode
#

right now, i only swap Win32 KeyNameText with SDL for the time being.

#

added SDL Keyboard in (cuz why not?), but will be separate branch for the time being

dire geode
#

ok, while i was prepping for the PR, i noticed issues that only affects DirectX 8/9 renderer.

the first screenshot is the internal bitmap scaling (using SDL directly), the second screenshot is the D3D bitmap scaling.

#

best i can do is only keep the fix for DX8/9. DX11 will properly scale the text and overlay no problem.

brave crown
#

which overlay are you referring to?

dire geode
#

Steam Overlay, in this case. gimme a moment let me take a new screenshot

#

i'm in 1080p.

without the fix, using Steam overlay on the first screenshot. with the "fix", using Steam overlay on the right screenshot.

#

keep in mind, the left screenshot is the same as the release build. only difference is that the overlay scales by display resolution instead of game's resolution (if using DX11)

#

all of it on borderless fullscreen, btw.

#

i think i can get the scaling oddity fixed up somewhat.

#

...technically, i already fixed the behavior. it should behave the same as before.

dire geode
#

okay, I probably leave it alone for now.

@brave crown I brought back the Stock Mouse Input toggle after realizing that I accidentally got rid of button. 😔

dire geode
#

question, do we have menu-based game actions right now? I'm looking into adding Menu Navigation to the list, should at least reach "full controller support" as per Valve's own words.

gaunt lotus
#

there are in-game radio messages and taunts that use a menuing system (keybind opens a menu, then numbered list for menu nav)

#

these are alpine additions specifically

dire geode
#

I'm guessing overall menu navs are baked into the key binds?

#

think it's possible to replace it as pure menu actions? I also noticed that not all interactions can be done using key binds such as the settings stuffs

#

I forgot to mention the scrollbar, radio messages uses it?

#

for now: I'll use the key binds as a temporary solution. Right Joystick is gonna be treated as a Mouse Cursor for the sake of full navigation.

I'm sorry, Destiny Cursor UI haters, but things are gonna be that way. 😔

brave crown
#

@simple valley @crude oyster am i mistaken or do these screenshots all look completely proper? 😮

#

(with the new d3d11 lights)

brave crown
#

on closer inspection it does look different with d3d11lights vs. d3d11 on AF 1.2.2

... but at least in my eyes it looks better? 😛

@simple valley what do you think?

#

left new, right old

#

there's light coming from the light sources as opposed to it being entirely muted at night 😛

simple valley
#

its supposed to be dark tho donkey

brave crown
#

@simple valley how many static meshes are lighter now but were darker

simple valley
#

idk iac is the wizard with that stuff, I just made the map, he did all the wizard stuff like changing things to meshes lol

brave crown
simple valley
#

im literally no use

brave crown
#

@crude oyster 👀

#

I love the green

gaunt lotus
#

i have no thoughts

#

all i do is kill

#

all i do is drill

wraith comet
dire geode
desert crown
#

hahaha nick

#

Goober: yo that light is neat!

#

nick: yo goober your dead you crossed my crosshair unlucky nerd get rekt

crude oyster
# brave crown there's light coming from the light sources as opposed to it being _entirely_ mu...

Day looks good, green pool looks good, but in general night looks weird. 😛 not supposed to be any light on the meshes other then around the furnaces and green pool but looks like the day light is giving most of the night meshes an orange glow. The furnaces are also missing the exta lighting I added in front of them at night because those lights are only present where I pre lit the night mesh before it gets moved into the scene.

brave crown
crude oyster
# brave crown I'm trying to conceptualize a good way to accomodate that, and the best way I've...

I think it's going to require more then just turning off the light. There's no day meshes in this map but on the ones with day meshes, when I was testing the new mesh lighting, it looked way darker then the old lighting, so probably going to need to set up 2 different sets of lights and have the proper light set enable/disable depending if the game is in dx9 or dx11.

Although better option would just be an option in map_info.tbl to force old lighting in dx11, then I don't have to update all the maps. 😛

brave crown
#

Am I correct in thinking that the original Catan map and all the individual section conversions will need this flag?

brave crown
#

@crude oyster ok that function exists now. FWIW though, Catan Field and Catan Pasture look nicer with pixel lighting, I think anyway 😛 Will send you a build so you can check. Happy to include compatibility tbls for your maps, to maintain your desired design, if you wish

crude oyster
brave crown
#

funnily enough, pixel lighting makes pasture and field darker than vertex lighting :p

crude oyster
brave crown
#

isn't the day all geometry though?

#

pixel lighting only affects meshes

crude oyster
brave crown
#

ah ok, well either way I'll send a build and you can check it out

In addition to the mapname_info.tbl compatibility switch, I also added r_vertexlighting which applies in real time so you can switch it on and off as much as you want to see the difference

brave crown
#

Sent! 🙂 Give it a try and let me know if you want compatibility tbls for pasture and field

#

and normal catan

crude oyster
# brave crown and normal catan

Actually forgot mountain has all the default rf tree meshes and hill has that ship mesh, so guess those would look different in day too. 😛 Anyway I can do up all the compatibility tables and send em to you, so you can work on other stuff.

brave crown
#

well, just a list of rfls is fine - it's just copy pasting the file from hill/mountain anyway :p

crude oyster
# brave crown well, just a list of rfls is fine - it's just copy pasting the file from hill/mo...

(Top pic is old lighting and bottom is new) After some testing, I'm not sold on the new lighting being the better lighting. 😛 It is just way too dark and makes mesh lighting look dull. It is jarringly dark in forest. In graveyard it kills all the subtle moon lighting on the trees. Also with full bright not working on it, it makes all the fire on the torches and candles look wrong, as well as the lava mesh in hell (that covers all the lava to hide a seam caused by the portal splitting the room). It is supposed to be full bright so that looks weird that it is so dark. In tech clutter heavy maps, like Galileo 2 Starliner, everything looks off with the full bright not working on all the lights and screens on the tech. The place where the new lighting most of the time looks better compared to the old lighting though, is on items and the first person arm and weapon models.

So in its current state I think maps would definitely have to be designed with the new lighting in mind and all lights would have to be set to like double or triple their normal brightness, after calculating lights and before saving the map, in order to look good on meshes and blend with the geometry light level.

Perhaps you could double or triple the light level being applied to meshes in the code for the new lights and see how that looks? 🤔

#

So will definitely need compatibility tables for:
DM-Catan-Field.rfl
DM-Catan-Field1-1.rfl
DM-Catan-Forest.rfl
DM-Catan-Hill.rfl
DM-Catan-Mountain.rfl
DM-Catan-Pasture.rfl
DM-RFU8-Catan.rfl

And perhaps all my other clutter/mesh heavy maps if the mesh brightness and lack of full bright stays as it is now. 😛

brave crown
#

I'm surprised to see this feedback given I've had the exact opposite experience in every map I've played with the new lighting 😛 granted most of those were stock maps and such. I could certainly see a multiplier per level being practical. A hard multiplier across the board would make many stock maps look awful, though

dire geode
#

I should start asking everyone here to playtest Gamepad support for multiplayer. I haven't tested new game actions yet

crude oyster
# brave crown I'm surprised to see this feedback given I've had the exact opposite experience ...

I think I might know what the issue is. The new lighting doesn't seem to be taking into account the difference between an omnidirectional light and a circular spotlight. For all these maps with a general sunlight/moon light, I am using circular spotlights as the main light source, yet the mesh light is applying as if that spotlight is instead an omnidirectional light with the same properties. Spotlights are way brighter compared to a omnidirectional light with the same intensity and range.

To demonstrate what I mean look at this RED lighting comparison. The first one is the circular spotlight with a 160 range, 0.75 intensity, and 0.75 intensity at max range. The second one is just switched to omnidirectional with all the same properties. The third one is set to omnidirectional but the intensity turned up to 1.0 and range increased to 300, in order to make it better match the first spotlight.

Then look at these in game screen shots. The first one is the spotlight with a 160 range, 0.75 intensity, and 0.75 intensity at max range with old lighting. The next is the spotlight with the new lighting. The next is the spotlight just changed to omnidirectional with all the other properties the same. The last is the omnidirectional with the intensity turned up to 1 and range set to 300. So as you can see the 2nd and 3rd look very similar on the meshes. and the first and last look about the same brightness but with the last having better colour.

So I'm guessing the maps you had the opposite experience with were only lit with omnidirectional lights instead of spotlights, therefore they would have been getting the correct brightness on the meshes. 🤔

brave crown
# crude oyster I think I might know what the issue is. The new lighting doesn't seem to be taki...

The new lighting doesn't seem to be taking into account the difference between an omnidirectional light and a circular spotlight.
You are exactly right, thanks for that. I was treating spotlights as omni lights - made sense why in hallways and such there was no issue noticed - a small circular spotlight coming down from the ceiling and an omni light with the same range would look similar on fp weapons when walking through the hallway. I'll look into this

brave crown
#

yeah this makes a lot more sense now

#

the one with the cyan line is pixel lighting - it is certainly darker than vertex lighting (which is not necessarily a "problem" with pixel lighting, just a reflection of the lights in the map), but the spotlights are being applied now

#

you can see in the shading on the fence for example in pasture

(I still may need to tweak the values though, not 100% sure on that yet, just wanted to get the actual functionality working first :p )

dire geode
brave crown
#

@crude oyster ok yeah, got the spotlights working for real-time pixel lighting. it does on average look a little darker at night for sure, but the lighting certainly has a lot more depth

I may still look into having a per-map multiplier on pixel light brightness though for tweaking

dire geode
brave crown
#

for sure - this is a pretty big change, so it certainly need to reviewed and regression tested thoroughly

crude oyster
dire geode
#

especially with the Gamepad Rebinds

dire geode
#

btw @brave crown i'll need a quick question regarding Stock Mouse, if you can. does stock input uses a Mouse API from the Windows XP era, Win32 Mouse stuffs that doesn't do RawInput or Legacy Input (as Durante puts it)?

#

started doing minor research for a bit

brave crown
#

I don't know exactly how stock mouse input works unfortunately

dire geode
#

darn.

#

but i can tell you at least one thing: ever since i applied SDL Mouse Cursor in (only for Menus, you can still use Stock Mouse for camera movement): i can tell a bit of a difference in feel and movement.

#

it's soooo weird.

#

i can try to guess the stock mouse. given the age of Red Faction 1, probably WM_MOUSE?

#

i'll see what I can do, but i can't guarantee that

brave crown
gaunt lotus
#

stock is wm_mouse

#

theoretically dinput is threaded wm_mouse i think

#

for dx8

#

im looking at doing getrawinputbuffer raw input

#

if sdl is already doing that, would be good

#

i agree ur sdl patch feels good

dire geode
brave crown
boreal ether
#

I noticed if you have a lot of panning textures in a level and then geo is made; the game lags to single digit fps for about 1-2 seconds. donno why geo should effect textures in that way. might be something you would want to look in to finding out why and optimising/fix it. may open other doors into further understanding of optimising the engine

crude oyster
dire geode
#

do note: SDL in general is meant to abstract to all common OS APIs, SDL Mouse...i believe will be using WM_MOUSE / Raw Input under the hood...but Linux will use either X11 or Waydroid's instead.

technically, SDL Mouse is really just stock mouse but more abstracted to better handle various operating systems

#

...but it already handles Raw Input Buffer via THREAD_PRIORITY_TIME_CRITICAL

#

i'm bit more familiar with SDL Gamepad's method of abstraction than Mouse tho.

brave crown
#

the ones with darker trees obviously are the pixel lighting ones 😛 (the trees are moved in from outside the map from an area where they were lit, right?)

#

With the way these maps are built, I think vertex lighting is going to end up being necessary, simply because they rely on baked in vertex lighting "calculated" in an area outside the map and then moved in

#

In theory they could be redesigned to turn on the lights in the main area and light the existing trees, rather than swap them out with new copies 😛 but I wouldn't suggest you fundamentally remake the logic in the maps when a compatibility switch can just be used here

crude oyster
brave crown
#

Interesting 🤔 I'm wondering if I'm unintentionally ignoring the static mesh amb light scale

gaunt lotus
dire geode
brave crown
dire geode
#

does DirectInput only covers Mouse? 🤔

crude oyster
gaunt lotus
crude oyster
#

Just out at the moment but when I get back i can send u a test version of forest with just the day. These maps will just use the compatability flag in the end but it would be a good test to try and get spotlights matching between geometry and meshes.

dire geode
#

it still has stock keyboard and stock mouse/dinput mouse.

brave crown
dire geode
#

tried my best to restore the original setup as best i could.

brave crown
dire geode
#

actually, nevermind. was thinking of consistency.

brave crown
#

Curious - does this also allow for binding of MOUSE4/MOUSE5/etc in RF? 👀

dire geode
#

you know what, let me go try that out, i did not consider it

brave crown
#

that would certainly be exciting 😛

#

@crude oyster I sent you a test build if you want to do some testing and let me know the results 🙂

dire geode
#

hmm.. it doesn't detect my Mouse4/5 clicks, but i think i know why.

crude oyster
dire geode
#

let me see if I can add it in.

desert crown
#

@brave crown is there a way we can make the geo texture for the geo airbrush better/higher resolution?

brave crown
desert crown
gaunt lotus
#

if SDL3 captures mouse input via GetRawInputBuffer correctly, it should be the default, and dinput would not serve much or any purpose at that point

#

legacy input would be something to keep around for weird use cases (RDP, VMs maybe?)

crude oyster
#

Also are tube lights working properly in pixel lighting mode or are they just applying as omnidirectional as well? Because I have a tube light in graveyard above Krispy, that he stands up into to so he's not so dark, but it doesn't seem to be doing much anymore in pixel light mode. (top pic vertex light, bottom pixel light)

brave crown
#

thanks for that 😛

#

well fullbright is working... but it's... too full bright lol

#

fullbright apparently now means blind the player

crude oyster
brave crown
#

gives a template if emissive mapping is ever on the docket :p

#

ok fullbright works - it's actually better than fullbright because unlike vertex lighting "fullbright" which both increases and reduces the light level to a flat 1.0 (so it can actually be darker than the rest of the mesh in a super bright room) this is fullbright as a base line, but lighting can still illuminate it

#

left vertex, right pixel

crude oyster
brave crown
#

the screens can now be illuminated too

brave crown
#

later on (not right now) I plan to explore pixel lighting for geometry too as an alternative to baked lightmaps

#

that would be the time to tackle that

crude oyster
brave crown
#

in theory yes

#

if you put a super bright omni light up against the fullbright screen, for example (though I have no idea why you'd do this 😛 )

#

it's inevitable though that with this new lighting system there's going to be some super old map where the mapper did something strange with lights around meshes and it's going to look strange

#

that's unavoidable

#

(which is why the compatibility switch exists tbh, same as for full depth lightmaps)

#

alright, dissecting the editor to figure out the math for tube lights, those are next. Once those are working, I think this feature is effectively done

@crude oyster it's unavoidable that the catan maps will need compatibility tbls, but that's strictly due to your day/night cycle method. I think those are the only ones of your maps that have that though, right?

crude oyster
brave crown
#

@crude oyster just sent you a new build, tube lights and fullbright faces should be working now

#

can you test your scenario with Mr. Arsons

crude oyster
# brave crown in theory yes

Could you put some sort of cap on max brightness so things can never reach the point where they are looking over exposed? Like even in the stock game there are some super bright lights that make the models look unnaturally bright. (top is vertex bottom is pixel) I'd say there needs to be a cap somewhere between the 2 brightness levels, like they can be a bit brighter but not so bright that we're loosing detail and things are just turning pure white. 🤔

crude oyster
brave crown
dire geode
brave crown
#

The stock game doesn't support those scan codes, so that will probably need some logic

#

that's awesome though! 🥳

dire geode
#

btw, you'll need SDL selected inorder to get access to additional mouse inputs. it won't work on DInput nor Stock (probably renamed to "legacy" soon)

brave crown
#

right yeah, that is totally expected

dire geode
#

to answer the part about RawInputBuffer, i think SDL Mouse should be capable of it...by default

dire geode
glacial storm
#

Btw, does this SDL stuff also mean it could be possible to remap actions in the game to certain keys which were not possible before.

Like how we can't bind ALT key in Red Faction right now.

dire geode
glacial storm
#

We cannot bind ALT key to anything right now in RF.

split sleet
#

alt+f4 works as intended in rf .

brave crown
#

now it does yes, as of November last year 😛

dire geode
#

and well, double-check the license stuffs.

#

Ignoring SDL and GamepadMotionHelper's code (both are zlib and MIT License, respectively), I'll say between 95-97% of the setup is done from scratch.

#

the 5-3% is reuses from my prior work on getting glyphs working on Perfect Dark PC (it's a draft pr tho)...which I might consider redoing everything from scratch

brave crown
#

anything that is 100% your own, without deriving from existing code or structure or anything, that you're asking to contribute that's fine, but anything that is copied or derived from licensed code, we need to be sure we account for the license of that code

#

any code that would be under GPL for example we can't merge

#

🥳 mesh shadows are officially in Alpine master

dire geode
# brave crown any code that would be under GPL for example we can't merge

ever since the GZDoom incident, I officially made that as a rule to avoid anything related to GPL as best as I can.

in the case of YQuake2 (which I believe is multiple, including GPL), I cannot use it directly but only reference the gyro processing order. While the actual code is from the scratch, the order itself is indeed derive from YQuake2...or more accurate, swapping the order where the gyro gets processed, otherwise: gyro axis oddities gets broken. Something I later learned during my Perfect Dark PC work. It's technically a bug fix.

#

the processing order fix came much later after gyro aim is close to finalized

#

gonna be honest, everything I've done with alpine's native gyro felt like a cultivation of everything I've learned across different projects.

brave crown
#

🥳 Ok, mesh shadows and per-pixel realtime lighting are both merged into Alpine now

#

And D3D11 is officially now the recommended renderer

simple valley
#

Okay but DirectX 12 when

#

🙂donkey

gaunt lotus
#

2035

dire geode
#

or Vulkan

gaunt lotus
#

not much benefit there unless it was an actual standalone client

#

which, i dunno, maybe some day

#

funny, i think the realtime lighting boosts visibility more than the player outlines lol

dire geode
#

additional keyscans exclusive to SDL is also added in, in case you happen to have F13-24 keys on your keyboard (i have not tested that part)

#

i don't own a keyboard that has that many F keys sooooooooo

brave crown
#

It has been a lot of years since I saw one lol

desert crown
#

wait they go beyond f12?

#

😂

brave crown
#

And I don't think I've ever seen them used for anything except AS400 lol

dire geode
#

the binding issue is a hardcoded limited, but i determined that CTRL_REBIND_SENTINEL = 0x58 (it's suppose to be a faked KEY_F12) seem to bypass that.

brave crown
desert crown
#

holy shit

brave crown
#

Saw tons of these back in the day for people who worked in AS400 all day

dire geode
#

the beauty of SDL is abstraction. 😛

#

you could let SDL handle the GPU/video renderer portion if you like, but i kinda prefer something like bgfx for more specialized usage (plus more matured)

gaunt lotus
#

u can rebind keys via registry to f13 etc

#

i used to do this for push to talk lol

dire geode
# brave crown anything that is 100% your own, without deriving from existing code or structure...

after dealing with the rest (the glyph.cpp got a bit of a revision/overhaul to be more modular), I can proceed based on my analysis: everything should be compliant enough that there should be no issues.

although, there are indeed two things that is indeed use that could be a potentially problematic:

  • GyroWiki (the place where you wanna learn to implement good gyro controls and flick stick)
  • SDL_GameControllerDB

I only use GyroWiki's documents for both tightening and smoothing only. that one is CC BY 4.0 license, but if i understand from gyrowiki license page: all you need is link the article and a credit, it'll be linked on gyro.cpp.

i'm not too sure if I should also add it on licensing-info.txt, tho.

#

now, the second one is a weird oddity, SDL_GameControllerDB is a community-driven database that swaps SDL (or Steam's, if you happen to ship a game using SDL Gamepad and set ) built-in gamepad database with a more updated one. that one's zlib license too, but.....

it isn't in the PR itself, i only added SDL_AddGamepadMappingsFromFile("gamecontrollerdb.txt"); into it . If you happen to have a custom DIY controller or a new 8BitDo controller that hasn't been officially added to Steam Input/SDL yet...or you wanna extend the level of support that gamepad mapping guid can do without the need for manual SDL Updates (the community database is far more up-to-date), this will be useful...but it won't be directly part of a PR. I just give you the option to slap it inside Alpine Faction install path.

i don't know if can still put it on the licensing info page regardless, but i notice other sourceports don't do that sooo i think we should be good

#

beyond that, i think everything is ready to go!

#

i hope

#

now i'll need help on getting live players to use gamepad for multiplayer

nimble sierra
gaunt lotus
#

removes the need to lead targets ahead of your ping with these weapons

#

flamethrower needs a huge fucking nerf though lmfao

dire geode
#

(it'll be a separate PR after Gameapd and SDL Mouse branches gets merged, what you see is WIP)

thorny pumice
#

@brave crown reading through this thread, one thing I've not spotted that would be a potential nice to have... meshes and movers in skyboxes, is it possible?

#

I remember my RFU Assault map that I didn't finish was going to have those in the skybox but realised it wouldn't work.

brave crown
# dire geode soon...

ironically if this is just an argorithmic change - presumably just on initial value config - it'd be way more simple than the other changes and probably much quicker to review 😛

#

would be nice to have different ways to provide mouse sens though for sure

#

sensitivity_scale_type or ms_type or something would probably be a better command though - scale doesn't really make sense for what is effectively an enum selection

brave crown
gaunt lotus
#

what you're picking here is which scaling algorithm to use for sens, not which type of sens

brave crown
gaunt lotus
#

but i think it should maybe be something like ms_scale <default, quake, fortnite, cm360>

brave crown
#

yeah, having those aliases for the indicies would be good for sure

gaunt lotus
#

i guess sourceports would have it more often, dunno the conventions there

split sleet
#

or lag comp alghos like in most modern games ?

gaunt lotus
#

closer to modern

#

i'ts not clientside

#

the way rockets work now is that they have no lag compensation at all, but RF's lag comp is still a fairly standard/modern lag comp algo. they did not enable it for rockets though, but this seems like a subjective choice more than anything else for this game.

but in this case we aren't just enabling it and calling it a day. what i've implemented here is a "fast forward" system similar to newer games netcode. the way that it works is that when the server receives the packet from your client that you've fired a rocket, it uses your current 1/2 ping as reference to spawn the projectile 1/2 of your ping ahead of time. then, when it explodes, RF's lag comp algorithm is applied to determine whether it hit or not (and how close).

in theory this is better than just adding lag comp to the hit detection for the rockets, because it should "sync" the position of the rocket better for all players

#

the big downside to lag comp on rockets is that in close/mid range, as a low pinger against a high pinger they might become/feel completely undodgeable

#

RF's rockets are really slow and the splash is not very generous though, and there's no knockback etc..

#

they've never really worked properly in this game so it's unclear to me if there would be any balance issues

#

even at low pings they are only kind of okay in this game

#

but with fast forwarding the projectile, considering how slow they are compared to quake etc, i'd think you'd need to have a really high ping (500+) before it starts to feel wonky for the low pinger

#

the only other thing is that the phenomenon of like, you getting hit by a rocket on your client or hitting someone with a rocket and it dealing no damage - that is completely gone with this system, or at least 90% more rare

#

also there's a big ping gap you will "get hit around corners" with rockets as well, which is currently how everything else works as well

#

the flamethrower, grenades, c4, etc. all have this fast forward + lag comp on this branch as well, only difference being that the flamethrower is particle based

gaunt lotus
#

i think we should actually just change it to be some kinda raycast thing

brave crown
#

this is exciting though - I wish we had this type of lagcomp/fast forward for the past 25 years lol, but to have it now is fantastic

brave crown
gaunt lotus
#

like flamethrower could just have a hitbox and deal damage based on fire rate

#

bc the particle shit is dumb

#

and fps dep

brave crown
#

particles make sense for visuals, not for actual damage lol

gaunt lotus
#

the number and position of particles etc will never sync perfectly so

#

its funny they left it so broken in mp tho

#

the way god intended

gaunt lotus
# split sleet or lag comp alghos like in most modern games ?

I wouldn't say we're "fast forwarding" projectiles, although I guess that would be one way of looking at it :) What we do is record the time at which the player fired, and create the projectile at that time. So in my example above, at 3a, the server will create a rocket at the time the client fired (time N + half ping). Each update, true rockets...

split sleet
#

the situation in which rocket does 0 dmg but in your screen uve perfect hit is what makes it so infuriatibg

#

how much/little dmg it does its irrelevant

#

cant wait to playtest it

gaunt lotus
#

yeah rocekts are barely usable above like 70ms

#

adn they are so slow that generally they are kinda synced for most players anyway

split sleet
#

rockets are underitilised as a support for

a) engagament starter/ finisher

b) shooting RL blindly in tunnel when ure traversing corridor/ tunnel is free

c) as a denial weapon ( ctf def ) other weapons are often used( c4) regarded as more reliable

gaunt lotus
#

i think grenades are the biggest change here actually

#

bc they do fucking huge dmg and have lag comp on this

split sleet
#

please dont ever turn 'buffed lag comp rockrts ' on modded servers

gaunt lotus
#

lmao

split sleet
#

i wonder if nade / RL full dmg gibs will be more common

#

same as in LEGO

gaunt lotus
#

if u hit with them on ur screen then yeah, it does more dmg

#

the numbers in my video above are corrected (only dmg done is displayed, not overkill dmg)

#

but they do like 275 max i think

#

so in theory they just gib anyone 100/50 or below

#

might be kinda fucked lmao

#

but it's 1/2 that for leg hitbox

#

so teh actual damage is weird anyway

split sleet
#

hs multiplier works for RL right ?

#

:p

#

i swear it does

gaunt lotus
#

it does afaik

#

but with no lag comp you'd probably never/only randomly hit someone in teh head if they were strafing lol

#

grenade/c4/rocket hs will be funny

thorny pumice
#

I like the idea of the Flamethrower becoming usable. Hell most mappers don't include them because they're so poor. So maybe keep them super strong, but not ridiculously overpowered as that way they can be a new "super weapon" for players/mappers to use

thorny pumice
gaunt lotus
#

the "issue" is that they're in a lot of stock maps in good positions already

#

like checkmate, for example, it totally denies base entry

split sleet
#

please make flame canister

#

like flashbang in CS

#

xddddd

#

or smoke

gaunt lotus
#

but that being said i think it should be "strong" in close range anyway

split sleet
#

and regular nade secondary would be fb

#

xdddd

gaunt lotus
#

like, not as strong as the shotgun (bc u have to fucking aim the shotgun at least a bit) but it should be something you need to respect

#

like 100 dps or something

#

with particles it's... i dont even know, it's sometimes completely fucking absurd or totally useless

split sleet
#

rn flamethrower is less potent than pepper spray

#

xddd

#

lets keep it that way

#

xddddddd

gaunt lotus
#

the only fun thing about it is that for multikills

#

like in my hallway example there

#

hilarious

#

but yeah i don't think it should have the same dmg output that it does now, especially with lag comp

#

even if we keep it particle based the fps dependency needs to be fixed, and it should probably ignore location dmg and deal 1x always

gaunt lotus
#

i think i hate this

#

lmao

dire geode
#

basically, I figured out how to centralized the camera system, makes it a lot easier to achieve mouse camera scaling

brave crown
#

could you explain what you mean by "centralize the camera system"? (I have not had the chance to test your latest code yet for the record)

dire geode
# brave crown could you explain what you mean by "centralize the camera system"? (I have not h...

basically, the gamepad camera was tied to Mouse.cpp, and I needed to move it over to camera.cpp.

Afterwards, I reuse the existing gamepad camera angles and repurpose it into a more general solution that will let me plug it to the Mouse and soon: Flick Stick.

You can already review it over on the Gamepad PR if you like, https://github.com/AL2009man/alpinefaction/commit/9067c4d01eaf6281863a4ccf56cb4ac0ac52aba4

#

I'm still making preparation for the Mouse scale PR as we speak

#

anyway...

I plugged the camera angle over to the Mouse Input, adds 0.022 multiplier and now it behaves the same as id tech / source mouse.

#

Of course, you can switch back to Legacy if you want the original game's method back.

#

I still haven't figured out how to decide which ones the default, I wanna keep Legacy as the default for now

#

oh and I added "Raw" mouse scale that simply skips the 0.022 entirely

gaunt lotus
#

we default linear pitch to on in alpine, but that isn't the stock input to be clear, and stock sens scaling (with its weird up/down accel curve) shouldn't be removed

#

and quake sens scaling can't be a default behavior either

dire geode
#

The stock sens scaling I think is still kept in, intentionally.

gaunt lotus
#

what happens if you disable linear pitch on the client right now, with the changes you've made?

dire geode
#

last I tested, it behaves the same, the weird up/down curve still works.

#

I can test again shortly, but I'm in coffee break

brave crown
#

The only point that I'd raise just as a general matter (not referring to your specific code) is that we need to keep the changes as minimal as possible here to avoid regressions (or unnecessary code bloat). Gamepad support is a very good "nice to have", but we need to be very, very careful to ensure that these changes are as minimal as necessary and don't result in regressions or additional (noticable) overhead

dire geode
#

the gamepad one is more involved step and will need additional testing especially with the multiplayer side (I really wanna know if the Reset Camera action I added doesn't accidentally force every player's camera to reset itself)

#

the mouse one is gonna be far more focus on ensuring backwards compatibility with the original setup

gaunt lotus
#

if ur reset camera action doesn't have netcode then it can't reset everyone's camera lol

#

if it does have netcode that would be a big ??? why

brave crown
#

^

#

The player's camera "doesn't exist" on the server, and it wouldn't be synced regardless. Clients are, for better or worse (usually worse), in control of their own player entity's position and camera here

thorny pumice
dire geode
dire geode
#

Standard is really those who like Quake/Apex Legends/Valve's mouse scale while being more friendly towards Steam Input's Gyro systems, just set the in-game mouse to 2.5 and you can leave the rest of Steam Input's defaults alone.

I know a Valve developer who REALLY wanna standardized Mouse Camera scale

brave crown
# dire geode it's done, you can now review. https://github.com/GooberRF/alpinefaction/pull/3...

Will certainly review this - just sent Copilot a req to do a preliminary review too

I will say though just at a glance, the tiers probably do make sense as-is, but the labels can't stay that way. "Standard" can't be the name that we assign, in RF, to something that is net-new to RF 😛

I don't know the right answer here off the top of my head, but it's probably something like

Scale:

  • Classic
  • Raw
  • Modern
gaunt lotus
#

i dont understand the point of raw

#

shouldn't this just be "Default/Quake"?

brave crown
#

Actually, yeah that's a good point

#

"raw" doesn't mean anything when the user has no point of reference on the base value the scale is applying to

gaunt lotus
#

i understand the utility of adding quake sens scaling (I was probably going to do this myself at some point) but i don't know what benefit "raw" would have or purpose

dire geode
#

i took that snippet from FlickStick creator Jibb Smart.

#

but yea, Raw is the same as "Standard" (probably be renamed), but without the 0.022 (id tech/source mouse multiplier).

#

it's essentially the same as Joystick Camera and Gyro (this is very crucial to obtain Real World Sensitivity / Natural Sensitivity Scale)'s very own scaling (which doesn't have the special number), and it will enable us to add Flick Stick down in the line.

#

i did tested Raw and Legacy, and they both function very similar to each other. Raw just get rid of Red Faction's internal mouse handling.

#

my internal thought is this: those who wants a Raw Camera but with the same sensitivity feel as Legacy/Classic. I actually considered matching with Legacy mouse scaling, but i opted to leave it unscaled.

gaunt lotus
#

ohh for native RWS, okay, I think i follow

#

i've never played anything with native RWS or gamepad support, so I had always just ran the calibration thing in steam input to match it up with my sens

dire geode
#

i use https://www.mouse-sensitivity.com/ to get the RWS calibration thing too, the default RF mouse would be 0.200, which will be 3141px which will allow us to achieve near perfect scale for steam input gyro.

but the Valve developer I have interacted in the past suggest developers who plans to make it more friendly towards Steam Input's Gyro mouse is this: 360/ 0.022 / 2.5 = ~6545

you can see it in action on both Shady Knights and I Am Your Beast.

#

fun fact: 2.5 / 6545px is Counter-Strike: Global Offensive's default mouse scale, used as the default for Steam Input Gyro value.

gaunt lotus
#

right, i follow now

#

hmm, i guess what might be annoying is if you swap between gamepad and mouse you'd probably need to swap between two sens values?

dire geode
#

which is why Standard uses 0.022, Raw does not use it.

my current debate is changing the Raw's unfiltered scaling to closely mirror Legacy's scaling but without the weakness of RF's scaling...

gaunt lotus
#

i think i was using 6 or 7 (lolol) RWS the last time i messed around with gyro, and i think what i had to do was convert my RF sens to quake and then use the quake sens in steam input -> RWS

dire geode
#

that's why Standard will overcome that issue!

#

will make things alot easier for Steam Input / Steam Deck gyro users going forward, they just need to change two things and that's it.

gaunt lotus
#

oh duh, got it. long day

#

Standard = Quake is throwing me lol

dire geode
#

so, about the naming scheme...

#

I'm going with Goober's suggestions now. Standard gets renamed to "Moderen". 😛

gaunt lotus
#

it's really idtech/source I guess, going by engine

brave crown
#

I was going to say "Quake", but then some CS player is going to find it wrong. Name it Source and some Quake player is going to find it wrong lol

#

id Tech/Source would be correct but is probably too long for the button

gaunt lotus
#

i hate words

brave crown
#

agreed

dire geode
brave crown
#

we should do away with them

#

communicate only with gifs

gaunt lotus
#

yep, but TF/apex are also source engine based

dire geode
#

i love john carmack

#

so, cast your votes. which naming scheme for our id/source mouse will be?

brave crown
#

I think "I love John Carmack" is also too long for the label on the button, which is unfortunate

gaunt lotus
#

i vote for the button being called "Every other game"

#

every other game sens

#

this game sens

#

etc..

brave crown
#

I'd say "Modern" makes the most sense - it's not quite as specific but it says effectively the same thing in far fewer characters

gaunt lotus
#

not confusing at all

brave crown
#

RF as "Classic"
Quake as "Modern"
Raw as... "Raw"

gaunt lotus
#

that works for me

dire geode
#

the the description will precisely tell you the details, we can explain that info to them.

gaunt lotus
#

yeah, no way around it

#

sometimes there just isn't a perfect word

#

thanks semiotics!

brave crown
#

nick this is your fault somehow

dire geode
#

we can just add it to the wiki thingin' page like the rest of the feature.

#

at least until Alpine Options/Settings gets a overhaul.

gaunt lotus
dire geode
#

in the meantime: i'll swap the button order:

  • "Classic" (default)
  • "Raw"
  • "Modern".
#

again, Classic and Raw are similar to each other, Raw's sens is bit higher tho.

#

ok, everything has been rolled out, alongside the remaining fixes @brave crown, go check it out

#

the only problem is thet hooked UI. that one isn't dynamic when opening/closing the Controls tab. i don't know how to do it yet. (same with with Gamepad PR's Controls Rebind switch button)

brave crown
#

I believe that is from parenting it to the panel gadget

#

Look at how I handled the buttons on the advanced panel

#

Pretty sure I had to assign a parent

dire geode
dire geode
#

I'm done with all I have to do with all three PRs. Let me know if there are any more remaining things to solve or fix to ensure Merge Conflicts won't happen

gaunt lotus
#

we need to teach them to drum @brave crown and shotgun glitch

brave crown
#

Lmao how many is that

gaunt lotus
#

31

brave crown
#

hahahahahahaha

brave crown
#

doing waypoint grids, it's still so cool to see maps like this :p

brave crown
#

well these bots are having an exhilarating game of TAOW lol

#

I mean, they managed to find eachother and steal some flags... that's further than most players get before quitting the server when this map comes on, I guess lol

gaunt lotus
#

yea not bad

green cobalt
brave crown
#

🥳 bots are now officially merged into Alpine for v1.3

Please do note that this is the first incarnation of them, and bots are a HUGE feature with a TON of moving parts (over 36,000 lines of code), it would be impossible to test out every possible interaction with them. There may well be odd interactions and bugs with their behaviour. Please let me know if you notice anything especially troubling, but also understand that these are bots that think and make decisions on their own... so them making bad/stupid decisions sometimes based on the info they have is fully expected 😛

changelog:

- Advanced multiplayer bots system
  - Headless bot clients with server control
  - Bot profile customization
  - Integrated waypoint grid editor with autogeneration support for custom maps
  - Waypoint grid files for all default maps included
fallow valley
grand ocean
brave crown
#

there's no reason that they wouldn't work, but they are tested and tuned for stock movement, weapons, and item tiering... so they probably will make some weird decisions

#

but yes they should work

grand ocean
#

This will make for a good way to stress test my mod. Especaly the weapon projectile limit.

Also will help me know if the multiplayer addon skins are working correcly.

#

First thing i'm gonna do is play with bots on my 3d chess map. Should make for some funny moments

slow yarrow
#

oh

#

do you have some post or guide with all the settings and stuff

#

there will be a lot there

brave crown
#

they will need waypoint grid files

there will be an autodownload mechanism for them, there just isn't yet

brave crown
dire geode
brave crown
#

I definitely do need to write a guide soon, but here's the high level:

  1. You need to specify a bot_shared_secret on your server (PSK, can be whatever you want)
  2. Launch the bots via AlpineFactionLauncher.exe -game -url rf://IP:PORT -bot PSK

where IP:PORT is your server, and PSK is your bot_shared_secret

#

You can customize the bots further with bot profiles (specified in the server config), but if you don't specify a profile it just uses an average one so thats fine

#

@dire geode

dire geode
#

thanks!

prisma dirge
#

Works great, easy to use with standard maps.
Is there a way to generate the waypoint files for no-standard maps?

brave crown
#

That is the piece that as I said above will have an autodownload function for

If you want to generate your own you can via the waypoints editor

launch a listen server on the map, use waypoints_edit to open edit mode, then hit the save button. It will make an AWP file in user_maps\waypoints

brave crown
#

working on the autogen algorithm - a big issue I've had for a long time is jump pad routing for the bots. Going much better now

dire geode
#

sitll haven't gotten around with it yet, but i'm gonna blindly believe two of the PR i got should be safe with the new stuffs

wraith comet
brave crown
#

i haven't profiled it no

usage performance should be mostly the same regardless though

generation definitely takes way longer though

#

ctf06 for example, takes several minutes to autogen

#

it's "walking" around the map from several probes, so it's definitely doing a lot

gaunt lotus
brave crown
#

woo the jump pad autogen seems to work well in most cases

#

it doesn't get the jump pads in nemesis... but those are a bit unique in flinging the player through a very narrow window

#

im trying it... this is going to be like a 50mb awp lol

gaunt lotus
#

lolo

#

that map

brave crown
#

it did take forever, but my protections stopped it from being too crazy lol

#

there's a max number of hops from a single probe

#

if there were items between the spawns you could chain these sections together

brave crown
#

bots will soon know how to walk off ledges to access lower levels without having to be manually taught

boreal ether
glacial storm
#

One map I would definitely recommend for Bot navigation testing is RFU6-Live Mines

#

Stuff like the conveyor belts, Fusion platforming, those turrets, wind tunnels. And also, apart from fusion grab, most of those should actually be actively avoided for optimal play.

brave crown
#

and of course there will always be some mechanics that maps rely on that make bots impractical for those maps. Like, a lot of Kiliad's old maps had very convoluted trigger sequences required to run flags... that stuff is well outside the scope of the bots 😛

#

They will know how to do basic things of course though - like pressing a button to open a door or extend a bridge, breaking glass to create a path, or making craters to access secrets

boreal ether
# brave crown

wow that surprised me. just 2 things a noticed that could do with adding manually

dire geode
# dire geode i'll bring a video that showcase it in action.

been a while, been doing clean ups and making improvements for (probably) the next release.

Gyro Autocalibration system got a bit of a upgrade, now you can have it calibrate whenever you're in a Menu or be Always On... or just turn it off. Should work more akin to fortnite's own system.

thorny pumice
thorny pumice
brave crown
brave crown
#

so the bot knows "this is a valid route if I do X here"

thorny pumice
thorny pumice
brave crown
thorny pumice
brave crown
# thorny pumice So would you manually have a way point set on the outside of the canyon wall, th...

this is from auto generation

If you wanted to manually tweak the position of the explosion target you could, but this should work perfectly fine

the explosion system has 2 elements:

  • Explosion targets which tell the bots where they should try to make craters, and what waypoints should be bridged if they do
  • Crater waypoints which are created on a geo, and automatically form links to nearby waypoints with LOS, these are the waypoints that the bots would actually use to route through the newly opened pathway
thorny pumice
#

Also for a minute I thought it was saying bots could go UP to the fusion, but it's the opposite 😄

brave crown
#

the box is the explosion target and it's floating in the solid space inside the geometry

#

the green thing is the Y movement element of the gizmo

#

for moving the explosion target because i have it selected in the screenshot

#

the blue and red handles are for X/Z movement

thorny pumice
#

Ah I missed the "handles" 😄

#

So does it default to the floor?

#

As I'd have expected it to be centered on the geo region

brave crown
#

no, it defaults to an offset above the height of the midpoint between the 2 bridged waypoints

#

i think its 1m

thorny pumice
#

Oh right, interesting. Maybe it's just the perspective but it looks feet level to Me 😄

brave crown
#

it doesnt care about the bbox of the geo region, the test for making explosion targets is (very simplified):
If two waypoints WOULD be connected if geometry were not there, check if the midpoint of that connection is in a geo region. If it is, make a explosion target

thorny pumice
#

Ah ok, cool. Clever idea.

#

So I assume you do an auto-pass and then review any tweaks you want to add/remove?

brave crown
#

for the ones I've done so far yeah - which have all been defaults. It's most important that defaults and maps that are most commonly played, play well of course

I won't be able to manually review and tweak every single one once AWPs (waypoint grid files) start being generated for the huge amount of maps out there, but for those it'll probably just be testing by observation. Play the maps with bots and if the bots do weird things, figure out why and tweak the waypoints then

#

this is why im putting so much dev time into autogeneration 😛

#

autogeneration should be to a point soon where it creates usable (even if not 100% ideal) waypoints for 99% of maps without needing tweaks

#

and also mappers will be encouraged to provide waypoint files for their new uploads, so they have the opportunity to tweak them themselves

prisma dirge
#

I am using the autogenerate tool for generating the awp files.
I can see the generated files are readable textfiles,

After some tests I saw the server is crashing sometimes the clients / or causing them to disconnect.

Error message on the client bot:
[1861.09] WARN: af_process_server_req_packet: invalid remote handle 50af00a5

The last map before the clients crashed: Dm-NukeTown2050.rfl (TDM) with autogenerated awp file.

brave crown
#

@prisma dirge these are headless bots, right?

prisma dirge
#

yes but also normal Cliet

brave crown
#

hm? what do you mean?

#

"normal client"?

#

like, non-bot?

prisma dirge
#

Yes, non bot client for watching the server, and 4 headless bot-clients that are crashing at same time

brave crown
#

the non-bot client is also crashing?

#

can you send me a crash dump?

AlpineFaction-crash.zip in RedFaction\logs

prisma dirge
#

Not crashing, it is only disconnecting

brave crown
#

is the server dead at that point?

#

or can the non-bot client reconnect?

prisma dirge
#

No server is alive

#

I could rejoin but I have a script taht starts server and clients at same time

#

testing rejoin

brave crown
#

the server is still on nuketown there right?

prisma dirge
#

yes it is on the serverlist i guess

brave crown
#

ok, thanks. If you can send me the crash dump that would be helpful

prisma dirge
#

Oh no Server is not responding also

#

I restart server and remove Nuketwon from maprotation and will check if server is crashing again in one hour

thorny pumice
brave crown
#

the waypoint editor is in the game, and it produces a standalone waypoint file (.awp) for the map

thorny pumice
#

Oh, ok that's interesting!

brave crown
#

this screenshot was from the waypoint editor in game

#

this is what the waypoint files look like

#

if i were designing this at Volition in 2000, I probably would have embedded these in the rfl file

#

but given the thousands of existing rfls, it's not practical. So separate files make more sense

thorny pumice
#

That's fair and considering we don't need these files unless planning to run bots (so assume the server owners), most users don't need to know how these work

#

Do you plan to make this available on the auto-downloader for servers when changing maps?

#

Sorry, got lots of questions today 😄

brave crown
#

Right. Well, server operators don't really even need to know how they work, they just need to know they need them :p mappers moreso should know how they work

AWP files will be supported on the autodownloader yes, I'm not 100% sure what that experience looks like yet but it will, and it will be as seamless as possible

prisma dirge
#

Is there a command similar to sv_checkmaps to see if a map example.rfl has an according waypoint file with name example.awp ?
I did autogenerate the files, but now I don't know which maps have no awp up to now (I could write a script, but if there is an existing command I would this command instead)

brave crown
#

There is no command like that currently. Just check your user_maps/waypoints folder. They're all there

gaunt lotus
#

there are pros and cons to them being individual processes, but since the game is single threaded, it's mostly a pro right now as anyone with a multicore chip could easily run the game at full speed + some bots

thorny pumice
gaunt lotus
#

they are very tunable

thorny pumice
#

Accuracy 0.1%....

gaunt lotus
#

I think goober hasn't mentioned this much but the configuration profile for them is kind of enormous

#

they have a pretty deep finite state machine and goal routines

brave crown
#

this is correct, I definitely have not mentioned that much lol

gaunt lotus
#

and in spite of all that, it's still really difficult to get a bot to understand the more nuanced macro concepts of the game

#

like if you give them insane aim and play FFA, it would be a nightmare for sure

#

but they aren't that good at 1on1 or team modes yet

brave crown
#

the bot profiles involve configuring a preset, and then you can tweak the individual aspects separately beyond that

gaunt lotus
#

i dont think we've tested but in theory they can play mods, too

#

but if the mod's movement differs from the base game too much (lego) they would probably be really shit

brave crown
#

have not tested, but they will try to play them for sure. The movement and weapon/powerup tiering is based on the stock game though, so their value assessments would probably be very wrong

gaunt lotus
#

good for weird, hive, etc. maybe ISM on some maps, not accounting for objs

brave crown
#

like in Tactical for example, the mac 10 is the rail gun. The bots will see that as extremely valuable (because the rail gun is), even though the mac 10 probably shouldnt be

brave crown
#

since they would see it as CTF, but one of the flags is inaccessible

#

I actually dont know what would happen there 🤔

I'm guessing the team that has the flag would probably just freeze because it has no route to its own base, and the other team would just basically play tdm mode

gaunt lotus
#

interesting

#

well ISM bases have the weapons in the base

#

so i wonder who wins

#

the aggressive bots or the ones piled up in their base

#

probably the aggro ones

brave crown
#

Probably yeah lol

#

I also have no clue how the value assessments for the weapons would work out

fallow valley
#

when u getting on ida pro mcp so u can get claude to reimplement red faction 1

fallow valley
#

crazy

#

i've seen someone try to reimplement cod2 with a MCP and claude which in turn should've been simpler than cod4 cuz no fastfiles (and there's the Mac build with symbols) but they gave up on it and called it a failure

split sleet
#

technicalities problem

#

map

#

development thingy

#

a lot of ; and <>

thorny pumice
dire geode
brave crown
#

This is really great work @dire geode

dire geode
#

i also gave a shot at adding some sort of a scrolling feature inorder to add more options...but i gave up and scrapped it

#

i'll just wait for the menu overhaul instead and just focus on finishing everything else.

brave crown
#

yeah that needs to be confined to some sort of container or something (and tbh, that should be separate to this PR anyway)

dire geode
#

which means: those who want to adjust the gyro smoothing/tightening/flick stick sens, etc...will have to be done via cmd or .ini for the time being

gaunt lotus
#

probably fair for now, the menus need work far beyond just this so yea

dire geode
#

ok, the gamepad pr is essentially complete...?

#

i think?

#

unless it needs additional testings: I'll plan to add it to changelog soon (ideally for the next release)

dire geode
#

ok, i'm currently reviewing your comments for mouse scale.

@brave crown, so i believe i accidentally found a bug with the ms clamp while i was comparing to master branch...which I fixed unknowingly

turns out: the ms clamp only applies in console commands, but it's outright ignored for the alpine settings ui portion. you can bypass the ms clamp via Alpine Settings! I haven't check the config portion yet. (also applies to alpine_settings.ini)

I can apply the clamp for the UI for the sake of continuity (but only for Classic), or just straight up remove the clamp altogether.

brave crown
dire geode
#

i love accidentally fixing a bug

brave crown
#

lol :p

dire geode
#

ok, now missing one more newline to fix.

#

hmm... it's actually removed...but github diff doesn't wanna

#

ok, i think everything's solve

#

the vehicle camera scaling portion? I'll admit: it's taken from nick's very own joystick camera vehicle fix...just repurposed somewhat.

since Raw is just...Raw, it's based upon it. but if switching to modern mode: the vehicle scaling gets messed up. this is why Modern has a multiplier function that to match it the actual mouse scale of id tech's (vehicle camera's scale is based upon Classic's default mouse)

#

that request might require rewriting it to cover all input styles and mouse scales, but i'll let nick to decide the fix.

brave crown
#

i need to test out both in game and see what it feels like I guess - looking at the code it seemed off to apply a vehicle scalar to modern but not raw

dire geode
#

yea, it'll be good feedback for nick in particular.

gaunt lotus
#

i can build it all and take a look but what do u mean by it gets messed up

#

like, too fast? does it mess up the physics for the vehicles somehow?

#

the vehicles are so jank anyway, ugh

brave crown
#

also the mouse aim in some vehicles is used to turn the vehicle, and can be stopped/slowed by the vehicle collising with stuff

#

and in others it's intentionally floaty (rot accel) lol

#

tbh I just tested it and I think it feels fine

dire geode
#

Raw scale works the same as Gamepad Joystick, tho.

#

Classic doesn't apply the vehicle fix, it already worked to begin with.

brave crown
#

im good to merge this PR now

brave crown
#

ill wait for that if you are, but im good to go on this one unless you see a problem in your test

dire geode
#

I believe the turrets should work fine with both Modern and Raw. It should use the same player camera as before...but we can double-check just-in-case

#

won't be home til then

gaunt lotus
#

i wont have time to test it for awhile (day or two at least)

simple valley
#

QUESTION, does remove player weapon work in multi, I have a dumb idea but it wont work if people spawn with pistols donkey

gaunt lotus
#

IIRC it does

simple valley
dire geode
#

unfortunately, the Gamepad's gyro mouse is capped to 30 (matches Steam Input's gyro sens cap), but not the joystick camera cuz I haven't figured out which cap I should put

dire geode
brave crown
#

Thanks for that @dire geode ! I've merged your PR