El GRAN hilo de los consejos del desarrollador.

marod

INTRODUCCION

Bienvenidos al GRAN hilo de los consejos de Mediavida Game Development, por y para desarrolladores.

Mi intención con este hilo es el de ir recopilando consejos, anotaciones, y conocimientos en base a vuestra propia experiencia e ir poniendolos en diferentes secciones sobre el desarrollo de videojuegos, para aquellos desarrolladores que estén empezando, puedan beneficiarse de ellos, y así aumentar su productividad sin calentarse mucho la cabeza.

Pretendo que esto sea un hilo participativo y sobretodo de debate, ya que no todos pueden estar de acuerdo en todos los consejos, así que hay vía libre para intentar refutarlos, siempre desde el respeto.

PONGAMOS ORDEN

La armonía siempre existe, si se halla un orden previo. Así que para hacerlo un poco más ameno, os voy a dejar una pequeña plantilla con la que me podéis ayudar a categorizar los consejos.

[b]Posible sección:[/b]
[b]Consejo:[/b]
[b]Lugar de origen(opcional):[/b]
[b]Imagen explicativa(opcional):[/b]

Esta extensa plantilla, se basa en que pongáis donde creéis que puede estar mejor posicionado el consejo y su respectivo dato. También a modo de opción, os pongo que indiquéis el lugar de donde ha salido el consejo, ya sea libro, página, etc... y para rematar, una imagen explicativa de como sería ese consejo al tratarse de algo práctico. Así de simple.

Pues nada, una vez todo dicho, empiezo poniendo un par de consejos y algunas posibles categorías. Si creéis que alguno de los consejos que he puesto no pertenecen a dicho lugar, y hace falta crear una nueva categoría, avisad.

CONSEJOS DE DISEÑO Y ARTE 2D/3D

Consejos generales de Arte
Consejos de Pixel Art
Consejos de Game Design
Consejos de 3D Art
Consejos de Texturizado
Consejos de Vector Art
Consejos de Photoshop
Consejos de Illustrator

CONSEJOS DE PROGRAMACION, ENGINES Y FRAMEWORKS

Consejos generales de Programación
Consejos de Unity
Unreal Engine
iOS
Consejos de LibGDX

CONSEJOS GENERALES DE DESARROLLO DE JUEGOS

Consejos generales de Desarrollo de Juegos
Consejos de Estudio de Videojuegos/Empresa
Consejos de Marketing
Consejos Motivacionales

Iré actualizando, según os animéis a poner más. Saludos.

11
Akiramaster

Y el diseño de juego? Es que nadie piensa en él?

1 respuesta
marod

#2 Si tienes algo que aportar sobre él, lo meto en un plis :D

De paso voy a poner más consejos temáticos

VerZ

Consejo N° 1 para hacer juegos: Haz juegos.

1 respuesta
marod

#4 Agregado en motivacional

¿Pongo quien ha aportado cada consejo, o sobrecarga demasiado el texto?

r2d2rigo

Itera rapido, actualiza continuamente y retroalimenta con feedback.

1 respuesta
marod

#6 Creo que para este, lo pondré en consejos generales. Gracias por la aportación.

Intentad usar la plantilla para futuros consejos si no os importa, gracias.

VicoViper

Este es un error personal bastante frecuente
Posible sección: Unity
Consejo: Resetea SIEMPRE la posición de TODOS los GameObjects y prefabs (Aunque solo contengan un Script) y asegúrate de que todos los prefabs tienen sus pivots donde toca antes de continuar... te ahorrarás mucho sufrimiento innecesario.

Este es bastante conocido, pero a los que lleguen nuevos les facilitará la tarea:
Posible sección: Unity
Consejo: Usa la opcion Snap para crear una rejilla y limitar los movimientos, en Edit/Snap Settings puedes calibrar los ángulos de rotación a 15º o 45º para facilitar las rotaciones, el movimiento en X/Y/Z a 0,5 unidades o los scales a 1 unidad para facilitar el trabajo. Una vez establecidos estos parámetros, podrás hacer que todos los movimientos se ajusten a ellos pulsando la tecla ctrl mientras mueves/rotas.

