¿Cuánto tiempo llevará crear un juego de computadora?

Obviamente, esto depende del alcance, los objetivos y si estás loco o no, y el talento / habilidad.

En el transcurso de nueve meses …

Creamos un JRPG en el mundo occidental, un juego premium en la era del freemium, una historia en la era de la gratificación instantánea, un juego de piratas informáticos justo antes de Snowden y un intento de educar a la población en general sobre la seguridad cibernética antes de las elecciones democráticas de 2016 .

Hemos detallado o proceso creativo aquí en Gamasutra: Breaking in – Nameless the Hackers RPG

Afortunadamente teníamos mucha habilidad, menos talento para los juegos, pero mucha más habilidad.

Mi compañero era un ingeniero de audio que solía trabajar con WizKhalifa, DefJam Japan, el BakaBoyz.

Fui ingeniero de soluciones empresariales de WhiteHat que implementó sistemas gubernamentales masivos para DOD / DHS y varios gobiernos nacionales en todo el mundo.

Teníamos muchos años de habilidad perfeccionada.

Con solo un equipo de 4.5 hicimos un juego de rol japonés / tradicional, como lo detalla ExtraCreditz:

Juegos de rol occidentales versus juegos de rol japoneses: I: ¿Qué los hace diferentes? – Créditos adicionales

Estamos orgullosos de lo que hemos logrado, tanto mi socio comercial como yo cumplimos sueños de vida en 2013. Fue, como mencionó uno de nuestros socios del proyecto:

“¡Como estar atado a un tren bala en cohetes!”

Quizás es bueno estar un poco loco después de todo. 🙂

He estado en la industria de los videojuegos durante 18 años y he enviado varios títulos en varios géneros. En un caso, un equipo de 45 hizo un MMORPG de combate de vehículos en aproximadamente 2.5 años. En otro caso, un FPS tomó alrededor de 2.5 años.

Como indican muchas de las respuestas anteriores, la parte difícil no es realmente hacer el juego. Llegar al 80% es bastante rápido. Pulirlo a una calidad viable para el mercado lleva de 2 a 5 veces más, dependiendo de la complejidad del arte, audio, mecánica, física, jugabilidad, historia y otras variables.

Dicho todo esto, hay cero razones por las cuales, si tienes una gran idea, no deberías comenzar. ¿Y qué si te lleva años? Si te apasiona el juego, ese tiempo se sentirá más como una tontería en lugar de trabajar en un trabajo diario.

Básicamente, después de casi 2 décadas haciendo juegos, y tan estresante como puede ser, todavía siento que tengo un pasatiempo increíble que paga bastante bien.

Un solo desarrollador puede crear un juego en cuestión de minutos, mientras que un gran equipo puede llevar muchos años, todo depende del alcance, principalmente.

Decidí probarlo y escribí esto en unos 20 minutos: Editar violín – JSFiddle

El objetivo es evitar la colisión entre las cajas blancas y las verdes. Por supuesto, esto no es perfecto: el código es desordenado y solo lo probé en Chrome y una vez que está cargado no se puede cambiar el tamaño de la pantalla sin estirar los gráficos, pero es un juego y solo me llevó 20-25 minutos.

Lo que lleva mucho tiempo es ajustar la configuración hasta que tengas algo que se sienta bien: trabajé en el siguiente juego durante un par de meses, aunque no parece mucho más complicado que el anterior, implica mucho más código:

Aquí está el código completo del juego que creé para esta respuesta:

