Por qué deberías aprender a programar
Créame, lo entiendo. Aprender a codificar es aterrador y difícil.
He estado trabajando con lenguajes de codificación durante más de una década y puedo decir con seguridad que todos se pueden enseñar. fuera y Solo un camino y si eres alguien como yo para quien este camino no funciona, es un viaje difícil. Es por eso que entiendo el atractivo de las soluciones de desarrollo de juegos low-code/no-code (LCNC).
En teoría, podrías saltarte el obstáculo de aprender a programar y comenzar a crear el juego de tus sueños. Desafortunadamente, no creo que este enfoque sea tan útil como parece.
De hecho, lo recomiendo. En contra y creemos que la mejor manera de avanzar es aprender a codificar.
No es porque no seas un desarrollador de juegos, a menos que codifiques según un ideal elitista, o porque crea que aprender a codificar es fácil (todavía tengo problemas con la codificación a pesar de diez años de experiencia).
Esto se debe a que creo que aprender a crear un juego completo con una solución low-code/no-code, por pequeña que sea, significa igual o más trabajo, complejidad y resolución de problemas al final de la experiencia. Al final de la experiencia, usted y su juego serán peores.
La razón por la que las soluciones LCNC en otras partes de la tecnología son tan efectivas es porque aumentan la necesidad de una solución. punto único en el tiempo.
Si necesita un sitio web y no tiene experiencia en desarrollo web, puede pagar algo como Squarespace y ellos se encargan de todo. Estoy seguro de que la mayoría de los clientes de Squarespace solo tienen un sitio web, potencialmente útil para un negocio o evento. Crear un sitio web es un pequeño obstáculo en el gran esquema de las cosas. Estos son algunos escenarios comunes en los que un usuario no tiene tiempo o no es económico aprender a desarrollar un sitio web localmente.
Los marcos de trabajo de código bajo y sin código se basan en lenguajes de codificación reales como PHP, Python y Java. [in which] los usuarios finales no se preocupan por los detalles. En cambio, reciben entornos de desarrollo de software visual donde pueden arrastrar y soltar componentes de software, vincularlos y ver qué sucede.
El desarrollo del juego es diferente. Es un hobby y para algunos es una carrera. La única forma en que una solución LCNC es rentable, incluso remotamente, es si crea un juego completo de complejidad baja a media y nunca lo actualiza.
Si va a hacer varios juegos, juegos de complejidad media a alta o algo que requiera actualización, económicamente es mejor aprender el código.
Complejidad del desarrollo del juego.
El desarrollo del juego es bastante complejo. Podría seguir y seguir sobre por qué, pero no sería una lectura agradable.
Además, no necesito más pruebas que la letanía de juegos sin pulir, con errores y rotos, que se lanzan constantemente. Las personas en la cima de su oficio en la codificación participan en la creación de estos juegos.
Hay un sinfín de documentales, charlas de GDC y entrevistas entre bastidores que simplemente explican Cómo el proceso es complejo, y muchos de los juegos más vendidos y atractivos son en realidad una serie de soluciones y trucos rápidos. Es un verdadero milagro que se lance cualquier juego.
Por lo tanto, el desarrollo de juegos es una disciplina que requiere una flexibilidad extrema, especialmente con sus herramientas. Cada vez que crea una función, probablemente rompe otras dos o tres funciones, y luego tiene que cambiarlas para que todas vuelvan a funcionar. Para repetir este proceso nuevamente cuando haga otra función.
El desarrollo del juego es iterativo. No importa si construyes un juego con sistemas que funcionan perfectamente si a nadie le gusta. Así que tienes que seguir empujando los sistemas hasta que funcione, y también sea bueno para los demás.
Eche un vistazo más de cerca a las soluciones LCNC
Una solución LCNC se encuentra en la parte superior de su motor de juego y, por su propia naturaleza de tratar de simplificar algo complejo, toma toda esa flexibilidad y la tira por la ventana. Debe definir formas de hacer las cosas para que sea fácil para el usuario final.
Póngase en el lugar de alguien que está desarrollando una solución LCNC. Juntos, puedo pensar en al menos cuatro formas diferentes en las que podría mover el objeto. ¿Un desarrollador que crea una solución LCNC para Unity crea su producto de estas cuatro maneras diferentes cuando tiene miles de funciones de Unity (con muchas variantes) en su lista de elementos para crear?
Difícil, ¿no? Al menos inicialmente, crearán el método más común de transferencia de objetos y luego dejarán atrás los otros tres para “futuros lanzamientos”.
Esto sucederá en todos los ámbitos y, en última instancia, es una solución LCNC con una forma de trabajo ‘mediana’. todo. La funcionalidad promedio de cada función no garantiza que cada función funcione con las demás.
Puedes mejorar fácilmente tu juego y ver si las cosas no van bien. O no funcionan en absoluto, o lo hacen, pero lo hacen, a pesar de que la documentación del motor dice que funcionará. terrible. Aquí tienes que resolver problemas y entender – a nivel técnico – lo que debería funcionar para resolver el problema.
La solución de problemas no se trata solo de leer los mensajes de error y buscarlos. Una buena parte de esto es rastrear sus sistemas a través de sus pasos usando mensajes, diferentes valores y objetos. Todo esto se hace con código.
Sin mencionar que los códigos de falla del motor son altamente técnicos como la “excepción de referencia nula” y, a veces, pueden ser un subproducto de otra cosa (que no causa el código de falla) que hace que el código de falla sea una pista falsa.