1 1 respuesta
marod

#8 Añadido en sección Unity.

¿Qué problema puede causar el no resetear la posición? ¿Normalmente no se resetea al estado anterior al quitar el Play de Unity?

1 respuesta
VicoViper

#9 He añadido otro.

Es un error de novatos:
Si no tienes cuidado al colocar la posición de un Gameobject, que contenga a otros, puedes acabar teniendo por ejemplo unas paredes colocadas en el [0,0,0] y en [0,10,0], pero que al unirlas, lo haces en un GameObject colocado en [4,5,1], y cuando luego lo instancias, se te va todo a la mierda... al final tarde o temprano estas cosas acaban dando problemas. (Ya digo, errores de novato, pero que como se te escapen son MUY acumulativos.

1 respuesta
marod

#10 Entiendo, errores que si no los solventas desde un principio se convierten en una mala praxis.

Añadido también lo de Snap. Venga que esto se anima :D

VicoViper

Posible sección: Programación
Consejo: Divide y vencerás: Es preferible tener demasiados métodos/funciones que quedarse corto. Un código bien dividido en funciones se comenta solo... si escribes la misma línea de código dos veces es que ya deberías haber creado una función para ello.

2 1 respuesta
Kra

Sección: programación (sobre todo para novatos).
Consejo: antes de empezar a escribir código sin ton ni son, usar papel y boli: analizar el problema, las posibles soluciones con sus desventajas (si las hay) y cuál se va a picar y cómo.

2 2 respuestas
VicoViper

#13 +1

Yo siempre suelo decir cuando hablo con los estudiantes que empiezan que la pizarra blanca es la herramienta más importante del programador...

Deberías ver como se ponen muchos estudiantes de informática cuando se enteran de que los exámenes de programación son en papel y que si quieren un debugger, que se lleven el patito de goma.

1
marod

#13 #12 Añadidos.

Está claro que todo proyecto se debe empezar con una idea, y con unos cimientos muy claros pero yo soy partidario de los exámenes prácticos, ya que si no sabes programar, da igual que lo hagas a lápiz que escribas 30 lineas de codigo... Si no sale, no sale.

1 respuesta
1mP

Consejo para todo el arte/diseño en general: Si no tienes ni puta idea de arte, no te pongas a dirigir el arte de tu juego.

Y no es troll.

1 respuesta
marod

#16 This. THIS. Lo sufrí en mis propias carnes, currarte un buen diseño y porque al "Jefe de arte" no le guste, tienes que acabar haciendo una basura que sabes que no va a gustar a la gente.

2
VicoViper

#15 Te aseguro que si no tienes compilador tienes que pensar bien en todo antes de hacerlo, no sirve el ensayo-error, es decir: Nada de pensar si esta función va en este bucle o en otro, nada de ir añadiendo variables sobre la marcha.

Cuando programas en papel dedicas más tiempo al diseño, comienzas a ver los bucles de otra forma, empiezas a ver las relaciones entre funciones antes de empezar... y cuando tienes que hacerlo en C, con el tema de punteros ya es algo increíble, yo he visto a compañeros sudando en un examen por no saber si pasar algo por valor o referencia.

Es como esas preguntas típicas de: ¿Que pasará al ejecutar este código? La mayoría de veces los programadores abusamos del debugger cuando muchas veces podríamos ver errores solo siguiendo el código. (Y te lo dice uno que solía pensar igual que tu, pero la experiencia me ha demostrado que una buena preproducción en papel te ahorra muchos problemas más tarde)

PD: Y todo esto por no hablarte de los exámenes de POO con los esquemas en UML ;)

1 respuesta
marod

#18 Yo le cogí bastante tirria a los exámenes a papel y lapiz en la universidad más que nada por la profesora que tenía, que como se te olvidara un punto y coma estabas jodido, ya no era por el hecho de pensar bien o mal la lógica. Además de que cada cual tiene sus métodos, pienso que para empezar con la programación está bien usar papel y lapiz, pero luego ya si no tienes práctica a la hora de la verdad, de poco sirve. Pero estoy 100% de acuerdo, que antes de lanzarse a la aventura, hay que planificarlo todo muy metódicamente.

