¿Cómo puedo gestionar eficazmente un proyecto de juego de pasatiempos? [cerrado]

424

¿Cuáles son tus consejos y trucos para terminar con éxito un proyecto de juego de pasatiempos en tu tiempo libre? ¿Cómo te motivas para seguir así y conducir hasta el final sin perder interés o motivación en el camino?

Michael Barth
fuente
2
Creo que tu pregunta es subjetiva y argumentativa.
alFador
79
@alFador: Creo que los consejos sobre la gestión eficaz de un proyecto no son subjetivos ni argumentativos. Existen muchos procesos que intentan resolver problemas como la gestión de proyectos. Pero tienes razón en mantenerte motivado, ese es un tema bastante subjetivo ... Cambiaré eso.
Michael Klement
1
Yo diría que hay muchos consejos sobre cómo mantener a las personas motivadas. Estás tratando con personas que tuvieron que encontrar trucos para seguir adelante. Algunos de esos trucos funcionan en la mayor parte del tablero (es decir, descomponen una tarea grande en tareas mucho más pequeñas).
David McGraw
3
Los consejos de motivación pueden no ser argumentativos, pero definitivamente son subjetivos. Diferentes personas están motivadas por diferentes cosas.
Cyclops
2
lel 377 votos a favor y cerrado? Supongo que todo pasa SE
Allahjane

Respuestas:

495

Estos consejos se aplican a cualquier proyecto de software de hobby, y no solo a juegos.

  • Establece pequeños hitos. Tener un objetivo como "el sistema de elementos funciona en mi juego de rol" está muy bien, pero eso implica una gran cantidad de funcionalidades poco especificadas que probablemente ni siquiera sabías que necesitabas. ¿Qué pasa con la "configuración del entorno gráfico"? O "Se muestra un sprite en la pantalla".

  • Haz un poco cada día. Las sesiones de maratón son geniales y todo, pero estás tratando de exprimir un compromiso a largo plazo en una vida ya abarrotada. Si hace un poco cada día, está haciendo progresos medibles y estableciendo una estructura dentro de la cual puede alcanzar sus hitos.

  • Escala de nuevo. Cualquiera que sea su gran visión, intente averiguar cuál es la porción más pequeña posible y haga eso. ¿Hacer un juego de rol? Comienza con una misión y sin NPC. ¿Haciendo un juego de plataformas? Comienza con un nivel y sin enemigos.

  • Prototipo temprano. Antes de meter un montón de tus horas de pasatiempo ganadas en un juego, averigua si sería divertido primero. No hay nada tan desalentador como esforzarse en algo durante docenas de horas solo para descubrir que el concepto básico apesta.

  • Desarrolla algo iterable. Mis proyectos de software de hobby favoritos son aquellos en los que el concepto básico permite retoques posteriores. ¿Tu juego es así? ¿Puedes enviar algo y luego volver a visitarlo más tarde y agregar cosas interesantes?

  • No construyas un motor o un marco. No quieres un motor, quieres un juego. No te preocupes por los bits reutilizables de framework y hasta después de que se envíe tu juego. Una vez que comience el segundo juego, puede volver al primero y ver si hay algo que pueda traer. Eso no quiere decir que no deba usar una práctica de desarrollo de software sólida, pero no comience escribiendo una clase de Sprite hasta que sepa lo que necesita que hagan sus sprites; se sorprenderá de lo poco que resultará ser. Comienza con una clase de Héroe, luego una clase de Monstruo, y luego, ¡mira! ¡Hay algunas cosas comunes!

  • El envío es una característica. Nunca terminarás tu juego, solo lo abandonarás. (= ¿Cuál es la cantidad mínima que puedes hacer antes de no sentirte completamente avergonzado de mostrar tu juego a otra persona? Lo más probable es que puedas hacer menos que eso y aún así tener un juego del que estar orgulloso.

drhayes
fuente
32
+1 - Excelente respuesta. Aprendí la mayoría de estos consejos por las malas. :)
Alconja
3
Estas son cosas principalmente obvias que de alguna manera todos (incluido yo) olvidamos. Gracias por recordárselo a todos.
MechP
41
En línea con "El envío es una característica", no se deje atrapar en constantes revisiones-> reimplement-> ciclos repetidos. No va a hacer todo bien la primera vez, la décima vez o nunca. Sin duda, habrá características o mecanismos con los que no esté completamente satisfecho. Evite la tentación de seguir volviendo y cambiar cada pequeña cosa. No quieres terminar como Duke Nukem Forever :).
Mike Strobel
29
+1 para "Haz un poco cada día". Esa es la mejor pista que obtendrás. El impulso se acumula bastante rápido cuando solo haces un poco todos los días. Uno o dos días omitidos lo detendrán.
Andreas
34
Creo que necesito hacer un fondo de pantalla con esta respuesta.
Klaim
138