Puedes pasar horas resolviendo problemas. Debido a que esto requiere comprender el código y cómo el motor interactúa con el código, intentará resolver un rompecabezas al que le faltan la mitad de las piezas.
La única forma de solucionar este problema es solucionarlo, modificar el juego para que funcione sin él o ir bajo el capó y refactorizar el código que genera la solución LCNC… nunca aprendiste a codificar.
Es estadísticamente imposible hacer un buen juego sin código. No es imposible, y hay juegos relativamente exitosos que pretenden hacer juegos completos sin código. Sin embargo, una parte de mí se pregunta si tuvieron suerte y crearon un tipo de juego que fuera perfecto para el desarrollo de soluciones LCNC, o si se atascó en el camino y tuvo que esconderse (¿invitaron a un amigo?).
Aprende a aceptar el problema.
Muy pocos desarrolladores de juegos, especialmente aficionados, para terminar y enviar el juego. Me entristece saber que las personas están trayendo sus increíbles ideas a la mesa y potencialmente se les impide realizarlas porque tomaron el camino equivocado.
Al final del día, el desarrollo de juegos es difícil y todo el mundo lo sabe. Es por eso que hay tantos videos y artículos rápidos en YouTube con títulos como “Haz un juego incluso si odias programar”. Estos videos están dirigidos a aquellos que no confían en sus habilidades de codificación o son tímidos para codificar. Pero el desarrollo de juegos no se trata de rehuir las cosas que te hacen sentir inseguro, se trata de aprender constantemente conceptos que dan miedo y provocan ansiedad a primera vista.
La emisión de rayos, los cuaterniones y la cinemática dan miedo, pero los aprenderá junto con cientos de otros términos y conceptos aterradores en el camino.
Cada vez que me siento y trabajo en el desarrollo de juegos, aprendo algo nuevo en esa sesión. Como alguien que ha estado programando durante años en muchos idiomas y disciplinas, incluso si eres bueno programando algo, todavía hay nuevas técnicas para aprender.
La parte difícil del desarrollo del juego, la parte difícil, no se puede pasar por alto. lo hace desarrollo de juegos
Pasar por la parte de codificación del desarrollo del juego usando otra herramienta es solo una pérdida de tiempo. Simplemente modifica el aprendizaje del código para aprender la herramienta LCNC y aprender cómo funciona y no funciona. Esto puede prepararte a ti y a tu juego para escenarios en los que tendrás que comprometerte, lo cual no es algo que quieras hacer cuando comiences tu viaje.
No es que no crea en las soluciones LCNC, solo creo que tienen su momento y lugar, y ese momento y lugar no son para aficionados o desarrolladores de juegos profesionales.
Realmente me temo que las personas que se acercan al desarrollo de juegos, y con razón le temen a la codificación, que comienzan por la ruta LCNC fracasarán rápidamente (sin aprender nada porque el aprendizaje real está oculto bajo el capó) o duplicarán la inversión para triplicar la horas por juego. una cuarta parte de los ingresos. Esto puede llevar a la confusión con una solución llena de compromisos o rechazo.
Incluso si enviaran un juego, se habrían perdido mucho aprendizaje que podría haber hecho que el siguiente juego fuera más difícil y más largo de desarrollar. A mis ojos potencialmente sobreprivilegiados, morder la bala y entender la codificación es menos trabajo y más complicado.
Es comprensible evitar la codificación porque da miedo, pero tener éxito en el desarrollo de juegos como pasatiempo o carrera requiere que te sientas cómodo con esta cosa aterradora. El ciclo central del diseño del juego es: “Oh, quiero esta mecánica de juego”, “Quiero que se vea así” o “Quiero que haga esto”, y luego seguir adelante y descubrir cómo hacerlo. trabajar. Eso es el 99% del tiempo que aprendo algo nuevo cuando lo necesito.
Pensamientos finales y recomendaciones
Ahora, no quiero que este artículo tan cursi lo deje en la estacada, así que tengo algunos consejos sobre cómo aprender a codificar de alguien que ha estado luchando durante diez años.
Primero, comprenda que cuando decimos “aprender a codificar”, hay dos partes diferentes. El primero es comprender qué es la codificación, desprovisto del contexto del desarrollo de juegos. Aunque existen miles de lenguajes de codificación diferentes, todos comparten conceptos básicos similares. Entonces, el primer objetivo es familiarizarse con el funcionamiento de la codificación, independientemente del desarrollo del juego.
Así que aquí está mi recomendación. Pitón. Aprenda Python y cree algunos scripts no relacionados con juegos. Es uno de los lenguajes más populares y versátiles del mundo, y se considera “fácil” en comparación con otros, principalmente por su flexibilidad casi infinita (que a veces puede ser una bendición o una maldición).
Úselo para automatizar tareas en su computadora, como cambiar el nombre de miles de archivos o informar el clima. después puede seguir adelante y crear un juego de aventuras de texto completo en Python con nada más que Python, la línea de comandos y el bloc de notas, sin necesidad de un motor.
Lo lleva a través de variables, tipos de datos, métodos, clases, herencia y más. debe introducir conceptos básicos como
Ahora es el momento de aprender qué significa la codificación en el contexto de un motor de juego.
te recomiendo que lo descargues Godot, un popular motor de juegos de código abierto. Aunque no es tan popular como Unity, utiliza un lenguaje de codificación similar a Python llamado GDScript, por lo que es un gran avance. Desde aquí, sigue los propios tutoriales de Godot sobre cómo crear juegos básicos, que deberían enseñar conceptos básicos de codificación en el desarrollo de juegos, como objetos, espacio mundial, escenas, tiempo y rutinas.
¡Desde aquí la elección es tuya! Puedes seguir usando GDScript y Godot, pero si quieres esforzarte, debes saber que Unity usa C#, que también usa Godot. Puedes usar Godot como campo de entrenamiento para familiarizarte con C#.
Y como mencioné en mi artículo anterior, Game Jams es la forma más rápida de aprender a desarrollar juegos. Así que salta Picazón.io ¡e inscríbete en algunos Game Jams para continuar tu viaje de desarrollo!
Cómo Game Jams mejora el desarrollo de tu juego rápidamente
Tres semanas de juegos me enseñaron más sobre el desarrollo de juegos que un año de clases.

Comentarios
Inicia sesión o hazte miembro de SUPERJUMP unirse a la conversación.