var lienzo, ctx; // el lienzo en el que se dibujará el juego
var enemigos = []; // todos los enemigos se almacenarán en esta matriz
var startEnemies = 10; // cuantos enemigos al inicio del juego
var maxEnemies = 100; // cantidad máxima de enemigos
var maxEnemySpeed ​​= 5; // qué tan rápido pueden ir
var player = {// el objeto player contiene posición y tamaño
posición: {},
tamaño: 20,
};
puntos var = 0; // Autoexplicativo
var isRunning = true; // ¿se está ejecutando el juego?
var startBtn = document.querySelectorAll (“. start”) [0]; // un par de referencias a las diferentes superposiciones y elementos de la interfaz de usuario
var restartBtn = document.querySelectorAll (“. restart”) [0];
var startOverlay = document.querySelectorAll (“. start-overlay”) [0];
var gameOverOverlay = document.querySelectorAll (“. gameOver-overlay”) [0];
var pointsDisplay = document.querySelectorAll (“. points”) [0];

function Enemy () {// esta función devuelve un nuevo enemigo generado aleatoriamente
regreso {
posición: {
x: Math.random () * canvas.width,
y: 0
},
tamaño: Math.random () * 20,
velocidad: Math.random () * maxEnemySpeed
}
}

función createNewEnemy () {// esto agrega un enemigo a la matriz de enemigos
enemigos.push (nuevo enemigo ());
}

function generateEnemies () {// crea los enemigos iniciales
for (var i = 0; i createNewEnemy ();
}
}

función init () {
lienzo = document.querySelectorAll (“lienzo”) [0]; // obtener una referencia al lienzo
canvas.width = window.innerWidth; // cambia el tamaño del lienzo para que se ajuste a la ventana
canvas.height = window.innerHeight;
ctx = canvas.getContext (“2d”);
player.position = {// establece la posición inicial del jugador
x: canvas.width / 2 – player.size,
y: canvas.height – 100
}
canvas.onmousemove = function (e) {// cuando mueves el mouse cambia la posición del jugador
player.position = {
x: e.pageX,
y: e.pageY
}
}
generateEnemies ();
requestAnimationFrame (paso);
};

function moveEnemies () {// mueve a los enemigos
para (var i = 0, l = enemigos.length; i var enemigo = enemigos [i];
if (enemy.position.y> canvas.height) {// si el enemigo llegó al fondo, muévelo hacia arriba
enemigo.posición.y = 0;
if (enemigos.length createNewEnemy ();
}
puntos ++; // aumentar puntos
} más {
enemigo.posición.y + = enemigo.velocidad; // si no, solo muévelo hacia abajo un poco
}
}
}

function drawEnemies () {// recorre el conjunto de enemigos y dibuja cada uno en el lienzo
ctx.fillStyle = “blanco”;
para (var i = 0, l = enemigos.length; i var enemigo = enemigos [i];
ctx.fillRect (enemigo.posición.x – tamaño.enemigo / 2, enemigo.posición.y – tamaño.enemigo / 2, tamaño.enemigo, tamaño.enemigo);
}
}

function drawPoints () {// escribe en la cantidad de puntos en el fondo
ctx.fillStyle = ‘blanco’;
ctx.font = “60px Helvética”;
ctx.textAlign = “centro”;
ctx.fillText (puntos, canvas.width / 2, canvas.height / 2);
}

function drawPlayer () {// dibuja al jugador al lienzo
ctx.fillStyle = “# bada55”;
ctx.fillRect (player.position.x – player.size / 2, player.position.y – player.size / 2, player.size, player.size);
}

function checkSingleCollision (a, b) {// comprueba si dos cuadrados se cruzan
return (Math.abs (a.position.x – b.position.x) * 2 <(a.size + b.size)) &&
(Math.abs (a.position.y – b.position.y) * 2 <(a.size + b.size));
}

función checkCollisions () {

para (var i = 0, l = enemigos.length; i var enemigo = enemigos [i];
var collide = checkSingleCollision (jugador, enemigo);
si (colisionar) {
juego terminado();
}
}
}

paso de función () {
ctx.clearRect (0, 0, canvas.width, canvas.height);
moveEnemies ();
drawPoints ();
drawPlayer ()
checkCollisions ();
drawEnemies ();
if (isRunning) {
requestAnimationFrame (paso);
}
}

