/gamedev/ Taberna de borrachos, ahora con menos usuarios aun


EVENTO ACTIVO:

https://www.mediavida.com/foro/gamedev/mv-retos-gamedev-gancho-711429

Grupo de Mediavida

https://www.mediavida.com/g/gamedev

Futuro de Gamedev

https://www.mediavida.com/foro/gamedev/mv-gamedev-donde-estamos-donde-vamos-711799
Ridote

#10979 no te vamso a convencer de que te apuntes a la jam, no? Hay un juego y un CT de premio, a elegir como en la anterior

1 1 respuesta
r2d2rigo

#10981 no programo ni cosas normales en mi tiempo libre, me voy a poner a programar juegos, hulio.

1 respuesta
Ridote

#10982 fair enough 😂

Runig666
public List<InputDevice> GetPlayerDevices(int playerId)
	{
		PlayerInputConfig playerConfig = this.GetPlayerOptions(playerId);
		List<InputDevice> requiredDevices = GetRequiredDevicesFromControlScheme(playerConfig.mapping);

	return requiredDevices;
}

private List<InputDevice> GetRequiredDevicesFromControlScheme(string mapping)
{
	List<InputDevice> requiredDevices = new List<InputDevice>();
	HashSet<InputBinding> bindings = new HashSet<InputBinding>();

	// Obtenemos el action map del mapping
	InputControlScheme? scheme = inputActionAsset.FindControlScheme(mapping);
	if (scheme == null)
	{
		Debug.LogError("Scheme Not Found");
	}
	
	var actionMaps = inputActionAsset.actionMaps;

	foreach (var actionMap in actionMaps)
	{
		if (actionMap.name != "Car" && actionMap.name != "Radio")
		{
			continue;
		}
		foreach (var binding in actionMap.bindings)
		{
			if (binding.groups.Contains(scheme.Value.bindingGroup))
			{
				string deviceType = binding.effectivePath.Split('/')[0].Trim('<', '>');
		   	 	var matchingDevices = InputSystem.devices.Where(device => IsDeviceOfTypeOrRelated(device, deviceType));
				foreach (var device in matchingDevices)
				{
					if (!requiredDevices.Contains(device))
					{
						requiredDevices.Add(device);
					}
				}
			}
		}
	}
	return requiredDevices;
}


private bool IsDeviceOfTypeOrRelated(InputDevice device, string deviceType)
{
	if (device.layout == deviceType)
	{
		return true;
	};
	var baseLayout = InputSystem.TryFindMatchingLayout(device.description);
	if(IsDeviceOfType(device, deviceType))
	{
		return true;
	}
	if (baseLayout != null && baseLayout.ToString() == deviceType)
	{
		return true;
	}
	return false;
}

private bool IsDeviceOfType(InputDevice device, string deviceType)
{
	return deviceType switch
	{
		"Gamepad" => device is Gamepad,
		"Joystick" => device is Joystick,
		"Keyboard" => device is Keyboard,
		_ => false
	};
}

No acepto preguntas

1 respuesta
Jastro

#10984 los volantes los identificas como "joystick" ? xD

1 respuesta
Runig666

#10985 Los volantes se identifican con el poder del amor

No, en verdad es porque saltan porque el baseLayout es el mismo.

		
var baseLayout = InputSystem.TryFindMatchingLayout(device.description);
		if (baseLayout != null && baseLayout.ToString() == deviceType)
		{
			return true;
		}

Por como funciona la librería de DirectInput cada dispositivo es su propio "Layout", así que el Layout de un Binding que es <PollasPollas>...sera el dispositivo que tiene el layout <PollasPollas>

Originalmente esto me lo cargue para que todo fuera "DirectInput", y así poder filtrarlo en los dispositivos de cada Mapping...pero esto revienta el sistema en caso de necesitar varios mandos para un mismo jugador.

Así que me toco encontrar lo de "dar prioridad" a ciertos dispositivos en el caso de un binding, para evitar que saltará el dispositivo SIN DirectInput

Justamente son los teclados, joystick y demases lo jodido, porque el Mando de Xbox no es "Gamepad" es Xinput pollas y ahí es donde entra la traducción rara

Esto en el caso de dejar la lista "vacía", si seleccionas dispositivos en tu perfil más te vale que coincidían en nombre la próxima vez o la cagaste

V

Buenos días gandules.

1 respuesta
Ridote

#10987 ehh que estoy de vacas hasta el año que viene, de gandull nada, descansador

1 respuesta
Jastro

#10988 buenas vacaciones

Buenos dias

1 1 respuesta
V

#10989 a las 11 jastro que eres andaluz pensaba que eras normal

1 respuesta
Jastro

#10990 son las 9:30

llevo despierto desde las 7:30 xD

1 respuesta
V

#10991 canario?

1 respuesta
Jastro

#10992 chinoirlandes

V

a pense que eras normal

1 respuesta
Jastro

#10994 donde? aqui? aqui no hay nadie normal, ni siquiera tu

1 respuesta
V

yo si #10995

1 respuesta
Jastro

#10996 te quiero raqueta, no cambies nunca <3

@Ridote que esta pasando con @neZbo? esta alive? un script se ha revelado contra el?

1 respuesta
Ridote

#10997 dice que no quiere entrar en MV :man_shrugging:

1 respuesta
Jastro

#10998 Habra encontrado otro foro donde adoren sus scripts

1
Czhincksx

Vuelvo de entre los desaparecidos en combate para poner esto:

1 2 respuestas
Runig666

#11000 Siempre me hace gracia cuando hablan de geometria e IA

Porque sorprendentemente...nunca se ve ni un solo wireframe

1
-d-bug-

#11000 van a venir cositas emocionantes

Runig666

Niños, estoy haciendo build

2
Runig666

...para variar todo funciona, incluso los controles y la BD, hasta la radio

...pero el nuevo nivel esta sencillamente reventado. Las particulas aparecen y desaparecen, y el cielo esta gris y no se el motivo...solo pasa en la versión "build"

Es desesperante.

-d-bug-

Sígueme para más consejos técnicos

Runig666

Bueno, lo he estabilizado para que ya solo me fallen las particulas...pero no tengo ni zorra de porque "parpadean"

Es como si al estar en X posición Unity asimila que ya no tiene que usarlas y las apaga

EDIT: Vengo a editar este comentario para decir a algun ingenerio de Unity que ha hecho el sistema de particulas, que es libre tambien de comerme los cojones. Las putas particulas transparentes estan rotas jodio por culo

AikonCWD

Buenos días

itch.io lleva down desde ayer porque la empresa Funko les ha tirado el dominio xdddddd

2 3 respuestas
Jastro

#11007 que locura no?

cerrar itch.io que es bastante conocido por la cara

1 respuesta
V

Adiós itch.io

AikonCWD

#11008 el drama viene un poco debido a que todo ha sido automatizado por un "servicio IA", que en base a unas reglas ha realizado la petición de cierre y el registrar también ha procedido a cerrar el dominio de forma automática, sin intervención humana, etc...

Y la peña en twitter/reddit bastante cabreada diciendo que este tipo de gestiones jamás deberían estar automatizadas y tal.

Tema cerrado