2018-01-05 11:03:37 +0000 2018-01-05 11:03:37 +0000
35
35

¿Cómo puedo convencer a mi hermano de que se dedique a la programación?

Sé que esta sección de StackExchange no está relacionada con la programación, pero es la parte más cercana de SE en la que se me ocurrió publicar esto.

En fin, pasando al tema..

Tengo un hermano pequeño (19 años, yo tengo 23.). A los dos nos interesa la tecnología (más a mí que a mi hermano, pero el tema sigue en pie).

Soy programador (mi hermano no lo es). La mayoría de las veces, estoy trabajando en un proyecto mío o aprendiendo un nuevo lenguaje.

En el transcurso de los últimos 7-8 meses, mi hermano me ha venido varias veces con una idea sobre un juego (con aspectos que tendría un título de videojuego AA o AAA) y me propone que intentemos hacer el juego.

Aquí es donde me encuentro con un problema cada vez.

Intento explicarle que tenemos que sentarnos y dejar que le enseñe al menos lo básico del lenguaje.

No tengo ningún problema en sacar tiempo de mi trabajo para enseñarle, pero cada vez que intento enseñarle un par de cosas dice que no quiere hacerlo más y se baja del ordenador.

Anoche vino y me dijo que quería empezar a aprender a programar, así que me senté con él y empecé a enseñarle un par de cosas. No pasaron ni 10 minutos y me dijo que había terminado y se bajó como siempre.

No creo que si nos metiéramos directamente en uno de esos juegos complejos para los que se le ocurre una idea pueda seguir el ritmo de crecimiento del proyecto tan rápidamente ya que es un principiante.

¿Cómo puedo explicarle a mi hermano que si vamos a hacer estos juegos para los que tiene ideas, necesito que al menos aprenda el lenguaje lo suficiente como para entender lo que está pasando?

Respuestas (12)

54
54
54
2018-01-05 11:56:09 +0000

Mi corazonada es que tu hermano podría no llegar a interesarse por la programación. Puede parecer que está interesado, pero creo que para él sigue siendo un medio para llegar a un fin (quiero hacer un juego, y la programación me llevará a él).

Preséntale otros ámbitos del diseño de juegos, como los gráficos o el diseño de sonido, y comprueba si esos aspectos despiertan su interés.

Una vez que hayas hecho la introducción a los marcos de diseño de juegos como Unity, pronto se dará cuenta de que un poco de conocimiento de programación llegará muy lejos en un equipo indie como el tuyo.

Si entonces se interesa por la programación desde el punto de vista de un creador (el viaje, no el destino), remítelo a los recursos en línea como YouTube, etc., y ofrécete a ser el mentor que este joven viajero se merece.

43
43
43
2018-01-05 17:43:11 +0000

Hay algunos puntos que vale la pena discutir. Hablaré de mi propia experiencia, tal vez puedas mostrarle esto y le sirva de ayuda para saber cómo es realmente ser un dev indie.

Hice mi licenciatura en Diseño de Juegos. Mala decisión. Se tocó lo básico, pero al final seguí sin poder hacer un juego. Unos años más tarde decidí aprender a usar Game Maker Studio. No sabía nada de programación. Al final del proyecto ya sabía algo, y había llevado un juego desde el concepto hasta su finalización. Estaba satisfecho. No se vendió casi nada. Estaba triste.

Más tarde recuperé algo de confianza, y decidí hacer un curso de conversión de postgrado para gente que quería aprender a programar. Había hecho un juego, ¿qué tan difícil podía ser? Resulta que… bastante difícil. Cosas como el multithreading, sin embargo, es algo que afortunadamente nunca he tenido que usar fuera de un aula.

Así que me gradué, conseguí un trabajo de programación en una empresa de TI, y he estado en ese trabajo durante dos años. En ese tiempo también he pasado la mayor parte de mi tiempo libre después del trabajo y los fines de semana desarrollando juegos. El progreso es lento.

