¿Como hacer un juego?
Asi que quieres crear un nuevo juego eh, bueno has llegado al post correcto, en las siguientes lineas trataré de compartir algunas ideas basadas en alguna experiencia con el campo.
- ¿por qué elegir el world editor de warcraft? .- Buena pregunta muchacho, en realidad ahí afuera hay una cantidad bastante amplia de Game engines(Motores de juegos) personalmente he probado algunas y creo que puedo decir sin temor a equivocarme que la mas grande limitante en cuanto a motores de juegos profesionales es la limitación en cuanto a los recursos del proyecto, es decir modelos , texturas , sonido , y control de flujo de programa, muchas veces un diseñador de juegos podria tener una idea para hacer un pequeño juego , sin embargo la implementacion por muy básica que sea requiere de toneladas de trabajo para poder tener algo medianamente jugable y ni hablar del trabajo que requiere tener algo para jugar entre 2 o mas personas. esta es quizás la ventaja mas grande del WorldEditor, ya que simplemente necesitamos instalar el programa y comenzar.He probado desarrollo con el DirectX SDK de micrasoft y el OpenGL en multiplataforma y siempre es el mismo problema , basicamente hay que desarrollar primero una capa grafica y luego una capa de recursos (pipe line) para poder comenzar, luego hay que lidiar con las animaciones y materiales de los modelos , asi que basicamente implementar primero un motor de juego y luego (y despues de mucho trabajo podrias comenzar con el desarrollo de tu juego propiamente dicho)... eso en terminos terrestres es casi imposible es la peor aproximación para el desarrollo que un aficionado podria intentar, para este tipo de implementacion se requiere por lo menos el trabajo de 6 a ocho personas en distintas áreas, porl o tanto queda descartada totalmente. He probado tambien recientemente el unreal engine y el unity3d bajo las mismas condiciones ambos motores requieren de un procesador muy potente ,si deseas ir por uno de ellos recomendaria totalmente el unity3d, aunque igualmente requiere de una buena cantidad de trabajo conseguir los recursos necesarios , repito modelos texturas efectos de sonido y musica sin embargo hay packs que puedes conseguir gratis en la web para conseguir recursos, la otra no se si realmente sea una limitante , es el dominio a buen nivel de uno de los lenguajes de programacion que requiere el unity, hay 3 opciones hasta donde yo sé puedes escoger C# que es un lenguaje moderno y estable , javascript que es un lenguaje generalmente utilizado para crear páginas web dinámicas y boo que es un lenguaje que ofrece el unity y creo que fué desarrollado por la misma compañia, en cualquier caso requiere un buen nivel de dominio del lenguaje elegido, por otro lado las interfaces graficas deben ser desarrolladas totalmente por el diseñador ... para no hacerla mas larga el unity es una buena opción sin embargo en comparacion con el warcraft en cuanto a desarrollo rapido de prototipos el WE sigue teniendo ventaja(obviamente no puedes hacer algun proyecto comercial con este).
-Bueno bueno me quedo con el WorldEditor(pero ya cállate

) .- Sabia respuesta pequeño saltamonte ,ya que tiene tanto de bueno entonces ... por donde empezar?
El inicio del camino .- Bien ya lo he decidido haré mi propia version del dota o de algun MMOrpg y será mejor porque tendrá juegos de azar y mujerzuelas

(referencia al meme de bender) , Este es un error comun del principiante , el querer teletransportarse antes de caminar, puede que estemos muy motivados para iniciar un proyecto y nos lanzamos a la computadora a comenzar (por lo general nos comenzamos por poner un par de arbolitos con el editor y contemplar nuestra obra y quedarnos soñando con el resultado final por las siguientes 2 horas)...Entonces ¿Está mal este camino? , bueno no diremos que mal, mas bien diremos que podrias tomar un atajo.
En la mayoria de comunidades de desarrollo de algun tipo la recomendación básica es que pruebes un poco ,hagas algunos mapas pequeños cosas que puedas manejar , que puedas decir hare esto en 2 semanas y lanzare el mapa para que todo el mundo pueda jugarlo ,esto ayuda en el desenvolvimiento con las herramientas del editor y la concrecion de un sólido cimiento para futuros proyectos.
Tanto si ya tienes mucha experiencia con el manejo del editor y puedes conseguir los recursos que necesitas utilizar, existen algunas formas de ser mas productivo con tu tiempo de desarrollo.
Desde el inicio del proyecto las cosas deben ser llevadas en orden(ya ya tambien le tengo fobia a esa palabra

)
Antes de seguir ampliando y establecer un proceso de desarrollo para nuestro proyecto estableceremos algunos términos que nos serán de ayuda mas adelante.

