Tema "especial" 2 semanas: Enfrentarse a un boss.
#120 ¿Te compensa usar la UI?
Yo había pensado en hacerlo todo ingame, pasando de la UI y los canvas.
#122 Es la primera vez que hago algo así y me he propuesto no mirar tutoriales, a lo loco!
Al final les he puesto la propiedad Button a los slots, ya veré como me las arreglo.
Esta semana creo que tengo un poco de tiempo, así que voy a montar el sistema de inventario también, a ver como queda algo sencillito, después os pasaré el código también si funciona guay para los makeros ;-)
No se ve el cursor, pero básicamente hago click para seleccionar un frame y otro para intercambiar contenido.
(Debería pensar en cambiar el diseño de los botones Realign y Drop xD)
Yo el de esta semana voy a hacerlo con tutorial porque con mis conocimientos de programación me estoy montando todos los retos a base de "ifs" y eso no puede ser una práctica sana xD
Yo creo que ya tengo hecho el sistema de recoger objetos y demas. Ahora me estaba pegando con la interfaz, y no veas si me esta dando problemas.
Buenas, no sé si me dará tiempo a más, pero aquí dejo mi aportación: Faltaría poder tener más de una unidad en cada hueco, si tengo tiempo el Domingo lo implementaré, por ahora es totalmente funcional: Puedes añadir objetos, organizarlos, cambiarlos de sitio, y tambíen borrarlos usando el botón derecho del ratón.
https://dl.dropboxusercontent.com/u/52662287/Gamedev/tutoriales/ejemplo_inventario/index.html
Para quien le interese en Game Maker dejo aquí el código, lo he hecho lo más limpio posible y con comentarios en inglés.
https://dl.dropboxusercontent.com/u/52662287/Gamedev/tutoriales/ejemplo_inventario/Inventario.gmz
Más que nada se basa en un correcto uso de las ds_list (arrays con funciones que tiene GM).
Creamos X objetos de slots de inventario y creamos una lista llena de objetos vacios (id 9999). Cuando creamos un objeto se crea tanto visualmente como en la lista.
Para hacer el intercambio de objetos, realmente no movemos el item cuando se selecciona, para evitar conflictos de colisiones, etc. Sino que lo hago invisible y pongo una imagen suya en el ratón. De esta forma si los cambios son posibles, se intercambian las posiciones. He tenido que tirar de varias variables globales reutilizables, para poder acceder desde el objeto cursor a las variables que necesito.
En html5 hay que tener cuidado ya que funciona mejor with obj_ejemplo {x = other.x} que obj_ejemplo.x = x (esta 2º opción suele fallar).
En reorganizar simplemente borramos todos items, y los volvemos a dibujar según su posición en la ds_list.
Los valores de los objetos son 1,2,3 y para vacío el 9999. ¿Por qué? Para poder ordenarlos de menor a mayor, y dejar los huecos vacíos al final.
Para cualquier duda, contestaré el Domingo,que me voy de tapas xDDD
Yo no he podido hacer mucho... más o menos llevo algo así:
A ver si adelanto un poquillo antes de las 23:59 y pongo los botones de ordenar y un par de cosillas más que quiero ponerle.
PD: #129
Si quieres evitar que los objetos se mueven desde el pivot point:
// Al hacer el raycast, coge la posición relativa del objeto respecto al cursor:
Vector3 itemPlace = item.collider.transform.position;
offsetItem = new Vector2 (itemPlace.x, itemPlace.y) - mousePos;
// --------
// Al hacer la actualización de la posición corrigela con ese offset.
item.collider.transform.position = mousePos + offsetItem;
#131 Ah, entonces guay!
Es que yo he tenido que arreglar lo mismo, por eso te lo comentaba, pero si la idea es que haya offset mola!
#130 ¿Como has hecho el ponerle la ropa al sprite? ¿Es un sprite diferente o escalas el sprite que le ponen y le otorgas una determinada posición?
Como Jastro no ha posteado aún, hago trampa y cuelo un post más antes de que acabe el desafío P:
Al final solo he podido trabajar en este hoy por la noche y el lunes que empecé, por lo que se me han quedado algunas ideas interesantes en el tintero (acumular objetos del mismo tipo en un solo slot, items que se adaptan al espacio vacío al mover un objeto de un lado a otro, barra desplazadora cuando llegas al límite de objetos visibles, etc). En realidad los únicos cambios con respecto a #117 son la introducción de los items, con sus funciones para ordenar, borrar todo y añadir, la papelera para eliminar individualmente y un pequeño texto descriptivo arriba.
Disculpad, me despisté anoche, pense que lo habia posteado.
Tema semanal:
Minijuego de hackeo de terminal.
Explicacion mas larga: Basicamente los tipicos minijuegos de una puerta bloqueada y hay que atravesar la seguridad a traves de un minijuego por ejemplo:
min: 0:56
Esto no significa que tengamos que hacerlo igual que el del video, creatividad total a la hora de crearlo. Suerte
Yo tenia muchas ganas de hacer algo con puerta lógicas, tengo el diseño en papel hecho en los ratos libres, pero voy hasta arriba de faena.
No se si sería mejor hacer los retos de dos semanas, para darnos tiempo a los que vamos de culo. Porque muchos retos los encuentro super interesantes, pero no tengo tiempo de hacer nada .
Yo a ver si la próxima me subo al carro, que esta empecé pero lo tuve que dejar a medias :__ llevo un par de semanitas hasta arriba
Me he despertado simpatico, por lo que... extendemos una semana mas. Quiero mis mecanicas de hackeo, gogogogog.
Yo había preparado una especie de 'Simon dice' como minijuego de desbloqueo. Al introducir bien los 9 números se abre la "compuerta" de atrás xD
http://gamebucket.io/game/734b09a4-aec8-41d7-b44f-b15cd05f8dec
Yo llego tarde, pero estoy en ello.
Guardo sitio antes de que se anuncie el nuevo tema
Por ahora tengo la intro lista:
Voy a dar 2 semanas para este y aunque este tema lo hice en su dia en el hilo anterior, nadie hizo nada en su dia y sinceramente, me apetece ver que es capaz de hacer Mediavida, espero que no se hunda como el anterior.
Tema "especial" 2 semanas: Enfrentarse a un boss.
Bueno... como con unas cuantas horas (27h) de atraso. (Estos días han venido unos amigos de visita y es complicado ponerse a programar mientras están vaciándome la nevera) Publico mi microdesafío de hacking: Hacking Hero v0.1a
Pero bueno, resumiendo: Link por aquí
EDIT: He añadido algunos cambios rápidos
Descripción rápida:
El juego te marca una palabra y un patrón de ritmo y tu tienes que seguirlo inmediatamente después. Me gustaría poner algunos indicadores o algo para hacerlo mínimamente intuitivo.
Blablabla, por cada acierto sube la velocidad, 3 aciertos y te conectas a un nuevo proxy, por cada error te desconectas de un proxy y si te quedas sin proxys... estás jodido.
(las palabras que hay que introducir las he sacado de la canción de Technologic de DaftPunk y del manual de "comandos de linux" que tenía más cerca, si alguno supera los 300BPM, pongo su nick de palabra a teclear en la versión 1.0)
Cosas pendientes
Ahora mismo no hay puntuaciones... y todos los patrones son lineales, cosa que obviamente quiero cambiar...
Además... la resolución se sale un poco de la pantalla... porque soy así de chapucero.
Si alguien lo juega que comente algo... a mi me ha acabado picando un poco y me voy a reservar mi record personal por ahora, pero bueno... que aunque es obvio que le falta muchísimo trabajo... pues eso... que ahí está.
#147 alcance 420 de BPM pero luego en max bpm me sale 60.
por cierto, pique sano con la maquina
Estaria bien que la dificultad no solo viniera determinada por la velocidad sino por la longitud de la palabra. Se agradece una palabra como "use" cuando pasas los 400 xD y es dificil cagarla.