Para alguien que quiera hacer su propio juego, solo o en un equipo pequeño, tiene que ser la persona que pueda implementar sus propias ideas. Los equipos pequeños no pueden permitirse un diseñador de juegos dedicado a escribir documentos de diseño todo el día. Como la mayoría de la gente no puede permitirse contratar a un equipo de programadores, tienen que ser programadores para poder ser diseñadores. Me atrevería a decir que es preferible que sepas programar a pesar de todo. El quid de la cuestión es que si quieres hacer tu juego, y no el de otro, tienes que ser capaz de hacerlo tú mismo.

Hacer un juego es difícil. Muy difícil. Si quieres hacer juegos, tienes que estar dispuesto a llegar a casa cansado de un trabajo de 9 a 5 y obligarte a escribir un código para un problema espantoso en el que nadie te puede ayudar. Llevas semanas luchando y tienes ganas de llorar, porque ¿cómo se va a arreglar esto? Sentir a veces que no sabes si esto terminará alguna vez, y preguntarte si estás desperdiciando tu vida. Tener auténticas dudas sobre ti mismo, y sin embargo concluir: No. Esta es la decisión correcta. Tener esa maldita determinación.

Alerta de spoiler: lo he arreglado. Así que tu hermano tiene que conseguir eso. ¿Tal vez pueda ser tu departamento de arte en su lugar? No hay nada malo en ello, pero no será menos trabajo para aprender y hacer lo que necesitas. Haga lo que haga, necesita estar tan ocupado como tú. ¿Eres un tipo de ideas? Sí, ponte detrás del tipo de las ideas que puede hacer arte, o del tipo de las ideas que puede codificar.

Con esa charla de ánimo concluida, dale algo como Unity o Game Maker. Dile que piense en hacer un juego muy sencillo. Un paso a la vez. Hay mucho material de aprendizaje en línea para esos dos motores (y otros), y algo como TutorialsPoint le ayudará a introducirse en los fundamentos de la programación.

En mi caso, después de luchar con GML y Game Maker Studio, leí las primeras cien páginas de Programming: Principles and Practice Using C++ de Bjarne Stroustrup, que fue suficiente para empezar con Unity y C#. Enseñarle a trabajar por su cuenta y a resolver problemas por su cuenta con la ayuda de Google y StackOverflow es la mitad de la batalla.

Enséñale a usar un IDE como VisualStudio, y el depurador, y llévale de la mano a través de tutoriales básicos de C# (por ejemplo). Sé paciente. Variables, funciones, arrays, clases, etc. Los programadores nos olvidamos de lo aterrador que es empezar. No puedo exagerar lo importante que es que le ayudes a dar esos primeros pasos. Sé paciente. No todo el mundo está tan loco como yo para ir solo. Pero si le apoyas en los aspectos básicos, y consigues que sea capaz de hacer una depuración sencilla y crear clases simples, empezará a pensar en la creación de juegos en términos de programación. Entonces lo conseguirá.

No puedes convencerle de que se dedique a la programación. Sólo tiene que decidir si realmente quiere hacer juegos. Entonces se dará cuenta de que tiene que convertirse en programador.

28
28
28
2018-01-05 13:14:00 +0000

TL;DR

No puedes convencer a tu hermano de que se dedique a la programación. La programación es difícil, tediosa y requiere un cierto tipo de cerebro para encontrar algún tipo de satisfacción en la programación.

  • *

Creo que estás malinterpretando la dinámica de la relación propuesta de la situación.

Tu hermano no está diciendo “Oye, yo personalmente quiero construir un juego desde cero”. Está diciendo “Oye, creo que podemos hacer algo de dinero si programas mis ideas”. Es una propuesta de negocio.

Juega con total desconocimiento del aspecto de la programación, por lo que esencialmente sabe lo que quiere el usuario medio. Su visión puede estar nublada porque está técnicamente en las “trincheras” del desarrollo de juegos.

Sé que esto suena como si estuviera siendo egoísta y grosero pero no lo es; así es exactamente como funciona una empresa. Cuando el propietario de una empresa quiere un sitio web, es muy probable que otro lo construya para él.

Estoy bastante seguro de que vosotros no estáis en posición de crear una empresa que pueda producir títulos AAA, pero si estáis dispuestos a combinar vuestras habilidades con sus ideas, entonces podría ocurrir algo grande.

