Guía de desarrollo de juegos Indie

metanoia

#688 ¿Esa música no es de la banda sonora de Cowboy Bebop? Mola : D

1 respuesta
GreyShock

#691 Mushroom hunting , del capítulo que se toman setas y flipan xD

Cowboy Bebop es mi serie favorita con diferencia, épica, intensa, divertida y llena de mensaje... y la banda sonora de 5 estrellas.

1 1 respuesta
metanoia

#692 Ese capítulo es genial, y vamos, lo es la serie en general. Qué guapos salís todos al natural, por cierto.

2
Isotoperd

#688 Lo peta mucho la web, dejáis muy claras las intenciones y lo que hacéis, el diseño, por lo que veo es una plantilla de Wordpress algo modificada, ha quedado bien, va directa a mis marcadores.

El otro día empece a montarme una web personal, de momento he creado la BDD y he montado la estructura, no esta acabada ni de lejos, pero esa es la idea. De momento, la tengo colgada en un hosting cutron gratuito, cuando la acabe ya contratare dominio y hosting.

http://drisotopo.zxq.net

1 respuesta
GreyShock

#694 LOL, una broma tras otra tu web xDDD Tiene buena pinta, avísanos cuando la saques :3

Y sí, es una plantilla de wordpress tuneada, prefiero dedicarme a programar juegos que matarme con la web, que está hecha en un par de tardes :P Ya me ha pasado otras veces de acabar decicándole más tiempo al social media y a la difusión que a los proyectos en sí xD Por eso hace falta un community manager... es imposible estar pendiente de twitters, facebooks, pinpons y pinpans sin perder medio día, al menos para mí.

Por cierto, ya me han activado el dominio! :)

http://www.deconstructeam.com/

Spank

Oh God en realidad el thread era una trap de GreyShock para recibir visitas.

BTW me gusta mucho la página, en simple, sencilla y bonita y la historia. Aunque no me gusta la descripción de "Minijuego duro de roer" D:

#697 El título xD me parece un poco en plan j4j3j4j3 xD lo siento pero es la descripción típica :/ pero vamos que a lo mejor solo soy yo xD el resto de la web muy bien se os ha quedado la verdad, se nota que tienes experiencia.

2 1 respuesta
GreyShock

#696 Estaba orquestradísimo esto. "A la página 24 les meto la web y lo peto" xDDD

Más que nada la web es por la necesidad de no tener todos los juegos desperdigados por ahí con urls deiferentes... pero ya que se hace, se hace con gracia xD

Que es lo que no te ha molado de "Minijuego duro de roer", el título o el post? xD

1 respuesta
aitorman

Escuchando un podcast/entrevista con el creador de ImpactJS he oido que mencionaban esto, y parece la leche. Es algo parecido a IOSImpact pero mucho mas pulido, sirve para cualquier juego html y no solo los de Impact, y ademas es gratuito.

1 respuesta
GreyShock

#698 Ahí va, tiene buena pinta esto ¿no? No he podido leerme la web entera, pero básicamente es una plataforma para adaptar/lanzar tus juegos en versión móvil ¿no?

Lo que no he llegado a descubrir es cómo funciona eso de la monetización que dicen. Te dan herramientas para vender el juego también or what?

Cuando tenga tiempo me sentaré a leer cosillas sobre Cocoon por la red.

#700 Habrá que seguirle la pista, me puede ir de fábula si me decido a sacar algo para móvil, que es un terreno desconocido y con muchas sombras aún para mí.

1 respuesta
aitorman

#699 Lo de las caracteristicas extra como los In-app purchases y esas cosas no lo tengo muy claro. Basicamente tu metes tu juego (dicen que lo mejor es meter todo el codigo js en un archivo) y todos los resources en un zip, y luego desde la app para iphone y android que tienen ellos para que puedas testearlo, metes el link a ese zip y ya puedes jugar.
Cuando lo tengan acabado, metiendo ese mismo link (creo que en su pagina) te darán para descargar las apps Iphone y Android resultantes, preparadas para subir a la app store o android market sin que tengas que pasar por su app.

2 respuestas
Isotoperd

#700 Falta ver como queda el resultado final, pero si realmente funciona tal y como dicen, esto es una jodida pasada.

B

#688 Qué te has fumado? lol, en serio, grande, MUY grande xDDDDD

PD: Alguien me puede recomendar una tableta gráfica? Es que hace mucho que me estoy planteando comprarme una, para hacer texturas en general.. alguien sabe de algún modelo que esté bien en calidad precio?

3 respuestas
Potito

#702 Yo ya te recomende la wacom pen de 50 pavos, imposible q exista una mejor relacion calidad precio.