De hecho, acabo de escribir un blog sobre cómo abordé el diseño y el desarrollo de mi último proyecto de iPhone. Puede encontrar valor al leerlo.

Algunos pensamientos para dejar aquí son

Aplicación de tareas pendientes
Utilizo Things para Mac y ToDoList (gratis) para Windows. Alternativamente, puede saltar a sourceforge.net o codeproject.com para obtener una aplicación de tareas pendientes. Me gusta ToDoList. Tendrá muchos bocetos, ideas, información de diseño que realmente necesita agregarse en un solo lugar. Tener una aplicación como esta con su lista de funciones lo ayudará a mantenerse enfocado.

Tareas pequeñas
"Implementar vista de tabla de clasificación" no es una tarea suficiente. ¿Qué implica eso? Descomponerlo -

  • Crear ilustraciones de fondo para ver la tabla de clasificación
  • Crear métodos de clase que obtengan datos de puntaje
  • Crear métodos de clase que publiquen datos de puntaje
  • Cree un controlador de vista que muestre un botón de retroceso, un botón de recarga y una vista de tabla
  • Implemente la vista de tabla para cargar los datos del modelo.

Ver la imagen con mayor detalle reducirá sus posibilidades de perder un elemento clave de su implementación y le proporcionará motivación a medida que marca cada tarea.

Mantenga el alcance pequeño
No intente construir Starcraft III si es solo usted, desaliñado y purrdoodle. Simplemente no es factible. Baje sus expectativas y encuentre algo que aún le gustaría construir.

Eye-candy
Obtenga algo en la pantalla: puede que se sorprenda de la sacudida de su motivación. Tiendo a concentrarme en conseguir obras de arte temprano. Además, también puedo trabajar con un músico que también comienza a mostrarme cosas relativamente temprano.

Diviértete
Si estás esclavizando tu sistema de guardar estado durante toda esta semana, asegúrate de seguirlo la próxima semana con algo que sea divertido. Uno de mis momentos divertidos fue rediseñar el sistema de animación para mi interfaz de usuario.

Colaborar
Técnicamente no necesita comenzar a agregar personas a su equipo, pero hable con otras personas sobre lo que está haciendo. Vaya a tigsource.com o gamedev.net y comience a establecer contactos.

Prueba de
juego Comienza a recibir comentarios sobre tu juego. Estoy hablando justo después de que termines tu prototipo inicial. Deje que algunos de sus amigos jueguen con lo que tiene, obtenga comentarios, tome notas y revise su plan si es necesario. Asegúrate de probar fuera de tu reino de comodidad y lanza una red que incluya a otros desarrolladores de juegos. A veces, los amigos y seres queridos no son personas críticas.

Inicie un blog
Hablar sobre lo que está haciendo le permite crear una marca para usted. Esto no tiene precio cuando llega el momento de enviar su producto. Solo mira lo que Wolfire está haciendo. Son absolutamente pura victoria en la construcción de una marca para ellos mismos.

Tómese un descanso
Si su mente no está en el proyecto en un momento específico, no intente forzarlo. Levántate y sal a caminar o toma una siesta rápida. Ese es el lujo de ser independiente. Al final, crearás un mejor producto para hacerlo.