12
12
12
2018-01-05 23:34:02 +0000

Soy un programador que trabaja en la industria de los juegos, así que tengo mucha experiencia con gente que intenta que haga sus ideas de juego. En una industria en la que casi todo el mundo tiene más ideas de las que puede hacer realidad, las ideas no valen absolutamente nada a menos que se tengan las habilidades para ayudar a hacerlas realidad.

Sin embargo, la habilidad que aporta no tiene por qué ser la programación. Si tu hermano tiene o está dispuesto a desarrollar habilidades artísticas, podría aportar los recursos artísticos para el juego. A menudo me encuentro con que me veo atascado tratando de producir un arte remotamente pasable para mis proyectos secundarios caseros. Así que tener un compañero artista puede ser muy útil.

Básicamente, si alguien no se preocupa lo suficiente por su idea como para aprender una habilidad que le ayude a hacerla realidad, entonces tú tampoco deberías preocuparte por su idea.

9
9
9
2018-01-05 13:40:15 +0000

Me pasa exactamente lo mismo con mi compañero de piso. Yo soy programador y él no. Nunca quiere aprender nada sobre el desarrollo de juegos, pero siempre quiere crear un juego:

A tu hermano no le interesa aprender sobre el desarrollo de juegos, sino que sólo le fascina el concepto de crear un nuevo juego.

Ofrécele algunos vídeos de Youtube que pueda seguir y ponte a su disposición si tiene alguna duda. Tu mejor oportunidad para que se interese sería encontrar un vídeo en el que se desarrolle un juego básico mientras él lo ve, en su idioma preferido. Yo también prepararía el entorno en su ordenador para que pueda seguirlo.

Si está realmente interesado en el desarrollo de juegos, la cosa despegará a partir de ahí. Sin embargo, lo más probable es que simplemente quiera “saltarse las partes aburridas” y tener ya el producto final. No hay forma de convencerle de ello.

3
3
3
2018-01-08 12:58:50 +0000

¿Cómo puedo convencer a mi hermano para que se dedique a la programación?

No es así.

Tal y como yo lo veo, aquí hay conceptos erróneos por ambas partes.

Los problemas contigo:

Parece que has caído en la idea errónea de que jugar o tener ideas para juegos te hace de alguna manera propenso a ser programador o a trabajar con tecnología en general. Sin embargo, esto no es así en absoluto.

Conectar el HDMI al monitor y al PC para tu madre no significa que ahora seas un técnico. Del mismo modo, describir un programa que quieres no te convierte en programador ni en diseñador, hay mucho más de lo que un profano consideraría - como programador tú mismo sabes que esto es cierto.

Por eso deberías dejar de tener esas expectativas sobre tu hermano.

Los problemas con tu hermano:

Aviso: Lo que voy a decir puede parecerte mezquino u ofensivo, pero esto es lo que he sacado de tu descripción de él.

Tu hermano es una sanguijuela. Tiene altas expectativas del producto y espera mucho de ti mientras que al mismo tiempo reclama mucho para sí mismo pero no aporta mucho. Todo el mundo puede lanzar ideas sobre lo que le gusta en un juego sin ningún contexto. Pero, ¿ha hecho algo para demostrar que esto es realmente factible o incluso divertido? ¿Algún buen concepto, prueba, comparación, …?

No lo hagas.

No sabe lo que quiere. Empezaste varias veces a introducirle en la programación pero abortó después de un tiempo increíblemente corto. ¿Y ahora quiere que creas que tendrá la paciencia y la resistencia para sentarse y aprender de un pedazo de código más grande que has escrito? Qué chiste.

No lo hagas.

Está demasiado confiado. Esto también parece aplicarse a ti. No tiene ni idea de la cantidad de trabajo que va a suponer este proyecto y o bien sobrestima sus capacidades o bien subestima el trabajo, o ambas cosas. Ustedes parecen no tener ni idea de la cantidad y el tipo de trabajo que hay que hacer.

No lo hagas.

