BeSalmorejo escribió:argam escribió:Si al final resulta que la mayoria de juegos van a ser adaptados por las desarrolladoras y no habra que pagar nada extra, entonces todo ha sido una muy mala comunicacion por parte de Sony. Mas les valdria haberse quedado callados y hablar cuando este mas claro que opciones tendremos los jugadores en lo relativo a compatibilidad.
Otra cosa es que tecnicamente no es tan complejo como algunos lo quieren pintan. Para algo existen desde hace muuchos anyos las capas de abstraccion. Si un juego VR quiere la posicion de la cabeza del jugador, da igual si se obtiene mediante la camara y las luces (PSVR1) o mediante inside-out tracking (PSVR2), es una llamada a una funcion de la API y ya esta se encarga de traducirla en las instrucciones necesarias dependiendo del casco que uses. Pero vamos, no es algo que no se haya hecho infinidad de veces y que se hace a diario con juegos soportando infinidad de hardwares distintos.
Un saludo!
El señor “capas de abstraccion” desde la barra del bar…
Los moves los puedes simular con un consolador del chino acoplandole luces del arbol de navidad.
¿De verdad teneis un poquito de idea de lo que hablais?
Si no se puede no se puede, por mucho que lloreis. El que no les guste que no se las compre, mejor, menos gente con la que pelear por una reserva, que se van a agotar en decimas de segundo como siempre.
Es mucho mejor el sistema de VR que tienen otras compañias de consolas ¿verdad? Sobre todo porque son inexistentes
Para su información:
Las “Capas de abstracción” se refiere al uso de interfaces en programación orientada a objectos, que es parte de las buenas prácticas de diseño de sistemas y hace parte de los principios de arquitectura SOLID, en donde cualquier subcomponente de un sistema debería poderse sustituir por otro sin que haya que intervenir otros componentes de nivel superior (Bajo acople, alta cohesión).
Para el caso, un ejemplo sería la siguiente abstracción del posicionamiento en un dispositivo de RV
interface IRVPositionInfo {
Vector3 getPosition();
Vector3 getOrientation();
}
Y el juego de RV que requiere saber el posicionamiento de la cámara:
class RVGame {
IRVPositionInfo rvPositionInfo;
void RefreshCamera() {
Vector3 position = rvPositionInfo.getPosition();
TranslateCamera(position);
Vector3 orientation = rvPositionInfo.getOrientation();
RotateCamera(orientation);
}
}
Para cada dispositivo en particular, ya sea PSVR1 o PSVR2, podrían tener su propia y particular implementación para obtener el posicionamiento:
class PSVRPosition implements IRVPositionInfo {
Vector3 getPosition() {
//Obtains position from PSVR Hardware
}
....
}
class PSVR2Position implements IRVPositionInfo {
Vector3 getPosition() {
//Obtains position from PSVR2 Hardware
}
....
}
De tal forma que se puede sustituir PSVRPosition por PSVR2Position sin que haya que modificar ni una sola línea de código en RVGame, ya que ambos periféricos implementan la misma interfaz.
Saludos.