David McGraw
fuente
¿Por qué se venden las cosas por £ 45? Se ve muy bien y pulido, pero ¿puede hacer algo que las aplicaciones gratuitas como RTM o Todoist no puedan hacer?
Spidey
Lo mantuvieron extremadamente simple. A algunas personas les gusta simple y pulido, pero es difícil decir que vale £ 45. Si eres un usuario de Windows, realmente me gusta este - bit.ly/9dAelc
David McGraw
Sobre el tema de las listas de tareas pendientes, vale la pena considerar el modo org para emacs.
mowwwalker
111

Mi mayor consejo # 1: ¡ Desconecte su cable de red!

Tengo el ritual de desconectar mi cable de red antes de acostarme. A la mañana siguiente: no estoy en línea, así que no tengo sitios para visitar, ni correos electrónicos para leer, ni personas para chatear, etc. Así que, naturalmente, me pongo directo a trabajar en mi juego.

No me vuelvo a conectar hasta que sea absolutamente necesario. Si necesito algo en línea, lo escribo para buscarlo más tarde o uso el navegador de mi iPhone.

Es útil tener cosas como MSDN descargadas y disponibles sin conexión.

Andrew Russell
fuente
2
Si bien puede ser una buena idea hacer esto (o agregar algunos sitios a su archivo de host para que simplemente no pueda acceder a ellos), no creo que esta sea una respuesta a cómo administrar un proyecto de juego de pasatiempos.
DFectuoso
99
@DFectuoso: Lea la pregunta nuevamente. Encontrarás que mi publicación lo responde directamente. No es una estrategia completa, pero el OP no solicitó una. Lo siento si te he dejado boquiabierto dando consejos fáciles, prácticos y prácticos en lugar de decir algo cálido y confuso como "Haz un poco cada día" o "Enfoque" y dejar que los lectores se confundan sobre cómo hacerlo Haz eso.
Andrew Russell el
55
En todo caso, este es uno de los mejores consejos que hay. Estoy trabajando en un pequeño juego de pasatiempos, y tal vez hago 10 líneas los días que trabajo en él. No es difícil, es solo que me distraigo con Reddit, aquí, Facebook, sitios de blogs y gente de mensajería instantánea.
El pato comunista el
2
¿Soy el único que trabaja MÁS cuando tengo acceso a Internet?
Malabarba
2
@tieTYT Podría valer la pena intentarlo, incluso si solo puede administrar 15 minutos antes de conectarse, significará que comenzó su día con el pie derecho (en lugar de en Facebook;) e incluso podría ser una buena práctica si estás obligado a confiar más en la documentación de la API y el depurador que en Google.
Andrew Russell
42

El mayor problema con los proyectos de pasatiempo es no tener un alcance bien definido. Muchas personas comienzan queriendo hacer el mejor juego con horas de juego y todas las ideas geniales que tienen. En su lugar, debe intentar reducir su idea a algo manejable y luego elaborar un horario razonable. Es cierto que los plazos están en desacuerdo con que el juego sea un proyecto de pasatiempo y no un trabajo a tiempo completo, pero son buenos para mantenerse motivado y dividir las tareas grandes en pequeñas tareas manejables.

También puede mantener un archivo de historial de versiones que se actualiza cada vez que agrega algo al juego. Mejor aún, debe usar el control de versiones y usar el historial de confirmación para eso. Es una buena forma de medir tu progreso y mantenerte motivado más tarde (mirando todas las cosas que ya hiciste).