function gameOver () {// cuando se llama a la función gameOver
isRunning = false; // detiene el juego
pointsDisplay.innerHTML = puntos; // establece la cantidad de puntos en la interfaz de usuario
gameOverOverlay.classList.remove (‘oculto’); // muestra el juego superpuesto
}

función start () {
startOverlay.classList.add (‘oculto’); // al inicio ocultar la superposición de inicio
isRunning = true; // comienza el juego
en eso(); // inicializa el juego
}

startBtn.onclick = function () {
comienzo();
}

function cleanUp () {// esto limpia el juego anterior y restablece las variables
puntos = 0;
enemigos = [];
ctx.clearRect (0, 0, canvas.width, canvas.height); // borra el lienzo
}

restartBtn.onclick = function () {
gameOverOverlay.classList.add (‘oculto’);
startOverlay.classList.remove (‘oculto’);
limpiar();
}

En algún lugar entre 4 horas y 30 años. Depende de tus habilidades y alcance / tipo de juego.

4 horas son suficientes para crear un clon arcanoide básico desde cero si eres un programador experto.

Ahora, los tipos que hicieron la fortaleza enana han estado trabajando en ella durante al menos diez años y la última vez estimaron que tomaría 20 años más terminarla.

Además, no importa si el juego está “pixelado” o no. Axiom Verge es un juego basado en sprites inspirado en Metroid. 5 años en desarrollo.

Si recuerdo correctamente, Stardew Valley tuvo un marco de tiempo de desarrollo similar.

Si bien la elección del estilo artístico puede y afectará el tiempo de desarrollo, incluso con el estilo artístico más simple posible, tendrá que dedicar mucho tiempo al proceso de pulido y al desarrollo de otros sistemas relacionados con el juego. Por lo tanto, no asumas que solo porque tu juego es pixelart, se puede terminar en un mes.

Yo diría que un plazo decente para un proyecto independiente sería de unos pocos años.

desde pocos minutos … hasta 100 años !! dependiendo de muchos factores …

Un código que muestra un número aleatorio y le pregunta al usuario si es par o impar, es técnicamente un juego y puede ser creado en menos de 2 minutos por alguien que conozca el motor.

Un juego como GTA lleva 5 años de más de 50 personas calificadas que trabajan en él todos los días … y les tomará 10 años si no fueran lo suficientemente hábiles … y una persona nunca hará un juego con un alcance como esto a menos que esa persona sea increíblemente hábil en muchos campos diferentes … lo cual no es imposible pero no creo que exista alguien así.

Entonces … depende del juego, el alcance, las personas que lo hacen, la vida de esas personas … un juego tomará muy poco tiempo … o mucho tiempo.

—————————————
En 2017 standrads … hacer un juego AAA toma alrededor de 4 años para que un gran equipo en desarrollo lo haga.

Echa un vistazo al canal de YouTube, GTGD (Gamer to Game Developer), donde te muestra paso a paso cómo crear un juego real usando el motor de Unity.

En resumen, depende de qué tipo de juego y la cantidad de contenido que hayas planeado.

Esto dependerá del tipo de juego que quieras hacer y de cuánto esfuerzo quieras poner.

Con el estado actual de los motores de juegos comerciales, podría ejecutar un juego de manera efectiva en un par de horas, utilizando activos y scripts incorporados. Sin embargo, si quieres tener un juego realmente bueno, podría tomar desde un par de meses hasta varios años.

La mayoría de las empresas tardan entre 2 y 4 años por juego, por lo que si quieres hacer algo a la par con un pequeño equipo de personas, definitivamente tomaría más de 4 años (mira Subnautica, un juego de un pequeño grupo que tiene He estado trabajando en ello durante años. Está disponible en Steam en Early Access, todavía está siendo actualizado y casi terminado)

Si quieres hacer un juego realmente bueno, te sugiero que pases mucho tiempo aprendiendo el motor del juego que usarías e investigando primero tu tema. No tengas miedo de pasar mucho tiempo en ello, y no esperes que tu primer intento salga bien.