Search This Blog

Como muchos otros ya hicieron, por favor dejen comentarios o críticas, se aprecian!

Friday, August 24, 2012

Saturación

Saturación es un concepto en el que vengo pensando hace ya un tiempo. No me refiero al desgaste de jugar mucho, es más una cualidad "in-game". Básicamente, cuanto más tiempo pasa que estás dentro de un combate, más te "saturas", y más probable es que mueras. Inversamente, contra más tiempo te mantengas alejado y reforzandote, menos "saturado" estás y más probabilidades tenés de ganar un combate cuando se presente.

¿Qué quiero decir con esto? Al menos en los juegos que más experiencia tengo hoy por hoy (HL2DM y TF2), contra más se prolonga una pelea, probablemente peor posicionado estés por la presión del combate que limita tus opciones, más municiones gastes (tanto la cargada como la total), más posibilidades hay de que llegue algún otro enemigo (aleatorio si es un deathmatch , refuerzo si es un juego en equipo como en el TF2), y menos vida tenés (asumo que la otra persona es lo suficientemente capaz de causar algo de daño).
En otras palabras, contra más tiempo pasa, todas esas desventajas van acumulandose, aumentando progresivamente. Te vas "saturando".

Esto es aun peor en juego en los que se debe recargar (por ejemplo, el quake no se ve afectado por eso ya que no se recarga). Puede que aun tengas mucha munición en total, pero poco o nada cargada. Si te sorprenden en esas circunstancias, la otra persona tiene un par de tiros gratis antes de que puedas empezar a   pelear, ya que mientras el este disparandote, vos vas a estar recargando. Si a eso le sumás no tener vida llena por acabar recientemente un combate sin tiempo de reponerte, y estar posiblemente en una mala posición (por ejemplo, que el enemigo controle una posición de altura mientras estás debajo), lo natural seria que mueras. 

Todo esto sin mencionar la posibilidad de estar en un N vs 1 (es decir, 2 o más enemigos a la vez). Algo que noté hace un tiempo es que generalmente, cuando se esta contra más de uno a la vez, los movimientos que normalmente son los óptimos para evadir los ataques de uno, suelen ser contraproducentes contra el resto, tanto ya sea por diferencias entre players o por las posiciones relativas de cada jugador. Es decir, suponiendo que se tiene un jugador en frente, y otro a la derecha. Un movimiento hacia derecha e izquierda para confundir o evadir al jugador de en frente, no es más que un movimiento hacia adelante y atrás para el que esta a tu derecha, que no necesitará siquiera andar acomodando la mira para apuntarte porque siempre estarás en frente relativo a el.

Por eso cuanto más tiempo pasa que estoy en un combate, voy pensando en todo esto y analizando si no es conveniente retirarme y reponerme antes de volver a la acción.
Lo contrario seria estar fuera de acción, curarse, reponer municiones, etc. Creo que al respawnear uno ya tiene un cierto grado de "saturación" de por si, porque no esta en las condiciones más óptimas posibles (por ejemplo, en TF2 se puede pedir "overheal" al médico, en HL2DM se pueden agarrar mejor armas y cargar el "suit", o pararse mejor).
Coincidentemente, leyendo la traducción del Bubishi de McCarthy, encontré esto en el artículo 1:


"Balance perfecto es una reflexión de lo que esta dentro. También es un requisito para la proficiencia combativa. Es mediante el dominio del balance que uno es capaz de facilmente tomar ventaja de, o deliberadamente crear, una debilidad en la postura del oponente. Tal debilidad debe ser atacada sin hesitación.
 Si alguien intenta agarrarte por sorpresa, podría ser mejor que escapes, reestablezcas tu balance, y luego enfrentes al oponente. De todas maneras, las circunstancias dictan los medios. Es bueno emplear tácticas evasivas cuando atacado intensamente. Es un buen momento para lanzar una contraofensiva cuando notes que la energía del oponente esta exausta."


La última oración da para pensar que así como uno puede "saturarse" y debe estar consciente de esto, también le sucede al resto de los jugadores, por lo que se debe estar atento para tomar ventaja de ello. Por ejemplo, si escuchan o ven que alguién estuvo peleando hace un tiempo y gastó mucha munición y probablemente tenga que recargar pronto, es una buena oportunidad de atacar. Y también se puede aplicar a jugadores del mismo equipo, si creen que alguien se esta "saturando" traten de ayudarlo para que pueda escapar.