2 respuestas
B

#703 Es que no me acordaba del nombre! v.v creo que me la compraré para antes del ludum dare en agosto, así me da tiempo a practicar con ella y tener el potencial de hacer texturas sin el ratón..

Isotoperd

#702 #703 Esa misma tengo yo y tira bastante bien, para empezar a pillarle el tranquillo es lo mejor que vas a encontrar.

GreyShock

#702 Gracias xD

Y sí, 50€ por una Wacom es insuperable prácticamente para una tableta para empezar. ¿Cómo te va con Unity, por cierto?

1 respuesta
B

#706 Pues la verdad es que no lo he tocado mucho.. estoy dándole al coco para ver si tengo alguna buena idea :(

1 respuesta
krew

#707 midgard tío, no se trata de ideas sino de aprender! cualquier cosa que te apetezca y no sea complicada sirve, luego cuando domines las cosas ponte en serio, pero primero... ¡aprende!

es mi forma de pensar :P así que deja de buscar ideas y metete de lleno en unity, joder!!

1 1 respuesta
Humanoide

No he participado apenas por el hilo principalmente porque apenas he tocado programación, y lo poco que hago es con Game Maker. Pero bueno, aun así ahí le doy de vez en cuando. Sé que no es lo mismo y blablabla, pero al fin y al cabo, a pesar de las limitaciones del software en sí, es lo único que puedo usar y la desmotivación de pensar que es un programa de mierda o que soy un vago por no intentar aprender algun lenguaje decente la intento reemplazar con la motivación al ver juegazos hechos con este programa.

Respecto al tema de ideas que estáis comentando. Mi principal problema ya lo comenté por aquí, el tema de diseño en general. Yo no sé dibujar, así que hasta ahora para ir aprendiendo he ido tirando de sprites gratuitos / liberados / whatever, y con lo que voy recopilando de internet voy pensando en cosas e intento hacer movidas para aprender a desenvolverme. Así que si es tu caso, Midgard, que creo que sí, pues puedes probar a eso, a ponerte a mirar librerias de sprites gratuitas o lo que sea y ya pensar qué puedes llegar a hacer con eso. Que sí, que tu juego no va a ser ni original ni nada, pero es que en un principio se supone que no deberías ni plantearte el mostrarlo ante el público más allá del 'estoy intentando hacer uno de mis primeros juegos y quiero algo de feedback', que lo haces por aprender, etc.

Yo hasta ahora no he sido capaz de finalizar nada. El error común de todo el mundo: tienes una idea, crees que puedes hacerla, la empiezas, y te va todo genial hasta que te das cuenta de que realmente era más complejo de lo que pensabas, que te falta x recurso, en resumen, que simplemente no está a tu alcance. Pero bueno, ahora estoy algo más ilusionado ya que por fin tengo algo entre manos con intención de hacer de verdad, de intentar acabarlo y pulirlo y tal. Ya iré poniendo alguna cosilla por aquí supongo.

2 respuestas
m3l0

buenas, como he descubierto que en mi biblioteca hay un libro de SDL, pero esta cogido, lo he dejado un poco de lado hasta que este libre. mientras he estado enredando con otro lenguaje:
GEMIX, que es es un lenguaje "derivado" del antiguo div studio, que tanto triunfo por españa. Es un lenguaje orientado a la programación de juegos, y muy, pero que muy sencillo, y ademas en vez de clases utilizado algo llamado procesos, que le dan mucha vidilla, si queréis mas información entrad en su foro:
http://gemixstudio.com
la verdad es que me ha gustado mucho, la única contra que tiene es que todavía no han actualizado su IDE por lo que hay que usar un notepad++.

aquí tenéis el enlace del juego en el que estoy trabajando, te mueves con las flechas, con a atacas, y con espacio lanzas un proyectil. (cuando se llega a 7 de puntuación no aparecen mas enemigos xD)
esta un poco verde jeje

http://www.mediafire.com/?11hnra57j5ehwbs

pd: vosotros como haríais los enemigos inteligentes? de momento solo he conseguido que se muevan así.

2 respuestas
B

#708 No sé, he aprendido bastante más intentando hacer proyectos imposibles que haciendo juegos simples, pero bueno... la idea que espero tener es simple pero que mole.. es decir, una idea original que atraiga.

Es como pedir ser millonario pero bueno.. si me surge la idea la desarrollaré como mejor pueda ^^

1 respuesta
GreyShock

#710 Oye, he visto peores juegos en la Ludum Dare xD Lo que dices de los malos es muy necesario, q si no te siguen es facilísimo xD El pathfinding es todo un arte, pero yo creo que puedes hacer una versión simple de persecución diciendo..