VicoViper

Posible sección: Unity
Consejo: Cambia el color de fondo del editor en Playmode para asegurarte de que no realizas cambios durante el Play que deban mantenerse al salir. Ve a: Edit / Preferences / Colors / Playmode tint y ponle un color que no te moleste, pero te recuerde que esos cambios no se guardarán.

1 respuesta
marod

#20 Añadido, además de ser un buen consejo, anda que no se me habrán jodido los cambios a mi por no darme cuenta de que tenía el play activado.

1 respuesta
VicoViper

#21 Yo se lo vi a un streamer de la Ludum del pasado abril y me pareció una idea genial, va genial para diferenciar estados.

Drhaegar

Posible sección: Unity

Consejo: Cuando lanzas un Raycast desde el interior GameObject si tiene un collider chocará contra él y siempre te devolverá dicho objeto. Para solucionarlo hay que hacer que el Raycast no empiece en el collider, para eso nos vamos a Edit -> Project Settings -> Physics2d y quitamos la box que dice "Raycasts Start In Colliders"

Imagen explicativa(opcional):

1 3 respuestas
neoline

Posible sección: iOS
Consejo: No utilices (aún) Swift para programar un juego completo, el lenguaje está muy bien y es sencillo y a la larga será mejor que Objective-C, pero: Hay muy poca documentación que no sea el libro oficial, casi todas las librerías y scripts que quieras utilizar no están en Swift y por ahora es más estable. Si sabes Objective-C quédate con él de momento.

1 respuesta
mr_badger

A favoritos del tiron :)

Rubenum

#1 Mi primer consejo es para 1. Creo que mejor generalizar los grupos o tendras algo infinito. Por ejemplo incluye todos los motores como Unity, Unreal, etc en Consejos de Engine. Todos los de Arte en Consejos de Arte (da igual que sea 3D, pixel art o bocetos mierder. Todo es Arte), etc...

2
Posible sección: General (Empresa/Estudio)

Consejo: Es muy bonito poder cumplir un sueño y trabajar en lo que más te apasiona, pero hay una parte que muchos olvidamos porque solo queremos hacer juegos y es la empresarial, si quieres sacar un negocio adelante asegurate de cubrirla.

3
Posible sección: General (Empresa/Estudio)

Consejo:A no ser que seas DIOS. Si quereis ser un equipo profesional y serio, intentad tener especialistas en cada área que necesita la empresa.

4
Posible sección: General

Consejo: Planifica bien y ponte objetivos pequeños o seccionados.

5
Posible sección: Game Design/Arte

Consejo: Una buena preproducción te ahorra tiempo, dinero y lagrimas.

1 1 respuesta
larkkkattack

Consejo marketing: Nunca escondas tu juego como una puta loca hasta que saques el Greenlight/Early Access/lo que sea. Empieza a crear comunidad y relaciones con prensa/youtubers/estudios amigos cuanto antes para contar con la máxima base de interesados una vez necesites esa visibilidad.

PD: Redacto genial por la mañana XDXD he editado 4 veces XDXD

PD2: Me encanta cuando este subforo está activo :qq:

4 1 respuesta
marod

#23 #24 #27 Añadidos con sus respectivas secciones nuevas :D

#26 También he añadido los tuyos, por ahora voy a dosificarlo por secciones y creo que la gente se entera mejor así, si veo que las listas se hacen muy largas, pondré los spoilers dentro de spoilers. Gracias por el consejo.

Recordad, que si veis algún fallo de redacción o algo mal puesto, avisadme :)

1
Rethenyk

A penas lo he puesto en fav. Muchas gracias chumachos :).

VicoViper

Posible sección: Consejos "motivacionales"
Consejo: La motivación es una herramienta útil pero impredecible, aprovéchala pero no la busques. Lo único que necesitas para que tu trabajo se haga es disciplina, márcate metas asumibles y cúmplelas aunque no te guste el resultado, oblígate a ti mismo a trabajar aunque no te sientas especialmente motivado, un trabajo mediocre es mejor que una tarde en el sofá... deja la motivación para los powerpoints de paisajes y ponte a trabajar.

1 respuesta