Es un aspirante a desarrollador de juegos. Esto no es raro en Internet y no es realmente una sorpresa si se tiene en cuenta la combinación de niños/adolescentes sin experiencia con un complejo de superioridad y el anonimato. Todo el mundo piensa que sabe lo que le falta al juego y cómo podría ser mejor. Pero, ¿cuántas personas tienen realmente experiencia en eso? ¿Cuántas de estas personas pueden hacer o tienen experiencia en hacer ilustraciones, animación, matemáticas, gráficos, programación, voz, música, narración, escritura de personajes, diseño de niveles, diseño de jugabilidad, …? ¿En cuál de estos puntos puede tu hermano ayudarte con una valiosa contribución? Por lo que nos has contado parece que en ninguno.

No lo hagas.

  • *

En conclusión

No es alguien con quien quieras empezar un proyecto. Si empiezas con las condiciones tal y como están ahora mismo lo harás todo, con poca o ninguna contribución por su parte. Lo notarás al cabo de un par de semanas (incluso días o con él en minutos) y el proyecto se detendrá.

Lo que puedes hacer

En realidad, pon por escrito un concepto de lo que esperas del juego y lo que crees que hay que hacer para conseguirlo. Hay muchas cosas que debes tener en cuenta aquí, pero como esto es InterpersonalSE no voy a entrar en ello. Sin embargo, el trabajo en equipo es ciertamente interpersonal, así que te recomiendo que escribas quién puede/podría/debería hacer qué.

La programación no es algo que vaya a convencer a alguien para que la aprenda. Puedes aprender lo básico rápidamente, pero si quieres ser bueno necesitas dedicar mucho tiempo para reunir experiencia.

Tiene que querer el producto lo suficiente como para ponerse a trabajar por sí mismo y así aprender a programar.

1
1
1
2018-01-05 14:17:55 +0000

¿Qué le interesa a tu hermano (aparte de los videojuegos)? Quizá pueda encontrar un gancho diferente. Processing (un lenguaje popular entre los artistas visuales con conocimientos técnicos) y el más amplio make movement del que forma parte podrían despertar su interés. Hablando de chispas, The SparkFun Guide to Processing es un buen lugar para empezar. Quizá la A de STEAM sea el ingrediente que falta.

Pero – quizás no. En última instancia, no puedes obligar a tu hermano a interesarse por nada. Expóngalo a un par de posibilidades. Si una de ellas despierta un interés genuino… genial. Si no es así, en algún momento deberás renunciar a la idea.

1
1
1
2018-01-05 20:38:09 +0000

Mi experiencia es similar a la de muchos de los otros carteles hasta cierto punto, pero creo que es importante destacar lo difícil que puede ser para nosotros, como programadores, ver lo confuso que es el lenguaje para otra persona que puede ser nueva en él.

Una cosa que me llamó la atención de tu ejemplo en particular fue el movimiento de los P en la pantalla. Mientras que para nosotros parece un ejemplo trivial, una persona que no sea programadora no tendrá ninguna base de comprensión ni siquiera para los elementos más simples de ese ejercicio, y tu hermano puede sentirse frustrado en el proceso de tratar de entender cómo se relacionan las coordenadas con la imagen en la pantalla.

En mi propia experiencia, la primera vez que “aprendí” a programar fue en el instituto, y lo hice bien, hasta que me dieron una tarea imposible (me dieron el trabajo sin los archivos literales para seguir las instrucciones). Sentí que había fracasado, me rendí y seguí la carrera de inglés.

Años más tarde utilicé VBA para automatizar una tarea aburrida del trabajo en Excel, luego la siguiente tarea, y la siguiente, y así sucesivamente. Aquí es donde me relaciono con tu hermano: si alguien me dijera ‘Aprende a programar para automatizar el análisis de datos’. Me habría aburrido en los primeros diez minutos, y probablemente seguiría sin programar. En cambio, encontré mi propio valor en la tarea, liberándome de un trabajo aburrido, y fui ampliando mis habilidades porque la recompensa de hacerlo era el refuerzo.