if(malo.y > prota.y){
     malo.y--;
}else{
    malo.y++;
}

y lo mismo para la X, con un movimiento algo más currao que "malo--" pero ya mentiendes :P

#711 Hacer cosas imposibles está guay, aprender, ponerse retos y todo eso... pero publicitarlo Unsurvive style no mola demasiado :P Primero domínalo y cuando puedas ofrecer lo que prometes, enciende los fuegos artificiales.

#709 "El error común de todo el mundo: tienes una idea, crees que puedes hacerla, la empiezas, y te va todo genial hasta que te das cuenta de que realmente era más complejo de lo que pensabas, que te falta x recurso, en resumen, que simplemente no está a tu alcance."

Sé exactamente a lo que te refieres. Pero eso se puede resolver echándole un par de huevos. He fracasado otras veces por ese muro. Pero tiene que llegar un momento, a base de fracasos, en el que madures suficiente tu determinación como para saber derribar o esquivar esta clase de obstáculos.

Sé que no paro de mencionarlo, pero en el artículo de Derek Yu sobre terminar un juego me iluminó la mente, y ahora me siento capaz de superar o evitar prácticamente cualquier impedimento que te de la excusa para abandonar.

Una de las claves quizá para cuando os veáis que habéis empezado un proyecto demasiado ambicioso es:

CUT - IT - OUT

Recórtalo, desecha los obstáculos que veas imposibles de superar a corto plazo. Quizá tu juego no alcance los estándares que te habías propuesto ni mola la mitad de lo que molaba en tu mente. Pero termínalo. Puede parecer una forma de huir. Pero si no terminas el juego es muchísimo peor. Así que no tengas miedo a meter hachazos a tus desarrollos, ya que tienes que tener la mentalidad de que con el primer juego no vas a triunfar. Termínalo, y ve a por el siguiente, con el tiempo desarrollaras las habailidades necesarias para alcanzar tus objetivos, y la satisfacción de ir completando juegos es un combustible muy potente comparado con el lastre de la frustración de los diez proyectos a medias.

el artículo de marras: http://makegames.tumblr.com/post/1136623767/finishing-a-game

1
elkaoD

#710 jojojo, ¡DIV Games Studio!

Me lo regaló mi hermano con... ¿9 años o algo así? Y fueron mis primeros pinitos programando. Qué recuerdos.

¡Ponle cooldown al ataque!

Con respecto al movimiento, haz lo que dice GreyShock, pero en cuanto tengas obstáculos te va a ir más bien mal.

No sé si sabes algo de teoría de grafos pero A* es bastante fácil de implementar (no tanto de entender) sobre un grafo cualquiera.

Separas el "campo de juego" en nodos (estilo rejilla) y marcas como inicial el propio enemigo y final el jugador. Luego simplemente vas recorriendo el grafo manteniendo una lista de visitados y por visitar. Hasta aquí es una búsqueda normal en grafo (depende del orden de búsqueda tendrás en profundidad o en anchura.) La magia de A* es asignarle una heurística a cada nodo para elegir el orden de evaluación.

El algoritmo va tal que así (cada nodo tiene dos valores, d(x) = el coste RECORRIDO HASTA ÉL y h(x) = heurística del nodo actual)

ESTADO INICIAL:
- Visitados []
- Por visitar [
  Nodo_Enemigo [d(x) h(x)] <- d(x) = 0
]

1. ¿Está vacío "Por visitar"? No hay camino entre Nodo_Enemigo y Nodo_Final

Si no está vacío:
2. Coger el nodo con menor d(x) + h(x) de la lista de "Por visitar"
3. ¿Es Nodo_Final? Has llegado al final en d(x) distancia

Si no es nodo final:
4. Añadir el nodo a Visitados
5. Añadir todos sus nodos adyacentes que no hayan sido visitados a "Por visitar" con d(adyancente) = d(x)+coste de x a adyancente (1 en tu caso porque no hay coste variable... esto vale si hay terrenos de diferente coste de movimiento y cosas de ese estilo)
6. Volver a 1

h(x) debe ser una heurística admisible, es decir, tal que 0 < h(x) <= h(x) donde h es la heurística perfecta (si supieras el camino correcto hasta Nodo_Final.) Cuando más cercana sea tu h(x) a h(x) más rápido será tu algoritmo. Si h(x) > h(x) puede que no encuentres el camino óptimo. Si h(x) = 0 no tienes información heurística y A* degenera en búsqueda optimal (por camino recorrido.)