Mucha gente es inconciente de esto, y prolonga innecesariamente peleas, pensando solo en matar lo que tiene en frente, sin considerar la posible situación que se aproxima, pero creo que es algo útil a tener en cuenta y muchas veces me ha permitido predecir quién va a salir vivo y quién muerto en un combate, y en base a eso tener más tiempo para planificar la próxima acción a tomar.

Monday, June 25, 2012

Cambiar MAC Address en Windows 7

La MAC Address es un identificador único, especifico a cada tarjeta o dispositivo de red. En base a este, se asigna una IP única a la computadora. Al cambiar esta, se modifica la IP, lo cual puede ser útil si se anda con problemas de ruteo y se quiere probar lograr bajar el ping en algún servidor en especial, consiguiendo otra dirección de IP que vaya por una ruta diferente.
Para hacer esto, vayan a Inicio > Equipo > Propiedades


De aquí vayan a Administrador de Dispositivos.

En "Controladora de Red" elijan la que usan, click derecho, Propiedades.
Y por último de aquí en el tab "Avanzado", vayan a "Dirección de Red", y en "Valor:" a la derecha, llenen el rectangulo con 12 numeros y letras de la A a la F (aleatorios, no necesita ser el número que aparece en la imagen), básicamente un número hexadecimal, y apreten "OK".

Una vez hecho esto, necesitarán desconectar el modem durante unos segundos, y volver a conectarlo, además de deshabilitar y habilitar el adaptador de red, para volver a tener internet. Para esto pueden hacer click en el icono que se muestra en la imagen, que se encuentra en la barra de tareas abajo a la derecha en el escritorio, y hacer click en "Abrir Centro de Redes y Recursos Compartidos".


En la ventana nueva que se abrió, vayan a "Cambiar configuración del adaptador".


Y finalmente, hagan click derecho en la conexión de red que estan usando, y elijan "deshabilitar". Luego vuelven a hacer click derecho, y esta vez hacen click en habilitar.


Si quieren volver a la MAC predeterminada del hardware, pongan el tick en "Ausente" en vez de en "Valor". y al igual que antes, reinicien el modem y el adaptador de red.

Sunday, April 29, 2012

Lenguaje corporal y comunicación en general en TF2

Lenguaje corporal en videojuegos, si, no es que me excediera con los fernets, estoy hablando en serio.
¿Qué quiero decir con esto? Las acciones que uno toma dentro del juego dicen mucho, por más que no nos demos cuenta. Algunos ejemplos:

Si ven a alguien retrocediendo y gritando "medic!", probablemente este débil y convenga concentrar el fuego en el para eliminarlo.
Si alguien que logró filtrarse hacia atrás del team sin ser percibido, se muestra intencionalmente a la distancia, es posible que este buscando crear una distracción para liberar algún choke y que su team pueda avanzar con mayor facilidad, o para que alguién de su team aproveche ese momento en el que dejan de prestar atención para hacer algún pick.
Si ven que el otro team retrocedió muy fácil en algún punto y estan dejando pisar sin mucha resistencia, aun teniendo en numero los jugadores necesarios para hacerlo, es muy posible que esten esperando a que se junten en el punto, ya sea porque hay una trap escondida, o piensan caer con kritzkrieg.


Si estan de spy, y escuchan que algún jugador del otro team uso el voice command "spy!", lo más probable es que ya hayan sido descubiertos y convenga cambiar lo que uno tenía en mente hacer. Aun sí no escuchan esto, si ven que de repente el otro team se encuentra paranóicamente mirando hacia todos lados, esto también puede ser una indicación de lo mismo.
Si escuchan que un médico enemigo usa el "medic!", puede que instintivamente este llamando a uno porque se encuentra débil (por más que en 6v6 es obvio que esta solo el).
Escuchar que usan los voice coms de "move up!" y "Go go go!" probablemente signifique que estan pusheando, o se estan preparando para hacerlo, así como el "I am fully charged!" de un médico avisa que tienen uber (razón por la que un buen médico intentaría "mutear" esto con algún otro comando de voz).