En cierto modo, puedes darle a tu hermano un archivo sencillo y dejar que lo manipule y juegue con él. Puede que decida que la “P” en movimiento es demasiado aburrida para manipularla, o puede que en su lugar se pregunte cómo cambiar la “P” por la “O”, la “O” por el “MOVIMIENTO”, puede que descubra cómo hacer que rebote en las paredes, o que cambie de forma. En última instancia, tiene que estar interesado en probar el código, y descubrir cómo funciona el proceso, de lo contrario no absorberá nada.

He tenido la suerte de contar con algunos grandes programadores que me han enseñado lo que saben para ayudarme a alcanzar mayores cotas, pero en todos los casos he tenido que ver primero el valor del código antes de utilizarlo. Es fácil saber que la abstracción es buena, o que las interfaces son útiles, pero otra cosa es tener que enfrentarse a ese problema que no se puede resolver fácilmente sin una interfaz, o luchar con una maraña de código que se rompe si i cambia a i + 1 y cambiar ese código a j lo arregla, pero te olvidaste de arreglarlo por aquí también, y bueno ahora estamos en k porque no puedes recordar si i estaba bien, o si era realmente j.

Al final, tiene que apasionarle el trabajo, antes de que se convierta en un hobby, de lo contrario es un trabajo más.

1
1
1
2018-01-07 20:31:59 +0000

Esta respuesta es desde un punto de vista estrictamente “Interpersonal”..

Tuve una situación muy similar con mi hermano alrededor de esa edad y al menos para nosotros el problema resultó no tener nada que ver con la programación y todo que ver con las relaciones interpersonales.

Los hermanos tienen esa tendencia a querer diferenciarse unos de otros. Al menos en nuestro caso, mi hermano se resistía a programar porque era lo que yo hacía. Nunca podría haberle enseñado o convencido (lo intenté) porque venía de mí: yo era el experto, aunque podía ver absolutamente que él tenía el potencial para ser al menos tan bueno.

Después de mudarse de casa pasó por algunos trabajos no técnicos antes de derivar hacia la programación por su cuenta desde una dirección completamente diferente.

Se convirtió en un fantástico programador/gerente/líder/arquitecto para una empresa de tamaño medio y lo ha sido durante un par de décadas. Sin embargo, no creo que yo hubiera podido guiarle o empujarle a ello… lo intenté. No se habría dejado enseñar por mí, se habría resistido (inconscientemente).

Entonces, si lo veo desde ese punto de vista, ¿qué haría en su caso?

Dada tu descripción, probablemente haría que se descargara el framework de Unity (Como sugiere la respuesta aceptada). Últimamente lo he intentado porque un ENORME porcentaje de juegos están empezando a salir con Unity. La cosa es que, una vez que lo descargué, empezaron a molestarme con correos electrónicos tratando de atraerme a través de sus tutoriales (y tienen un MONTÓN de tutoriales/ayuda para principiantes). Son muy buenos en la mano y es bastante fácil sacar un juego que parece bastante no trivial.

Además… no lo descargue/aprenda/use usted mismo. Deja que se convierta en el experto en algo. Incluso si no puede responder a una pregunta, ¡es genial! Deja que lo resuelva por sí mismo; siempre puedes sentarte con él y buscar juntos la respuesta en el SO.

No estoy seguro de que esto funcione, pero creo que a mi hermano y a mí nos habría funcionado.

1
1
1
2018-01-06 00:44:42 +0000

En este momento, tu hermano no parece capaz de concentrarse en el trabajo durante sólo diez minutos. Si no puede hacerlo, el desarrollo de software no es para él. Así que no intentes convencerle de que se dedique a esta profesión, no va a ayudar a nadie.

Tu hermano pequeño tiene ideas. Ya se ha dicho en otra parte, las ideas valen diez céntimos. Así que para crear algo de valor, debe tener algo más que una idea. Pídele que empiece realmente el diseño de un juego. No sólo una idea. Que escriba cómo empieza el juego. Qué cosas puede hacer el usuario, qué efectos tienen las acciones del usuario, qué acciones produce el juego. Todo debe diseñarse con detalle. Lo que hace que el juego sea genial debe estar en su diseño, no puede confiar en el programador o programadores para que el juego sea atractivo. El diseñador del juego tiene que hacerlo.