Firas Assaad
fuente
44
Las notas adhesivas también funcionan. Eso es lo que hago. Cuando pienso en algo que quiero hacer, lo escribo en una nota adhesiva y lo pego en mi conejera. Cosas simples como "obtener una ventana en la pantalla" "Obtener el jugador en la pantalla" "Hacer que el jugador se mueva" "Hacer que el jugador dispare". cuando lo completo, lo saco y lo agrego a la pila completa. Ver los problemas resueltos en forma física adquiere un significado completamente nuevo en comparación con ver un número o una lista en el monitor, creo.
Azaral
1
No puedo estar más de acuerdo con el control de versiones. Sí, es útil, pero el principal beneficio para mí fue que realmente me hizo escribir todas las cosas increíbles que había hecho; lo que realmente me ayuda a mantenerme motivado
Richard Tingle
41

El creador del juego Grauioutous Space Battles, un desarrollador independiente solitario, resumió algunos consejos útiles sobre cómo hacer tu propio juego en una publicación de blog. Algunos de ellos pueden ser motivadores incluso para proyectos de hobby.

Blog de Cliffski: cómo mantenerse motivado mientras se programa un juego

Extracto:

  1. Codifica algo que te guste
  2. Rodéate de inspiración
  3. Mantenga un registro de lo que hizo cada día.
  4. Hacer algo brillante
  5. Duras lecciones en dinero
  6. Esté atento a lo alto que está el listón (conozca a su competencia)
  7. Toma descansos cortos.
Spoike
fuente
Muy buena respuesta, también.
vertical
33

Recientemente me di cuenta de que cada vez que leía la publicación de blog de otro desarrollador independiente sobre sus actualizaciones, inmediatamente abro mi IDE y empiezo a trabajar. Entonces, mi consejo para mantenerte motivado es: lee otros blogs (desarrolladores de juegos) ;)

Aquí hay una lista rápida:

pek
fuente
27

Comience creando un juego que sea estúpidamente simple, y termínelo y publíquelo en línea en algún lugar. Recuerda que incluso algo aparentemente simple como el pong podría resultar bastante complejo si eres un nuevo desarrollador de juegos, y comenzar con un juego simple te mostrará si tienes la paciencia para emprender un proyecto más grande.

Iain
fuente
16

Trabajé en Snapshot (www.retroaffect.com) además de mi trabajo a tiempo completo durante casi 8 meses antes de convertirlo en mi trabajo a tiempo completo. Trabajaría todo el día, luego volvería a casa y trabajaría en Instantánea hasta que me durmiera. A veces era demasiado, pero otras veces (la mayoría de las veces) era increíble.

Definitivamente sugeriría leer sobre esto: http://positech.co.uk/cliffsblog/?p=753

También recuerda que si es algo que solo estás haciendo por diversión, recuerda mantenerlo así ... divertido. Si te quemas, entonces tu proyecto nunca terminará o se mostrará en el producto final.

dcarrigg
fuente
1
Si eres un desarrollador independiente y aún no has leído el blog de Cliff, realmente te lo estás perdiendo. Leer ese blog solo es motivador.
hokiecsgrad
16

Según mi propia experiencia, es más fácil mantenerse motivado si tienes a otros trabajando contigo. Entonces:

  • Consigue algunos otros desarrolladores que puedan compartir tu entusiasmo por el juego. ¡La emoción puede ser contagiosa!
  • Configure una lista de correo (los grupos de Google son fáciles de configurar) y publíquela a menudo para mantener el impulso.
  • Comience por obtener algo simple que funcione. Cuando estaba trabajando en Trosnoth (juego de plataformas de desplazamiento lateral), el punto de partida era solo una figura de palo que se movía de izquierda a derecha y saltaba. A partir de ahí, lentamente agregamos partes y piezas hasta que hizo casi todo.

Ciertamente, mis consejos clave serían compartir su entusiasmo y mantener el proyecto en un estado que funcione .

talljosh
fuente
44
Los rusos dicen "Один в поле не воин" :)
hacia el
14