Hay muchos más ejemplos que dar pero, con esto tienen ya una idea para que piesen mejor lo que quieren hacer, y que quieren comunicar, no solo a sus compañeros si no al enemigo. Además, para los que son un poco más vivos, ver como pueden sacarle jugo a esto para engañar y dar la impresión equivocada.

Nota: Por como es el TF2 en general, es más facil aplicarlo a este juego, pero creo que muchas de estas cosas deben ser extrapolables a otros juegos.

Saturday, April 28, 2012

Resaltador de sintaxis para configs en notepad++

Impulsado por el resaltador de sintaxis que postee hace un tiempo, decidí hacer uno para juegos source especificamente (ya que el anterior ese estaba basado solo en quake), cosa que logre gracias a la invaluable ayuda de monitz, que fue tan amable de proveerme con unos scripts en perl a pedido mio, y modificarlos siempre que era necesario.

Este tiene soporte para el Counter Strike: Source, Half-Life 2: Deathmatch, Team Fortress 2, Day of Defeat: Source, y Left 4 Dead 2.
Separé lo que era prefijo por un lado, y comandos en si por otro, coloree estos al igual que las teclas validas para binds, comentarios, comillas, y punto y comas.



Pueden bajarlo aquí.


Miren que yendo a view -> user defined dialogue, y eligiendo Gaming Configs en la ventana que aparezca, pueden modificar los colores a gusto si es que no estan conformes con estos.

Sunday, February 26, 2012

Ver teclas presionadas en una demo (Source Engine)

Es posible, al mirar una demo, ver que teclas se presionaron en cada momento, y que acción producieron (es decir, a que estaban "bindeadas"). Esto podría ser útil si se quiere entender mejor como algún jugador logro hacer algo complejo, o quizas para atrapar a alguien usando un triggerbot (si es que este no envía la señal de "presionar mouse1" para disparar, lo cual delataría al cheater en caso de que sus tiros se esten disparando sin presionar nada).
Edit: Efectivamente, en ciertos casos puede usarse para descubrir cheaters. He aquí un ejemplo de un scout australiano, considerado por varios durante un largo tiempo como el mejor, siendo descubierto con este método

De cualquier forma, no deja de ser una curiosidad interesante, aquí la tienen. Es necesario ingresar 4 comandos en consola:

developer 1

Con este comando podrán ver el "output" (salida) de la consola en la cima izquierda de la pantalla mientras estan dentro del juego.

demo_debug 1

Este se encarga de hacer un output de todo lo que pasa en la demo, entre ello, los comandos ejecutados por el usuario.

con_filter_enable 1

Con este 3er comando, se activa el filtro de consola, para "limpiar" la salida y no ver información de más que no nos interesa (ya sea sobre errores, texturas, sonidos, frags, o lo que fuere).

con_filter_text "dem_consolecmd"

Finalmente, con este último comando filtramos todo lo que no incluya la frase dem_consolecmd, por lo que solo veremos los comandos ejecutados por el jugador en la demo.


Como verán, el formato de salida es: tick dem_consolecmd [acción tecla].
Si desean controlar cuanto tiempo se muestran los mensajes de la consola, pueden estipular el tiempo en segundos usando con_notifytime X (obviamente reemplazando "X" por el número en segundos, el valor predeterminado es 8).
Los códigos de las teclas (número que las representan, o "keycodes") son los del "Source Keymap". Dejo aquí una lista con ellos:


