Jump to content
UnitySpain

Search the Community

Showing results for tags 'online'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Inicio
    • Proyectos
    • Offtopic
    • Unity Feeds
    • Website
  • Mesa de ayuda
    • Unity
    • Arte
    • Otras Especialidades
    • Builds & Dispositivos
  • Aportes de la Comunidad
    • Recursos
    • Eventos
    • Buenas Prácticas
  • Bolsa de trabajo & Colaboraciones
    • Ofertas y Demandas
  • Post Antiguos
    • General (Antiguo)

Blogs

  • byGui
  • El Blog de Pioj

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Especialidad

Found 16 results

  1. anonimo

    Fps Online

    Buenos días, os presento mi nuevo videojuego, realizado en javascript, con unity 343f3, es un juego FPS (disparos en primera persona), en el cual, hay que llegar a 100 kills, la partida esta 24 horas abierta, al llegar a 100 kills se reinicia. Para ello hay diferentes armas Cuchillo, Pistola, Metralleta y Escopeta, tienes que buscar la munición por el escenario y los medical kit para reestablecer la vida. Los personajes son cubos, estilo minecraft, ya que cuesta mucho trabajo meter un personaje animado, de momento no lo he hecho, lo he dejado con cubos para ser mas sencillo. El sistema de disparos es raycasting, el juego esta programado en javascript al 100% con el sistema online tradicional de Unity. Soporta hasta 64 jugadores en linea y el lag esta compensado para que no haya problemas en movimiento/rotacion, tambien para que vaya fluido. Controles: ASDW y raton para moverse , apuntar, y disparar. TAB: Ver puntuaciones E: Usar R: Recargar Space: Saltar Esc: Recuperar ratón para salir 1,2,3,4 / Rueda del raton: Seleccionar arma (cuchillo, pistola, metralleta, escopeta) Si quereis probarlo os dejo unas fotos y el link: Descarga: https://www.dropbox.com/s/6oe4dqj74skycf3/Fps200.rar?dl=0
  2. Buenas a todos. Hace ya unas semanitas que estoy aprendiendo uNet, pero me surge una duda con objectos se se puede droppear (soltar en el mapa) y pickup (se pueden recoger del suelo por cualquier usuario). Ahora mismo lo tengo funcionando bien, un player se encuentra un item, lo recoge y lo añade a su inventario, luego lo suelta y aparece en el mapa, otro player ve ese objeto y lo puede recoger. La cosa es que no se si lo tengo bien estructurado en cuanto a Commands y ClientRPCs, pongo un ejemplo inventado y en bruto para que veais como lo tengo: "Al hacer click en un item, ejecuta la funcion de "Añadir Item al inventario" y la esctructura de la funciona es la siguiente:" .... .... if (isItem == true) { CmdAddItem(); } [Command] void CmdAddItem() { //añadir item a una lista //modificar el nombre a item.name //modificar parent del item //añadir item a un Slot //indicarle al item en que slot esta //...y mas logica RpcAddItemInform(); } [ClientRPC] void RpcAddItemInform() { if(isLocalPlayer) { //añadir item a una lista //modificar el nombre a item.name //modificar parent del item //añadir item a un Slot //indicarle al item en que slot esta //...y mas logica } if(!isLocalPlayer) { //modificar el nombre a item.name //modificar parent del item //indicarle al item en que slot esta //...y mas logica } } Este código es muy bruto es solo para ejemplificar lo que me esta ocurriendo con todo lo que tengo que sincronizar entre servidor y clientes. Como veis, tanto lo que ejecuto en el Command como en el RPC para el LocalPlayer, como en el RPC para el NoLocalPlayer, se repiten las lineas de la lógica, con variantes ya que cada cliente tiene que saber lo que que tiene que saber, pero encuentro absurdo tanto repetir código. Primero en el Command le doy toda la logica ya que es el server y lo tiene que saber todo o casi todo, luego ejecuto el RPC para actualizar los clientes pero con variantes según si es el playerlocal o no es el local. Parece una tontería pero al tener ya varios Command y RPCs en el código veo muchas lineas de Lógica repetidas y tampoco acabo de ver el sentido a actualizar la información del Item en el servidor si luego al informar a los clientes les paso el mismo código a mano, al ejecutar el RPC no debería "Copiar" lo que hay en el server? En mi opinión estoy haciendo algo mal en terminos de organizacion de donde ejecutar las lineas de logica, donde ejecutar las lineas de comprobación previas a la lógica (como por ejemplo saber si tengo un Slot libre en el inventario antes de añadir el item). He buscado mucho por internet pero a parte de la poca info practica, la gente lo hace de distinta manera. Alguien podria arrojar algo de luz para ver como se suele estructurar las sincronizaciones servidor-cliente y que el server sea autoritativo? Un ejemplo en bruto como el mio seria genial. Saludos!!
  3. Buenas! Os presento un jueguillo que hemos desarrollado para Android. Se trata de un juego online con una mecánica muy sencilla: Adivinar la puerta correcta para ir subiendo de piso. Son partidas de máx 4 jugadores, y si no se completa la sala, se crearán bots hasta alcanzar los 4 jugadores. Ganando partidas consigues monedas que puedes gastar comprando skins. Os dejo unas imágenes y el enlace a Google Play: Descargar para Android Gracias por pasar! :)
  4. Hola a todos, tengo un problemilla y es que en mis juegos online solo pùeden conectarse maximo 5 jugadores, el juego esta bien programado y he probado de todo para ahorrar ancho de banda en la programacion , he abierto puerto para crear la partida y eso, pero solo pueden conectarse 5 personas a la vez. Mi conexion es de 100 megas de bajada y 100 de subida. Aquí teneis el juego:: https://www.dropbox.com/s/uxs7irnm8hgvfia/FormulaKarting33.rar?dl=0
  5. Buenos días: Estoy desarrollando un juego en equipo y nos vimos al siguiente problema: Queremos hacer un multijugador con amigos conocidos. Es decir, yo creo una partida, y en lugar de un host online que las conecta, es el propio pc de uno de los jugadores. Los otros se conectarían a ese pc. Como si fuera un juego en Local, pero de manera online (Cada uno desde su casa). Estuve mirando un poco por internet y se recomendaba photon, pero al ver photon usaba un sistema de conexión tipo anfitrión en la red o eso estuve entendiendo... Mi problema es que ya he llegado a un punto que no sé exactamente cómo buscar o qué buscar para obtener lo que deseo conseguir... ¿Es muy descabellado o estoy entendiendo algo mal o si o si hay que tener un servidor en la nube que enlace esas partidas? ¿Cómo podría hacerlo o por dónde podría empezar? En caso de un servidor si o si ¿Valdría cualquiera o se necesita si o si uno especializado? Un saludo y gracias de antemano.
  6. Guest

    Ayuda Networking/Photon

    Hola amigos soy nuevo en el foro. Tenia un pequena duda compre un asset que se llama invector y estoy tratando de configurarlo para que se pueda jugar online pero cuando conecto 2 jugador no veo al otro jugador. Solo spawnea a uno les agradeciria la ayuda ;)
  7. Hola, estoy desarrollando un proyecto para un juego freetoplay del tipo mmog, hemos creado toda la mecanica y bases de datos con la info para el juego; y ahora toca la fase de programacion y diseño. La idea es programarlo en unity + photon. En principio estoy buscando algo de ayuda y en caso de no encontrar dicha ayuda, estaría dispuesto a gratificar economicamente dicha colaboración, pero para ello necesito alguien que realmente controle sobre todo en mmog, ya que tambien hay que hacer que la tienda on line (pagina web) donde los usuarios se registran, puedan hacer compras de mejoras que se han de implementar en el juego. Para cualquier aclaración ponte en contacto y te respondere. Un saludo.
  8. ¡Buenas! Ya hemos lanzado un modo de juego online para nuestro más exitoso juego, "Crossy Creeper". Es un runner infinito en el que te mueves por bloques, en 3D. Al más estilo Crossy Road. En esta actualización le hemos dado un buen lavado de cara, incluyendo 4 escenarios nuevos, muchos skins y habilidades especiales, ¡y mucho más! https://play.google.com/store/apps/details?id=com.keplerians.crossycreeper ¡Muchas gracias por pasaros!
  9. https://kobra.io Es un servicio online de edición de código colaborativo (múltiples usuarios editando el mismo archivo a la vez), lo que permite crear el código de un fichero en menor tiempo, o también puede usarse para enseñanza a distancia, para tutorías o cualquier otra cosa que necesitéis. Su uso es muy sencillo, y puede serviros a más de uno para resolver esas dudas del foro que parecen imposibles. Recordad: ¡La unión hace la fuerza!
  10. Mi videojuego en desarrollo, Columnea's Glory, trata de una nación llamada Columnea. Esta nación surgió debido a una rebelión en el Imperio Romano. La historia es inventada. El videojuego va a ser online (o, al menos así es). En el videojuego de momento solo puedes caminar y chatear. También tendrá un sistema de tiendas, y podrás comprar terrenos para así plantar verduras y hortalizas. Habrá una mina en la que podrás sacar minerales y venderlos, o incluso descubrir algunos. El problema de todo esto es que no tengo conocimientos para hacer ese sistema (de inventario, por ejemplo) o de intercambio por ejemplo. ¿Alguno de vosotros podría colaborar conmigo? Lo agradecería de corazónn
  11. Hola gente, para los que quieran añadir un Ranking Online en su juego, aquí les dejo el tutorial de como hacerlo de una manera muy sencilla, utilizando Unity y MySQL. Saludos, espero que les guste.
  12. Bienvenidos a la segunda parte del "Tutorial de UNET en español" Hoy vamos a tratar de entender cómo funcionan los comandos y sync var de una manera más detallada y luego vamos a programar un sistema de puntuación que nos permita gestionar KILLS - DEATHS - SCORE - NAME ¿Cómo funcionan los Command? Los comandos son funciones que se encuentran del lado cliente pero se ejecutan del lado servidor, es decir, cuando nosotros llamamos un comando desde cualquier cliente no se ejecuta en dicho cliente, si no en el Servidor. ¿Y esto para que sirve?, Bien, esto nos sirve para dejar que el servidor se encargue de todos los datos del juego aplique las reglas y sincronice estos datos con los demás Jugadores, Ver el Ejemplo de Sincronización de Movimiento. ¿Qué son las SyncVar? Con las SyncVar podemos sincronizar variables de datos Simples, Como INT - STRING - FLOAT y otros característicos de unity como VECTOR3, aunque estas siempre deben ser actualizadas por el servidor, ya que el cliente no tiene el privilegio de hacerlo. Entonces ¿Cómo se fusionan las dos? Primero, deberíamos pensar la lógica de forma local, es decir, sin ponernos a pensar en Sincronización u otros aspectos Multijugador, supongamos que estamos pensando hacer un FPS SIMPLE, entonces empezamos creando el Movimiento del Jugador, Move, Jump, Rotate, RotateCamera estas serían nuestras funciones para controlar todo el movimiento del personaje. Una vez ya programado esta parte, debemos Sincronizar la Posicion y Rotacion del Jugador, más la Cámara (VER PARTE 1). Esto fue una breve y simple explicacion de como funciona, pero voy a resumirlo en simples pasos explicativos para que sea más fácil entender. 1- Realizamos la Acción Localmente 2- Enviamos los Resultados por Cmd al Servidor 3- El Servidor asigna los datos recibidos en su correspondiente variable. 4- Los Cliente no locales sincroniza cada instancia con los valores sincronizados. Bueno, ya teniendo en cuenta todo lo anterior pasemos a construir nuestro sistema de Puntuación. 1- Vamos a necesitar 4 Variables 4 Funciones y 4 Comandos. [SyncVar] public string Name; [SyncVar] public int Kills; [SyncVar] public int Deaths; [SyncVar] public int Score; public void SetName(string value) { Name = value; Cmd_SetName(value); } public void AddKill() { Kills++; Cmd_AddKill(Kills); } public void AddDeath() { Deaths++; Cmd_AddDeath(Deaths); } public void AddScore(int value) { Score += value; Cmd_AddKill(Score); } [Command] private void Cmd_SetName(string value) { if(!isServer)return; Name = value; } [Command] private void Cmd_AddKill(int value) { if(!isServer)return; Kills = value; } [Command] private void Cmd_AddDeath(int value) { if(!isServer)return; Deaths = value; } [Command] private void Cmd_AddScore(int value) { if(!isServer)return; Score = value; }Con esto ya tenemos nuestro sistema de puntuación funcionando, ahora debemos gestionarlo, vamos a crear una función OnGUI para visualizar los datos de todos lo Clientes conectados. void OnGUI() { foreach(PlayerInfo current in GameObject.FindObjectsOfType<PlayerInfo>()) { if(current == this)GUI.color = Color.red; GUILayout.Box(current.Name + " D [" + current.Deaths + "] K [" + current.Kills + "] S [ " + current.Score + "]" ); } }Bien, ahora podemos hacer nuestro test utilizando Inputs y la función Update void Update() { if(!isLocalPlayer)return; // Si no es el jugador Local Sale de la funcion UPDATE if(Input.GetMouseButtonDown(0))AddScore(100); if(Input.GetMouseButtonDown(1))AddKill(); if(Input.GetMouseButtonDown(2))AddDeath(); }FIN DE LA SEGUNDA PARTE Siguientes Sistema de Puntuaje + UNET + Simple UI Sistema de Salud + UNET + Simple UI Explicación más detalladas de Command Sistema de Disparos + UNET + Simple UI VIDEO TUTORIAL de todo lo explicado ¡SALUDOS A TODOS y SUERTE!
  13. Hola a todos! Hacía 3 años que no pasaba por aquí, dejé Unity de lado y, cuando volví a ponerme, no recordaba esta comunidad Las dudas que tenía las estuve preguntando en los foros de Unity oficiales, pero parece que mi consulta es muy n00b para que sea respondida. La verdad es que no me manejo mal con el inglés, tengo experiencia en programación alta (trabajé de desarrollador web 4 años) y llevo 3 meses en paro, tiempo dedicado a Unity. Aquí va la consulta: He leído que hay muchas maneras de realizar un multiplayer y, según lo que vaya a necesitar tu juego/aplicación, una de las tecnologías será mejor que otra, o más enfocada a tu proyecto. Os traduzco la consulta y os la dejo por aquí, a ver si me pudieseis recomendar. Mil gracias! "He estado buscando documentación sobre el desarrollo de un juego multiplayer en Unity, pero me he dado cuanta de que hay varias tecnologías además del Networking nativo de Unity.:He leído sobre: Photon using Photon's serversPhoton using your own server.Unity networkingUnity Cache ServerTu propio servidor de DBMi juego tendrá: Player DataBase (De esto, controlo los lenguajes SQL, MYSQL y PHP)Una Escena con todos los jugadores conectados (como un mmorpg open world)Pequeñas habitaciones (otras escenas) donde los jugadores podrán entrarMis lenguages de programación son los nativos de Unity (C# y Javascript) y otros como C++, PHP; SQL, MYSQL, y varias librerías derivadas de estos lenguages. Mi ingés no es muy bueno y toda la documentación está en este idioma, pero no está explicado en un inglés para tontos.Podríais recomendarme qué tecnología de networking sería la óptima para realizar este tipo de juego?Gracias! "
  14. Hola gente como estan? mi problema es el siguiente tengo un proyecto que al conectarte aparecen 2 botones, esos botones solo cambian el material al personaje (la ropa) mi problema es que el servidor/cliente crea la partida y elije la ropa el cliente se conecta y elije la ropa, en el servidor/cliente se ve la ropa del cliente pero en el cliente no se ve la ropa del servidor/cliente, lo que me parece es que las funciones no se sincronizan con los nuevos clientes les muestro el codigo: [SerializeField] Material materialGuerrillero; [SerializeField] Material materialMilitar; [SerializeField] GameObject personaje; [SerializeField] GameObject spawn; public void Update (){ } public void Militar (){ if (isLocalPlayer) { personaje.GetComponent<Renderer> ().material = materialMilitar; spawn.SetActive (false); Cmdmilitar (); } } public void Guerrillero (){ if (isLocalPlayer) { personaje.GetComponent<Renderer> ().material = materialGuerrillero; spawn.SetActive (false); Cmdguerrillero (); } } [Command] void Cmdmilitar(){ if(!isLocalPlayer){ personaje.GetComponent<Renderer> ().material = materialMilitar; } } [Command] void Cmdguerrillero(){ if(!isLocalPlayer){ personaje.GetComponent<Renderer>().material = materialGuerrillero; } }
  15. Buenaaaas, estoy probando unos scripts que encontré en un tutorial de youtube de 12 minutos...para conectar a través de la ip y jugar en multiplayer (ConnectionGUI, Control, Instantiate..) los pongo por que puede que alguien los haya probado también, la cosa funciona bien, puedes crear el server o conectarte a la ip, lo he probado en el mismo ordenador y con dos ordenadores diferentes y el problema es que mueves ambos personajes desde los dos equipos!, No se si es por usar los scripts que incorpora Unity en los "standard Assets" para controlar al personaje en primera persona o por que ambos equipos los conecto a través del mismo router, pero es raro, no?, alguien ha probado esos scripts a los que me refiero?
  16. Guest

    Juego de futbol online

    Hola a todos A ver si alguien puede ayudarme con esto... Hace unos mesen empece a hacer un juego de futbol, es muy simple, no es mas que un personaje en forma de capsula que empuja y da patadas a un balon la idea era hacer algo de este estilo http://www.haxball.com/ pero en 3D consegui hacerlo y que me quede bastante guay pero ahora el problema es que la gracia de este juego esta en el online. Despues de romperme mucho los cuernos e investigar con el Photon intentando descifrar como funciona ya que yo de programacion lo justo y menos... consegui algo mas o menos pero me daba problemas con la propiedad del objeto ya que solo puede mover el balon el jugador que tiene la propiedad y entonces los demas no podrian quitarselo intente que cuando algien tocara el balon obtuviera su propiedad pero iba muy mal la mayoria de las veces fallaba y tenia que tocar el balon muchas veces para poder llevarmelo y aun asi a veces cuando me lo llevaba el otro jugador seguia viendo que lo tenia el e incluso a mi me desaparecia y le volvia a el. Vamos que no funcionaba... segi intentandolo pero no consegui nada mas asi que lo deje por el momento. Ahora que tengo tiempo de nuevo me he vuelto a poner con el y se me ha ocurido la idea de hacer que todos los jugadores esten en el servidor y que los usuarios solo le envien los controles y reciban la imagen ¿Es esto posible? ¿no petaria por lag o algo asi? y si pudiera hacerse ¿alguien podria darme alguna pista de codigo o algo? que como ya os digo mis nociones de programacion son muy justas
×
×
  • Create New...