He estado trabajando en mi proyecto de pasatiempo ahora por alrededor de 2-3 meses. Eso significa una o dos noches de vez en cuando, más ocasionalmente los fines de semana. El proyecto está quizás 2/3 hecho para una primera versión adecuada. Tal vez sea demasiado pronto para llamarlo éxito, pero aquí están las cosas que me han mantenido hasta ahora:

  • Tenía una idea bastante clara de qué se trataría el juego. Bastante simple pero ofrece muchos puntos de extensión para las versiones 2 y 3.
  • He estado blogueando y tuiteando.
  • Elegí un área que me interesa (integración JS + HTML5 Canvas + FB) y es lo suficientemente diferente de mi trabajo diario (CMS, J2EE, GWT / GXT)
  • La tecnología seleccionada permite ajustes fáciles y rápidos, sin compilación, etc.
  • Todo se hace solo porque es divertido. El juego podría funcionar como referencia algún día, pero esa no es la razón para trabajar con él.
  • He sido amable con mis amigos y no he pedido comentarios después de cada cambio.
  • Mi novia me entiende :-)
Petteri Hietavirta
fuente
13

1. Compre un bloc de notas para guardar cada idea que tenga. No tienes que ponerlos en tu juego, pero puedes usarlos para obtener más inspiración.

2. También estoy tratando de mantener todo lo que todavía tengo que hacer en una pizarra de corcho o pizarra para que siempre pueda buscar mis próximos objetivos para terminar.

3. No intente implementar las cosas de la mejor manera en el primer intento. Intenta hacer que las cosas funcionen y hazlas agradables en un paso posterior.

Entonces podría tener diferentes características en diferentes estados de simpatía:

  • Fin del día 1:
    • Feature1: Malo pero funcionando
    • Feature2: Planificado
  • Fin del día 2:
    • Feature1: mejoró la solución
    • Feature2: Malo pero funcionando
  • Fin del día 3:
    • Feature1: estado aceptable de amabilidad
    • Feature2: estado aceptable de amabilidad

Ayuda mucho en la motivación si las cosas funcionan primero antes de considerar hacerlas agradables y suaves. La desventaja de este método es que codificará más código que pondrá en la papelera al final.

4. No implemente demasiadas características paralelas. Intente concentrar en <= 3 características a la vez. Por lo tanto, tiene un lugar al que puede cambiar si se detiene en una característica, pero no en tantas características que le agobia la cantidad de trabajo por hacer.

Aron_dc
fuente
10

La respuesta corta: iterar, iterar, iterar. Comience con poco y ejecute algo antes de intentar implementar todo el sistema. Todavía es importante hacer un diseño y planificación de alto nivel, pero poder ver con qué estás trabajando y probar las partes a medida que avanzas es increíblemente importante para mantenerte motivado; es difícil para mí (y para la mayoría de los programadores que conozco) trabajar día tras día en algo que en realidad no les muestra resultados visibles.

Cuenta
fuente
Consigue algo en esa pantalla. Esa es la mentalidad en la que estoy cada vez que comienzo un juego.
Michael Coleman
Esta mentalidad también me ayuda a simplificar un poco los diseños de mi código. Me obliga a pensar mucho sobre cuáles son exactamente los componentes más básicos y esenciales del sistema, y ​​construir a partir de ellos.
Bill
9

Tengo una buena imaginación, pero malas habilidades de organización. En el lado creativo, me ha resultado útil en mi caso utilizar una herramienta que me ayude a realizar un seguimiento de todo e imponer cierta estructura general. Utilizo Writer's Café, que es lo suficientemente flexible como para adaptarse al diseño del juego. Estoy seguro de que hay otras herramientas disponibles. Lo más importante, creo, es establecer hitos. Eso te mantiene enfocado, te permitirá medir el progreso y te dará una sensación de logro cuando los alcances.

usuario266
fuente
6

Otro pequeño consejo. - Reúna un equipo - Comuníquese con su equipo de forma regular (skype, live, correo electrónico, etc.)

Todos los consejos mencionados por otros son buenos. Si crea un equipo, los miembros del equipo pueden apoyarse mutuamente. Además, al tener reuniones periódicas, lo alienta a trabajar en su proyecto para mostrar el progreso o alcanzar su fecha límite.

Otras personas pueden ser tu mayor recurso.