(0, KEY_NONE)
(1, KEY_0)
(2, KEY_1)
(3, KEY_2)
(4, KEY_3)
(5, KEY_4)
(6, KEY_5)
(7, KEY_6)
(8, KEY_7)
(9, KEY_8)
(10, KEY_9)
(11, KEY_A)
(12, KEY_B)
(13, KEY_C)
(14, KEY_D)
(15, KEY_E)
(16, KEY_F)
(17, KEY_G)
(18, KEY_H)
(19, KEY_I)
(20, KEY_J)
(21, KEY_K)
(22, KEY_L)
(23, KEY_M)
(24, KEY_N)
(25, KEY_O)
(26, KEY_P)
(27, KEY_Q)
(28, KEY_R)
(29, KEY_S)
(30, KEY_T)
(31, KEY_U)
(32, KEY_V)
(33, KEY_W)
(34, KEY_X)
(35, KEY_Y)
(36, KEY_Z)
(37, KEY_PAD_0)
(38, KEY_PAD_1)
(39, KEY_PAD_2)
(40, KEY_PAD_3)
(41, KEY_PAD_4)
(42, KEY_PAD_5)
(43, KEY_PAD_6)
(44, KEY_PAD_7)
(45, KEY_PAD_8)
(46, KEY_PAD_9)
(47, KEY_PAD_DIVIDE)
(48, KEY_PAD_MULTIPLY)
(49, KEY_PAD_MINUS)
(50, KEY_PAD_PLUS)
(51, KEY_PAD_ENTER)
(52, KEY_PAD_DECIMAL)
(53, KEY_LBRACKET)
(54, KEY_RBRACKET)
(55, KEY_SEMICOLON)
(56, KEY_APOSTROPHE)
(57, KEY_BACKQUOTE)
(58, KEY_COMMA)
(59, KEY_PERIOD)
(60, KEY_SLASH)
(61, KEY_BACKSLASH)
(62, KEY_MINUS)
(63, KEY_EQUAL)
(64, KEY_ENTER)
(65, KEY_SPACE)
(66, KEY_BACKSPACE)
(67, KEY_TAB)
(68, KEY_CAPSLOCK)
(69, KEY_NUMLOCK)
(70, KEY_ESCAPE)
(71, KEY_SCROLLLOCK)
(72, KEY_INSERT)
(73, KEY_DELETE)
(74, KEY_HOME)
(75, KEY_END)
(76, KEY_PAGEUP)
(77, KEY_PAGEDOWN)
(78, KEY_BREAK)
(79, KEY_LSHIFT)
(80, KEY_RSHIFT)
(81, KEY_LALT)
(82, KEY_RALT)
(83, KEY_LCONTROL)
(84, KEY_RCONTROL)
(85, KEY_LWIN)
(86, KEY_RWIN)
(87, KEY_APP)
(88, KEY_UP)
(89, KEY_LEFT)
(90, KEY_DOWN)
(91, KEY_RIGHT)
(92, KEY_F1)
(93, KEY_F2)
(94, KEY_F3)
(95, KEY_F4)
(96, KEY_F5)
(97, KEY_F6)
(98, KEY_F7)
(99, KEY_F8)
(100, KEY_F9)
(101, KEY_F10)
(102, KEY_F11)
(103, KEY_F12)
(104, KEY_CAPSLOCKTOGGLE)
(105, KEY_NUMLOCKTOGGLE)
(106, KEY_SCROLLLOCKTOGGLE)
(107, MOUSE_LEFT)
(108, MOUSE_RIGHT)
(109, MOUSE_MIDDLE)
(110, MOUSE_4)
(111, MOUSE_5)
(112, MOUSE_WHEEL_UP)
(113, MOUSE_WHEEL_DOWN)
(114, KEY_XBUTTON_A)
(115, KEY_XBUTTON_B)
(116, KEY_XBUTTON_X)
(117, KEY_XBUTTON_Y)
(118, KEY_XBUTTON_LEFT_SHOULDER)
(119, KEY_XBUTTON_RIGHT_SHOULDER)
(120, KEY_XBUTTON_BACK)
(121, KEY_XBUTTON_START)
(122, KEY_XBUTTON_STICK1)
(123, KEY_XBUTTON_STICK2)

(146, KEY_XBUTTON_UP)
(147, KEY_XBUTTON_RIGHT)
(148, KEY_XBUTTON_DOWN)
(149, KEY_XBUTTON_LEFT)
(150, KEY_XSTICK1_RIGHT)
(151, KEY_XSTICK1_LEFT)
(152, KEY_XSTICK1_DOWN)
(153, KEY_XSTICK1_UP)
(154, KEY_XBUTTON_LTRIGGER)
(155, KEY_XBUTTON_RTRIGGER)
(156, KEY_XSTICK2_RIGHT)
(157, KEY_XSTICK2_LEFT)
(158, KEY_XSTICK2_DOWN)
(159, KEY_XSTICK2_UP)


Referencias:
Thread de "atmo" en natf2.com