O pedirle que averigüe qué se necesita para vender un juego. Desde fundar una empresa, hasta declarar los impuestos, pagar a los desarrolladores para que creen el juego, encontrar editores, etc.

1
1
1
2018-01-05 23:04:37 +0000

Cada uno tiene diferentes formas de aprender algo, dependiendo de sí mismo de lo que haya que aprender. Yo no aprendería nada de programación viendo vídeos; en cambio, lo aprendo haciéndolo. Otra persona podría aprender con vídeos o libros.

Aun así, la programación no es algo que se pueda enseñar. Requiere una experiencia que sólo se consigue haciéndola. Puedes, hasta cierto punto, ayudar a alguien a saber de qué se trata, y desde el principio, ese alguien necesita hacer la comprensión por sí mismo, como aprender a leer. A partir de ahí, el alumno tiene que explorar por sí mismo.

No se puede enseñar a alguien a montar en bicicleta. Aunque le enseñes toda la física implicada, el alumno no será capaz de montarla porque requiere experiencia, que sólo puede obtener haciéndolo. Así es como no se puede enseñar a programar.

La programación es una habilidad, como leer o montar en bicicleta. Hay cosas que hay que saber para hacerlo, y sólo esas son las que se pueden enseñar. La habilidad en sí misma no puede ser enseñada, sólo puede ser desarrollada por el aprendiz — y el aprendiz sólo lo hará si quiere.

Es posible que puedas contarle a tu hermano todo lo que implica hacer un juego, y tal vez encuentre algo entre eso que quiera aprender. Si no, no será capaz de hacer un juego y ha decidido quedar desamparado.

Programar no es difícil ni frustrante en absoluto, especialmente hoy en día con todas las grandes herramientas disponibles y la máquina no se congela cuando el programa no funciona, como solían hacerlo, y es divertido.

Quizás todo el mundo que lo aprenda haría bien en utilizar un ordenador de 35 años y algunos libros de programación adecuados, y no más. Eso lo mantiene concentrado, y no puede jugar antes de entrar él mismo en el programa, lo que da algún incentivo. El aprendizaje viene entonces por sí solo, simplemente por entrar en él porque puede ver cómo se hace e inevitablemente empieza a pensar en cambiarlo, y luego a hacerlo.

Dale a alguien algún tipo de software de desarrollo de juegos, o un compilador de C/C++ en toda regla y murmura algo sobre clases y métodos, y tu alumno estará totalmente abrumado. Dale algo simple y sencillo escrito en una variante simple de BASIC — si todavía puedes encontrar una — o, alternativamente, en perl, imprímelo y haz que lo introduzca él mismo, y puede que aprenda.

Supongo que un alumno necesita una oportunidad para entender el problema que se va a resolver programando antes de empezar a programar. El siguiente paso podría ser mostrarles cómo dividir el problema de manera que un ordenador pueda resolverlo; luego mostrar y explicar la implementación real. Hay que empezar con el problema más sencillo que se te ocurra, no con uno de los más difíciles como hacer un juego.

-2
-2
-2
2018-01-05 17:28:35 +0000

Muéstrale cuánto dinero puede ganar. https://www.upwork.com/o/profiles/browse/c/web-mobile-software-dev/nss/90/hrs/1000/?rate=60&user_pref=1

Y

Sin embargo, programar es duro y no todo el mundo puede hacerlo. Por eso los programadores ganan tanto. Mi madre se compró un Commodore-64 para aprender mecanografía y se compró un libro de BASIC, y fui yo quien terminó el libro. Si estuviera destinado a ser programador, ya lo habría hecho. En este gráfico se puede ver que la edad media con la que empezaron los programadores fue de 13,5 años. Muy pocos tienen más de 20 años.

0x4 Fuente

Tengo un hermano jugador que es igual - sin motivación, sin ambición, sin perseverancia. Tal vez deba encontrar otra habilidad relacionada que le interese. Si insiste en seguir intentándolo, tal vez pueda empezar con Scratch, que fue desarrollado para ayudar a los niños a aprender a programar con una interfaz de arrastrar y soltar. https://scratch.mit.edu/