Como no sé cuáles son sus habilidades básicas de computación, asumiré que nunca ha codificado.
Si está listo y confiado para codificar, ¡salud! Has superado la parte más difícil para una persona que solo tiene conocimientos básicos de computadoras.
Para avanzar y crear juegos hay 4 (o en realidad 2) áreas donde puedes comenzar
1a> Juegos puramente basados en navegador: juegos que simplemente puedes cargar y jugar en un navegador
1b> Juegos puramente basados en navegador + servidor web: juegos que juegas en el navegador pero que se sincronizan con frecuencia con el estado del juego en tu servidor web (es decir, el juego se juega en el servidor web pero el usuario lo muestra e interactúa en sus navegadores)
2a> Juegos basados en dispositivos móviles: juegos que instalas en un Android o Iphone (no tiene sentido buscar otros tipos de teléfonos, ya que son casi inexistentes). Puede arrojar teléfonos con Windows en algún lugar.
2b> Juegos basados en escritorio: juegos que puedes instalar y jugar en una computadora portátil / computadora de escritorio
Independientemente del tipo que quieras hacer, los juegos requieren 3 componentes importantes
1> Gráficos y visuales (y audios si desea hacerlo más emocionante)
2> controles de entrada y salida (para tomar la entrada del usuario y renderizar una salida visual)
3> Lógica del juego: que hace todo el trabajo de validar la entrada del usuario, mantener el estado y moverlo al siguiente estado, asegura que el juego termine cuando se supone que debe hacerlo e instruye a la lógica de representación del juego para que rinda el siguiente estado.
Como dijo Andy Gryc, zambullirse completamente en 3D o en juegos complicados puede ser abrumador y desmotivarte. La mejor estrategia es comenzar de manera simple y pequeña, lo que será divertido para usted y puede ser su familia / amigos. No pienses en ganancias o ventas aquí.
Para empezar, piense en algunas buenas ideas de juego: gráficos menos intensivos, menos partes móviles, menos reglas y menos estados.
Algunos ejemplos son
# Juegos de mesa clásicos: como TicTacToe, Snake and Ladders, Monopoly, etc.
# Juegos de arcade para un jugador: como juegos de disparos, rompecabezas
Estos juegos son relativamente simples de entender e implementar y le brindarán una muy buena base sobre cómo programar un juego. No te preocupes si te equivocas varias veces. Reitera y trabaja de nuevo, ¡lo harás bien!
El siguiente paso es elegir una tecnología (de las áreas 1a, 1b, 2a, 2b que escribí anteriormente) para implementar el juego. En mi experiencia, comenzar con un simple juego de navegador es más fácil y ayuda a crear rápidamente prototipos del juego.
1a: Comience aprendiendo HTML, CSS y JavaScript. Te enfocas en una página web simple que carga las imágenes de tus juegos, css, html y los archivos javascript y se ejecuta en el navegador localmente (no es necesario contactar al servidor en varios eventos del juego). Este tipo de juego suele ser adecuado para jugadores individuales.
Algunos tutoriales sobre cómo hacer un juego usando JavaScript y HTML:
Un tutorial de Javascript / HTML5 – Parte 1 construyendo una aventura de texto básica
Página en gamequeryjs.com
1b: en este caso, también intentas implementar la lógica y el control del juego en tu servidor web. Hay HTML, CSS y JavaScript en el navegador del usuario donde ven y alimentan la entrada, y estos se sincronizan en el servidor web y se comunican a los jugadores. Este tipo de juegos permite jugar en línea entre múltiples usuarios, así como almacenar el historial de usuarios y proporcionar clasificaciones. Desde la perspectiva de programar el servidor web, JavaScript (usando Node JS y bibliotecas) es lo suficientemente bueno. Para juegos más interesantes, es posible que desee usar Python y alguna base de datos, elija uno de MySQL, MongoDB o Redis (cada uno tiene su propia ventaja y desventaja), pero que aprende con experiencia y puede adaptarse más tarde.
También puedes alojar algunos de estos juegos en Facebook para una amplia audiencia.
Algunos buenos tutoriales están aquí.
Crear un juego multijugador en tiempo real con WebSockets y Node.js
Tutorial multijugador 1: conceptos
Los siguientes dos tipos de juego (2a – Teléfono móvil, 2b – Escritorio) pueden implementarse tanto en modo de un jugador (modo fuera de línea) como en modo en línea (para permitir múltiples jugadores, estadísticas de usuarios y clasificaciones).
2a: Hoy en día es mucho más fácil desarrollar y distribuir un juego de Android (y un poco menos fácil para iOS [iPhone, iPad] y un juego de Windows, debido a los costos y licencias requeridos)
Sin embargo, aprender Java, configurar los softwares necesarios (Eclipse, JDK, Android -SDK, etc.) puede parecer un poco frustrante al principio, pero una vez que esté configurado, está listo para comenzar y disfrutará.
También implica aprender más conceptos del juego, especialmente cosas sobre la velocidad de fotogramas, retrasos, etc. (vea mis otras respuestas a continuación), bibliotecas de representación gráfica y es en esta etapa cuando realmente comienza a aprender también sobre diseños complejos de juegos.
(el desarrollo para iOS requiere el aprendizaje del Objetivo C, Windows requiere C ++, pero sugeriría mantenerlo para más adelante. El mercado de Android es grande y fácil de subir con una gran comunidad)
Un buen tutorial sobre el desarrollo de un juego simple de Android
Tutorial de desarrollo de juegos de Android
Y otro sobre juegos de Windows phone
Desarrollando juegos de Windows Phone
2b: Finalmente, para desarrollar un juego de escritorio, nada mejor que desarrollar un juego de Windows. Esto requiere una configuración inicial y aprendizaje (C ++ y MFC, DirectX 3D, etc.)
Desarrollo de juegos DirectX y ejemplos de tutoriales
Sin embargo, hay un buen motor de juegos y bibliotecas disponibles para hacer su vida más fácil, como Unity 3D, Cocos2d, libJDK, melonJS – Página de inicio, una buena lista de motores de juegos JavaScript. en un juego (como renderizar gráficos, agregar sonido, animación, física, controles de teclado y mouse, etc.) y te permite concentrarte en el juego en lugar de repetir las cosas.
Pero, dado que está comenzando de nuevo y necesita aprender mucho, sugeriría implementar juegos muy básicos utilizando lenguaje y tecnología barebone (lo que sería realmente útil para comprender las cosas a un nivel superior) y luego comenzar a usar estos motores para hacerlos más complejos juegos.
La respuesta de Anshul Ranjan a Quiero aprender animación. ¿Cómo empiezo?
La respuesta de Anshul Ranjan a ¿Cuáles son las cosas que debo aprender para hacer películas de animación?
PD: He estado tratando de hacer juegos por algún tiempo y entender y conocer las tecnologías involucradas, pero realmente no he hecho nada visible para los demás.
No dude en ponerse en contacto conmigo en cualquier momento si necesita ayuda o sugerencias. Estaremos encantados de compartir algo de mi aprendizaje.
Espero eso ayude !