Así es como ensamblé mi estudio de juegos. Somos tres socios trabajando en el juego durante los últimos dos años como pasatiempo de fin de semana. Estamos viendo la luz al final del túnel ahora.

Diviértete con eso.

Raistx
fuente
5

Utilizo collabtive para mis proyectos, y esto me permite configurar tareas e hitos. Cuando trabajo en un proyecto con varias personas, también me permite chatear con ellos y asignarles tareas específicas. Además del software de gestión de proyectos (que es de código abierto), también uso Subversion para ayudar a que varias personas trabajen en el código al mismo tiempo. Ambos programas se ejecutan en un pequeño servidor Linux, y honestamente, ¡aún no he tenido un problema con esta configuración! :)

usuario22020
fuente
4

Para administrar un proyecto de juego de pasatiempos necesitas algunas cosas: motivación y las herramientas adecuadas.

Mi respuesta se centrará en usar las herramientas adecuadas, ya que si te tomas en serio hacer un juego en tu tiempo libre, con suerte ya tienes la motivación baja. :)

Recomiendo usar alguna forma de control de versiones para tu juego. Sitios como Github o Bitbucket proporcionan alojamiento para git y mercurial (soporte de bitbucket mercurial, no github). Este es su primer paso para organizar su código y sus activos.

Lo siguiente es poder definir bien una acumulación de tareas y características que deben realizarse. El mejor proceso para esto depende de usted, el desarrollador. Algunas opciones incluyen la creación de un Documento de diseño del juego (GDD), un Documento de diseño técnico (TDD) y un Registro de funciones. Puede encontrar una buena muestra de un GDD aquí: http://www.runawaystudios.com/articles/chris_taylor_gdd.aspPara el TDD, ejecútelo de manera similar al GDD, pero céntrelo más en los detalles técnicos de la programación. Entonces, qué lenguaje va a utilizar, marco, motor y otros detalles técnicos. Tanto el GDD como el TDD lo ayudarán a comprender mejor el alcance del proyecto y descubrir cuál es la lista de tareas pendientes. Puede hacer esto en la mitad del proyecto si ya lo ha comenzado, ya que siempre es importante cambiar el alcance y saber cuáles son exactamente sus objetivos y características.

Una vez que hayas hecho eso, deberías estar listo para comenzar a desarrollar. He escrito una publicación de blog sobre cómo usar github para desarrollar un juego de manera efectiva, incluido el uso de sus características wiki, problemas para el seguimiento de errores y simplemente administrar su proyecto. Puedes encontrar eso aquí: Uso de Git y Github para el desarrollo de juegos

La definición de una fecha límite flexible para su proyecto puede o no ayudarlo a mantenerse encaminado. Cada individuo es diferente, y solo usted sabrá cómo motivarse. Pruebe diferentes técnicas y vea lo que funciona para usted. El desarrollo de juegos (y el desarrollo de software) generalmente demoran mucho más de lo que la gente estima inicialmente. Así que no se desanime y quédese con eso.

Si necesita más ejemplos de GDD y TDD, tengo el mío en Google Doc's, ¡y no me importaría compartirlos!

Brett Chalupa
fuente
3

Lo primero en tu mente debe ser que trabajas para ti y para tu propio entretenimiento. No permita que su proyecto sea secuestrado por las expectativas y deseos de otros, particularmente cuando sus intereses cambian con el tiempo.

ddyer
fuente
¿Te das cuenta de que esta pregunta es ..... antigua?
Pip
3
@Pip esto no es un foro, no hay nada de malo en tocar viejas preguntas. De hecho, si responde viejas preguntas con una gran respuesta, hay insignias para ello.
congusbongus
@congusbongus es cierto, pero ya hay respuestas mucho mejores, a saber, las dos primeras.
Pip
1
@pip, ¿te das cuenta de que estás leyendo un viejo Q&A y comentando?
ddyer
@ddyer Ah, sí, pero comentar una nueva respuesta es MUCHO diferente a responder una pregunta anterior.
Pip