Hola buenas, como ya dije en presentaciones: estoy empezando justo ahora a interesarme y estudiar programacion sin tener nigun conocimiento sobre ello en mi vida, y que por ello de momento, solo me surgen preguntas un tanto simples.. (ya entrare en temas tecnicos y especificos cuando acumule mas informacion sobre c#, c++ y demas).
Pues eso, de momento mis dudas son las siguientes:
1. Hace falta comprar una licencia photoshop y Unity para comercializar el juego? (es decir, para que steam lo acepte, ponerlo en la playstore, o monetizar con publicidades en mi juego de android, etc) Podria esto causar problemas en un futuro? si uso photoshop sin licencia y crackeado para la creacion de las imagenes editadas por ejemplo.. podrian ser detectado si extraen los datos internos del juego? es mejor usar gimp en este caso? (que seria un software libre).
2. Si por ejemplo llego a crear un juego de plataformas 2D, programado para que sea compatible con windows o mac:
Como podria despues cambiarlo todo para pasarlo a android? ya que si programe el juego entero para que se use con las teclas del teclado.. Cual es el cambio que hay que dar para pasar del teclado/mando consola >>> a la sensibilidad tactil de los moviles?
tengo que cambiar toodo el codigo de progrmacion? es decir, volver a empezar desde 0? o tengo que pensar en programar el juego desde el principio de su creacion para que sea compatibles tanto para PC como para moviles?
en resumen: tengo que volver a empezar un nuevo proyecto de unity volviendo a importar los graficos, etc..?
O es posible editar el codigo del juego para que sea compatible tanto para PC como para android y IOS?
3. si quiero crear un juego para IOS o Android: tengo que redimensionar los graficos sprites y demas en Unity para que sea compatible para moviles? es decir, importar cada graficos de baja resolucion/tamano y demas en la misma resolcion de pantalla que androi?
o bien puedo usar buenos graficos en mi proyecto save de Unity y despues pulsar un cierto "boton magico" para redimensione automaticamente los graficos y comprimir el juego para que se adapte el juego tocho a las versiones de android?
Muchisimas gracias de antemano para aclararme de dudas^^
mientras @lightbug aparece te respondo jajaja
1. hay gente aqui a la q le ha dado cargo de conciencia x usar software pirata... las tiendas no exigen comprobante de compra pero si quieres evitarte cualquier duda mas adelante usa software gratuito desde el comienzo, hay muy buenas opciones como gimp y blender...
2. hazlo como quieras para teclados+raton, luego te miras como adaptarlo a tactiles... entre mas simple lo hagas para teclado mas facil es mapear los controles en la UI tactil
3. normalmente no tienes q redimensionar nada, si recuerdo bien unity escala a la altura y expande la vista en el ancho q se necesite... si es un 2d pixel perfect hay algunas pautas q seguir pero no es complicado
Cita de: Braltor date=1516462807mientras @lightbug aparece te respondo jajaja
Jajaja ya me tienen calado.
Hola @Mental, mi granito de Arena:
1 - Obviamente mejor usar GImp, lo detecten o no, porque Gimp es mejor y gratis jajaj (y los photoshop salen como los juegos de hoy, cada vez más pesados y con cosas al pedo para el usuario promedio)... bueno en serio, aca no te puedo aportar nada en concreto, aunque todavía me suena a cuento chino todo ese tema, voy a investigar un poco a ver si encuentro evidencia.
2 - La mayoría de los motores (o Aplicaciones) están hechos de tal manera que cuando exportás hay cosas por detrás que se adaptan al target, ej en linux el render podrá ser openGL, en Mac será Metal, en windows quizás Direct3D, lo mismo pasa con otras cosas, es decir preocupate por lo obvio diferente entre los dispositivos, se me ocurren las entradas (como mencionás).
Por ej si quisieras chequear que se dio la orden de "Salto", podés evaluar en código si se apretó "Barra espaciadora", pero es bien específico de Desktop, el código no te sirve para nada más... o, por otro lado podés llamar a tu Manager de Inputs (no necesariamente el default de Unity ;) ) y revisar si se dio la "input Salto" , Input internamente debería saber qué entrada escuchar, pueden ser que esté escuchando todas las entradas compatibles con salto (Ej tenés mando y teclado conectado a la PC), esta última es obviamente la mejor opción ya que separa los tantos entre gameplay y Dispositivos. En android te podría crear en pantalla una UI (un botón por ej) y cada vez que tu dedo hace contacto con ella se emite la señal "Salto". (fijate que en las opciones de Input en ProjectSettings dicen "Fire1", "Jump" "Submit" "Cancel"... ves que todas mencionan una acción
y no una entrada, es por eso que mencioné arriba).
3 - Que sea compatible puede significar que corra a 2 fps y el celu caliente a 150 grados, va a andar, así que no necesitás tocar nada si lo que buscás es "compatibilidad". Lo del botón mágico... más o menos, tenés opciones de gráficos, podés crearte varias opciones basadas en los targets que tengas. Si te referís a optimización en general siempre los moviles tienen el foco aca, no tanto optimización (que debería ser tema general en toda plataforma) sino "degradación", hacés todo más "feo" (puede que no tanto), por nombrar algunas: modificas shaders(tenés versiones Mobile), reducís texturas, reducís sombras, reducís distancias de dibujado, reducís triangulos en los modelos, etc... fijate que muchas veces no pasa por poner los gráficos en bajo, a veces tenés que modificar más.
Siempre para estar seguro, sea en móvil o no, tenés que probar vos, no hay una fórmula mágica, es la mejor forma ya que ahí te vas a dar cuenta de hasta cuanto podés dar y cuanto es demasiado. Igual me parece que este punto es demasiado si recién arrancás, es un problema que todavía no tenés, mejor dejarlo aparecer para enfrentarlo mejor.
EL tema de la cámara es como dice
@Braltor, la cámara responde a la pantalla que tengas, el size es "medio vertical", el resto lo calcula por AspectRatio, lo que si vas a tener que tener en cuenta es la UI, si es que querés usar "una sola" para ambos,, o si no te queda más remedio podrías rediseñar algunas cosas para mejorar el gameplay (supongo que vas a tener que probar, cada caso podrá ser diferente al otro). Para probar cambiás la resolución de la cámara y vés que por lo menos responda bien.
Saludos
como sienpre @lightbug da buenas respuestas... y extensas, jeje
1.yo uso Gimp porque es el MEJOR XD.
pero uso 3d Studio porque ya estoy muy acostumbrado a el, y me permite hacer todo lo necesario... si tubiera que cambiarme obligatoriamente, seguramente eligiria Blender
2.con los Input (proyect setting) y los "Input.Get..." puedes apañarte muy bien, igual puedeser un poco lio al principio pero puedes hacer que funciones todo a la vez en el mismo proyecto, que puedas manejarlo con todas las posibilidades... osea: con gamepad, con teclado+raton, con touch(para dispositivos tactiles), gamepad(para dispositivos tactiles), giroscopio(para dispositivos tactiles), giroscopio(para VR, tipo oculus)...
3.se redimensiona autimatico...
otra cosa es que quieras "pixelPerfect" (para juegos 2d, "pixelArt")
Cita de: Igor date=1516543225como sienpre @lightbug da buenas respuestas... y extensas, jeje
xD lo de extensas seguro
buah, muchisimas gracias por vuestros comentarios!!
por lo que entendi de los inputs, se puden adaptar tanto para pc, consolas , android, ...
Antes de ponerme con unity, habia empezado torpemente programando con Game Maker, desespere completamente pero segui adelante con Unity y a mi sorpresa, me animo ver que los codigos de programacion GML tienen muchas cosas un tanto similar a los codigos C# y Javascript! por lo que pude desenvolverme mejor seguir tutoriales despues con Unity sin quedar en blanco
Esto fue lo que consegui estos dias:
https://youtu.be/uSaQaoPO_mM (//%5Byoutube%5Dhttps://youtu.be/uSaQaoPO_mM%5B/youtube%5D)
visteis los fallos no? cuando cae el monigote de la maquina esa steampunk, en teoria tendria que aparecer el jugador justo despues que cuando acabe la animacion (sin que se ejecutan a la vez), ..pero no, el clon defectuoso del player sigue apareciendo jeje, tampoco consegui ejecutar la animacion de caminar con el animator :/ digamos que me lie un poco por seguir varios tutoriales de youtubers a la vez en un mismo proyecto. ya que cada uno introduce los codigos c# shard de una manera diferente, y al combinar un poco de todos ellos en un solo proyecto de videojuego pues.. como que dificulta un poco la cosa no jaja
Me tienen que llegar hoy libros de Unity que compre en amazon, me podriais recomendar un buen libro enfocado en la programacion bien explicado para principiantes? o alguna web.. youtuber.. muchas gracias!!!
ah y mi com***dora, en este caso mi portatil, tiene un par de años.. vale la pena comprar otro PC para ponerse a ello? se que para crear un juego 3D, es recomendable cumplir con los requisitos minimos del software. pero estoy mas enfocado en la 2D. asi que no se si vale realmente la pena.
decidi tambien ir a lo grande y.. puse los sprites del juego algo tochos, el player tienen unos 500x1000 pixeles de resolucion cada sprite de las animaciones (caminar, jump, run..), y la pregunta es: podria esto ralentizar el motor del juego en un futuro? ya que al no ser 3D, pense en no tener en cuenta ese detalle..
Una ultima cosa.. es profesional empezar un proyecto con un asset ? quizas para aprender, es mejor saber crear todos los componenetes y codigos a mano no? (fisicas, materiales, colisiones, ...)
Cita de: Mental date=1516709889o alguna web.. youtuber.. muchas gracias!!!
web: bueno aca tenés mucho, en C# la verdad si querés aprender y tenés paciencia, es decir, vas paso a paso, lo mejor es aprender desde microsoft, tienen buena documentación y código/tutorial. En JS no te puedo decir nada. De Unity no existe mejor lugar que el manual (no las referencias), está cada cosa relativamente bien explicada y además está en español. esto combinado con stack overflow ;) y leeesto.
youtuber: por supuesto el rey, el mejor, el unico, Sebastian Lague, tiene mucho contenido principiante, intermedio y avanzado, mas allá que aprendas o no está bueno ver su contenido, que tiene de programación y de Unity. Otro muy bueno de C# es jamie King (si te bancás los gritos del tipo vas bien), de seguro me estoy olvidando de alguno pero bueno, es lo que se me ocurre ahora.
Cita de: Mental date=1516709889Esto fue lo que consegui estos dias:
https://youtu.be/uSaQaoPO_mM (//%5Byoutube%5Dhttps://youtu.be/uSaQaoPO_mM%5B/youtube%5D)
Woaa, esos sprites si que están lindos.
Cita de: Mental date=1516709889ah y mi com***dora, en este caso mi portatil, tiene un par de años.. vale la pena comprar otro PC para ponerse a ello? se que para crear un juego 3D, es recomendable cumplir con los requisitos minimos del software. pero estoy mas enfocado en la 2D. asi que no se si vale realmente la pena
NO tiene mucho que ver, si te resulta comodo tu PC actual (a parte estás aprendiendo) vas joya, aunque no vendría mal tampoco actualizar, pero no es "necesario".
Cita de: Mental date=1516709889decidi tambien ir a lo grande y.. puse los sprites del juego algo tochos, el player tienen unos 500x1000 pixeles de resolucion cada sprite de las animaciones (caminar, quit, jump ..), y la pregunta es: podria esto ralentizar el motor del juego en un futuro? ya que al no ser 3D, pense en no tener en cuenta ese detalle..
Muy grandes para mi gusto, ese sprite quedaría bien con un 100x300 o quizás 200x600 como mucho, si tenés dudas probá, metelos en GIMP ;) y redimensioná a menor resolución (como extremo ponele 100 x 300), luego compará. (supuse 1x3)
Las imagenes se cargan en memoria (de video) mientras más grandes sean más memoria vas a usar, si tu interfaz de video no puede manejar grandes cantidades de memoria, sí, va a ir más lento en el momento que tenga que cargar más imagenes. Si lográs lo mismo con menos siempre es mejor.
Cita de: Mental date=1516709889una ultima cosa.. es profesional empezar un proyecto con un asset ? quizas para aprender, es mejor saber crear todos los componenetes y codigos a mano no? (fisicas, materiales, etc..)
Si sos capaz de hacer lo tuyo a mano vas a aprender, sin dudas, por eso yo te diría empezá de cero, hay mucho, muchisima info para aprender hoy en día.
Buenas, haciendo un poquillo de resumen de las dudas:
Antes de nada te sugeriría hacer la distinción entre aprendizaje y publicación. Sí estás empezando, y no estás muy versado en el tema, antes de complicarte con temas de optimización, ports, y toda la parafernalia orientada a la venta me centraría directamente en el desarrollo de proyectos pequeñitos sin mucho más objetivo que la mera formación. Una vez cojas la dinámica ya podrás plantearte proyectos con funcionalidad completa ;D
En cuanto tema photoshop, GIMP, o cualquier software "fraudulento" corres el riesgo de la detección. Es posible? Sí. Es frecuente? No. A pesar de ello obviamente estás asumiendo un riesgo. eso allá cada uno, pero desde aquí recomedamos siempre trabajar con licencias o software gratuito. Dicho esto, no considero para nada que GIMP (al margen de su licencia) sea más potente que Photoshop, ni de lejos xD
Hablando de proyectos multiplataforma. Todo va a depender hacia que plataformas te orientas, y que estés haciendo. Resoluciones, tamaños de sprites, carga gráfica, iluminación... Todos y cada uno de los aspectos de tu proyecto van a suponer una cantidad de procesamiento y componentes que muy probablemente tendrás que variar para adaptarte a las características del medio donde publicas. No tienes que hacer todo de cero ni mucho menos, pero si puede suponer una cantidad de trabajo importante en base que cambios tengas que hacer. Añadiendo la complejidad de que existen diferentes elementos de Unity que incompatibilizan con X o Y plataformas.
Con la pregunta de si la resolución puede suponer pérdida en el rendimiento la respuesta es sí. Pero donde vas a ver la diferencia es en la suma total de todos los elementos de tu escena, por meter dos sprites con resolución alta en una escena vacía no vas a tener ningún problema.. Por desgracia con esto tampoco es que exista una fórmula perfecta para conseguir un "frame rate" fluido para todos los equipos. Ante esto, solo queda usar el sentido común, mantenerte siempre en los márgenes que necesitas y testear a saco.
El tema de usar o no "assets", queda a tú criterio. Mi consejo es que seas consecuente hacia que perfil te orientas y actues en consecuencia. Poniendo un ejemplo. Si eres artista 2D no creo que pueda tener mucha cabida tirar de la store para recursos gráficos, lo que no quita que uses tools, o cualquier elemento que te facilite el desarrollo. Del mismo modo si eres coder puro, y no supieses hacer una línea recta en digital, pues igual te tocaría sacar todos los assets gráficos de la store. En resumen, que lleve o no "assets" no lo va a hacer más o menos profesional. Eso va a depender del buen uso que hagas de ellos. Si pillas un pack de juego, metes un personaje en primera persona, y lo publicas tal cual, pues.... No te esperes mucho éxito xD
Un saludete !