Ejemplos de heurísticas admisibles típicas son por ejemplo:

  • Distancia euclídea: sqrt( (x-x' )2 + (y-y' )2 )
  • Distancia cuadrática: (x-x' )2 + (y-y' )2 <--- funciona igual y es mucho menos intensivo para la CPU
  • Distancia en "tiles" del grafo: abs(x-x' ) + abs(y-y' )
3 3 respuestas
GreyShock

#713

4 1 respuesta
elkaoD

#714 lol

No sé si el GIF significa que es muy complicado o que es más simple de lo que parecía.

Si es lo primero... ¡no es tan complicado! El algoritmo es un bucle con 6 (cinco en realidad) pasos muy simples. Lo más complicado es el manejo de listas y en casi todos los lenguajes vienen ya definidas. Hasta C++ que es lo más low-level que te echarás en cara para videojuegos tiene listas en la stdlib.

Los nodos son un tipo de datos cualquiera con 3 valores:

  • [posicion distancia_hasta heurística]

Incluso la heurística te la puedes ahorrar porque es función de la posición (aunque no está de más guardarla computada, es una cuestión de trade-off entre CPU y memoria.) La distancia es bueno que no guardes distancia si no el camino recorrido hasta (porque te interesa el camino, no el coste :P) y la distancia precomputada también (por la misma razón que guardar la heurística pre-computada.)

Lo más complicado es crearte la rejilla con adyacencias y tal, pero eso es cosa del propio juego más que del algoritmo.

Lo más difícil del algoritmo es entender el por qué más que el como, pero para implementarlo no necesitas el por qué :P Basta con seguir lo que he puesto antes como receta, elegir cualquier heurística de las que puse y asumir que mágicamente encuentra el mejor camino.

1 respuesta
GreyShock

#715 La palabra heurística ya hace explotar mi mente de por sí xD

Es algo con lo que tendría que sentarme tranquilamente y concentrado para entenderlo bien. Usarlo a modo de receta está guay, pero me gusta saber el por qué xD

Creo que ImpactJS viene con un sistema de pathfinding integrado, lo destriparé a ver como trabaja.

Aún así, mil gracias por las curradas que te metes siempre, siempre tienes un nuevo hueso de conocimiento que arrojarme delante para roerlo xD

1 respuesta
elkaoD

#716 ya te digo que suena más complicado de lo que es. Si en lugar de heurística le llamo "estimación" ya no suena tan chunguer, pero queda más profesional llamarle heurística, así parece que sé algo xDD

En realidad el algoritmo se puede complicar más pero por cuestiones técnicas de eficiencia: un nodo puede aparecer dos veces si has llegado por dos caminos diferentes así que sólo te debes quedar con el de menor f. Aún así mi algoritmo funciona, aunque a veces mantiene varios nodos a la vez (aunque no llega a evaluar los de mayor distancia porque... evalúa antes los de menor...) por lo que gasta más memoria. Para un pequeño mapa como el de un videojuego da igual. Para un mapa con millones de nodos (Google Maps anyone?) puede ser un problema.

El por qué no lo vas a entender sin echarle un rato LAAARGO (implica más de lo que parece el hecho de que sea óptimo) pero el cómo no es mucho más complicado que el pathfinding más tonto. Se complica aún más entenderlo si pretendes que la heurística no sólo sea admisible si no consistente (que paso de describir porque, en efecto, se complica.)

--

De nada por las perlas de conocimiento :D No sé si a alguien le interesarán/le serán útiles pero a mí me ayudan a afianzar conocimiento (no hay mejor forma de afianzar conocimiento que explicárselo a alguien) y si de paso ayudo a alguien pues mira qué bien.

1 1 respuesta
m3l0

#713 joer que suerte tenias, ojala me hubieran comprado ami el div o algo por el estilo xD

gracias!, voy a ver si consigo entenderlo y implementarlo. y si tengo alguna duda te pregunto a ver

porcierto, algo de esto podria ser una buena kata para mv coders no?

aitorman

#717 Joder, si que ayudan tus posts si. Llevaba tiempo queriendo aprender algo sobre el pathfinding. Muchas gracias

P.D: Ayer conseguí pasar el primer juego que hice con impact (un copter) al iphone con IOSImpact. Es muy facil, el unico problema que tuve es que la version de la librería JavascriptCore que te descargas de la pagina solo soporta armv7 (que es the iphone 3gs para arriba, creo), y que para que funcionase en iphones mas viejos te tienes que descargar una version alternativa que tiene posteada en su blog y que soporta armv6. Lo digo por si alguien tiene el mismo problema mas tarde. Luego pondre screens del juego en el simulador

HojaGelida

#709 Estas igual que yo mas o menos sin idea de programacion asi que aportamos mas bien menos al hilo. Pero bueno se hace un intento por entender lo que se dice en el.

Tema cerrado