Punto Clave : Diferenciar entre la
Mecanica del juego y la
piel , WTF está haciendo SPAM ... Calma calma , antes de que llames al moderador o al administrador del foro , dejame explicar un par de cosas :
¿Que es la mecánica del juego? la mejor forma de aprender a diferenciar la mecanica de la piel es con un ejemplo, tomemos en este caso el dota , bien ¿Cuál es la mecánica del Dota?-Elegir un personaje y Derribar las torres del equipo enemigo... en terminos sencillos esa es la mecánica del dota puedes darte cuenta porque es la parte mas importante y esta presente durante todo el juego.
¿Que es la piel? La piel del juego son todas las caracteristicas adicionales a la mecánica pueden ser importantes en cuanto a la jugabilidad sin embargo la falta de alguna de ellas no hace que el juego deje de funcionar, siguiendo con el ejemplo podriamos decir un monton de elementos que conforman la piel del DOTA, como son los items , los skills , los creeps y las distintas estrategias que pueden implementarse.
Habiendo dejando claro el punto anterior podemos comenzar aqui: Toma lápiz y papel diferencia claramente la mecánica de tu juego en menos de 3 lineas, basicamente que hacer en el juego y como ganar o perder.una vez identificada la mecánica claramente podemos continuar con la siguiente parte , la piel del juego, que caracteristicas tendra este nuevo juego que pretendo crear , recomiendo hacer una lista breve con las caracteristicas que quisieramos implementar y ver punto por punto la posibilidad de implementación.

los puntos anteriores se convierten en nuestro norte para el desarrollo , como a muchos les habra pasado cuando faltan estas cosas, comienzas a perder motivacion a trabajar menos cada dia y luego pbsesivamente tratas de completar algo sin embargo parece que nunca vas a poder terminar nada y asi te sigues desmotivando hasta que lanzas tu computadora del quinto piso(bien bien creí que era el único al que le pasaba eso

)
Entonces Comienza
construyendo tu mecánica, investiga si hay sistemas que puedas implementar para conseguir tu objetivo establece una lista de prioridades para dener la mecanica implementada al 100%.
Haz todas las pruebas que puedas en cuanto a la mecanica ,verifica que todo funcione correctamente.
Haz mas pruebas ... simpre hay algo que se va


la siguiente parte requerirá que centres todo tu esfuerzo en implementar las características que has elegido para tu juego, es conveniente tambien crear una lista de prioridades , por ejemplo los personajes van antes que el mapeo.
Para medir tu productividad puedes dividir todas las tareas de la lista y dividirlas entre 100 para poder porcentualizar tu avance

Otro tip para mejorar tu productividad es : Si es un juego que requiere de muchas cosas puedes buscar ayuda en tus compañeros del foro, publica lo que tengas sin miedo abre tu proyecto a las demas personas de otra forma no podrán ayudarte, quítate de la cabeza el hecho de que los demas te "Robarán la idea" es probable que la idea que tienes ya la hayas robado de álguien mas , en cualquier caso no hay nada tan avanzado en este mundo como para merecer la pena quedarse encubierto y si lo es probablemente otros mappers no necesitaran ver los interiores de tu mapa para robarte las ideas


Mide el avance de tus camaradas , y recurre a los sistemas que ya estan escritos, no hay necesidad de reinventar la rueda usa lo que tienes para ahorrar tiempo.

esto es un poco dificil de hacer: trata de dividir la parte gráfica de la parte funcional ,no escribas detonadores que dependan de unidades que has puesto manualmente a no ser de que su manejo sea realmente sencillo.

Verifica que no tengas fugas de memoria,ya que el warcraft no limpia las variables de la memoria y esto reduce exponencialmente la velocidad a la que el juego se puede ejecutar.

Haz pruebas de jugabilidad para detectar posibles errores antes de lanzar el mapa.

una vez finalizados los pasos anteriores limpia tu mapa antes de publicarlo, quita los detonadores que no estas utilizando, así como los recursos que no estas ocupando , esto reduce el desorden y mejora el control sobre tus versiones, haz varios respaldos de tu proyecto durante todo el proceso de desarrollo y guarda un respaldo final de preferencia con el nombre "XXX version final abierto" y optimiza esta version para que sea la version que publicarás.

Pon diponible tu mapa desde un sitio oficial puede ser un post en este foro y referenciala en la versión final

No olvides poner tu nombre en los creditos y una forma de contactarte.

Luego necesitaras alguna forma de hacer publicidad a tu mapa en el "Mercado", recurre a tus amigos en garena o algun servidor publico donde aun se juegue warcraft III ... es todo por el momento Buena suerte pequeño saltamonte ;D
