Cómo convertir el guion en código del juego
HTML-код
- Опубликовано: 11 июл 2024
- ➤➤➤ MIS JUEGOS: www.majorariatto.com/es
➤ BUNDLE de mis juegos en Steam: store.steampowered.com/bundle...
➤ CANAL SECUNDARIO / @alvamajoclips
➤➤➤ MIS REDES
➤ Twitter: / 5ro4
➤ Twitch: / 5ro4
➤ Web: alvamajo.com
0:00 Intro
1:24 Script parser
1:24 Estructura
4:11 Rollback
5:09 Condicionales
5:45 Código durante diálogo
6:30 Condicionales
7:04 Refactorizar
7:35 Aspect ratio
8:11 Todavía?
Música: • Alva Majo channel theme
--------------------------------------------------------------------------------------------------------------------------------------
Soy Alva Majo, desarrollador de videojuegos indie español creador de
- Majotori
- Majorariatto Museum
- Golfing Over It with Alva Majo
- Shipped
- pureya
- The one who pulls out the sword will be crowned king
- Pineapple on pizza
Programo mis propios juegos indie en C# con el motor de video juegos Unity para PC, Steam, Android e iOS. Te enseño lo que se sobre desarrollo de videojuegos y gamedev con tutoriales y explicaciones divertidas y comparto mis éxitos y fracasos, cuánto dinero gano con videojuegos y trucos y lifehacks para ser más productivo, como camuflar una lista de palabras clave en la descripción.
alva majo rule 34 buscar
genial el primer comentario que veo
El sabio:
alva majo senos buscar
Con guinxu?
No es tiktok, npc
6:14 ¡stop! 🐓🗿
Xddd
😂😂
6:47 when Alva dice when y te piensas que es un momazo🗿
When Wen le dice ven a Ben: ven Ben xdxdxdxdxd :vvvvvvvvvvv
@@Fredlii *En la grasa habían mejores momos*
Los momos de la grasa:
xDDDDDDDDDD
Alva: "Odio programar, si pudiera lo evitaría para crear los juegos que quiero 😡"
También Alva: "Inventé un mini-lenguaje de programación para crear escenas en mi juego 😎"
Es verdad 😂😂😂
Mejores desarrollo de personaje en el anime:
Lo más limpio a mi parecer (a bote pronto y sin pensar demasiado) es un excel con solo los Id, y frases de los distintos idiomas y luego otro excel con el código que te indique que id se lee y en qué orden, mezclar el texto y el código sería un caos absoluto.
5:55 podrías en lugar de `¡Daisy! ¡Ingrid!` podrías hacer algo como
Linea1 | ¡Daisy!
Linea2 | ¡Ingrid!
Esto evitaría tener dos punteros
- para validar si después existe
-- un diálogo
--- que siga hablando
-- una instrucción de código
--- para que un personaje cambie su expresión
--- que aparezca
- Pará rebobinar podrías validar si existe un `noclear` al final de la línea para saber que estas eliminando un texto concatenado y no eliminando una línea de texto entera
- evitas el código `stop` para simplificar el número de instrucciones a mantener
Muy buenos consejos aunque no te entendí nada.
@@AmargoMariano 😂😂
Te doy mi like para que alva lo vea ya que tú comentario parece que sabes de que va la cosa
@AlvaMajo
Esta interesante. creo que seria un buen reto de programación corregir este problema de alva.
Cosas a mencionar desde mi punto de vista y que ya lo han mencionado antes:
- No combinar código con el texto de los personajes.
- Hay que recordar el KISS (Keep It Simple, Stupid!) y con eso creo que no simple en absoluto xd.
- Estás haciendo subcodigo, por lo tanto haces que mantenerlo pueda ser complicado, en especial al momento de testear por las lineas "goto" (código espagueti).
Definitivamente habría que separar la logica del texto en este caso y quizás replantearse eso: 6:25 xd
La tesis final de grado del Alva Majo:
*Hasta que completes y saques el juego aprenderé a dibujar mejor, cuando salga tu juego haré fanarts de los personajes y memes de la historia y así te haré publicidad gratis en varios idiomas, este es mi nivel de amor por ti Alva Majo*
Plot Twist tu cuenta será de NSFW furry
@@parzival2114 Eso dependerá de Alva 🗿
Uyyy... Pero ya sabes que alva tiene pareja no? GuinxuXAlva forever ❤
Puedes crear una secta, The Cult of Alva. o la Santísima Iglesia de Majorariato
@@Castillo790 ¿Te unes? La secta consiste en volverse figuras importantes en el mundo del entretenimiento solo para hacerle publicidad gratis a los juegos de Alva Majo
OJO! 7:33 Cuidao!!! , me parece que eso jamas ocurrira.
Para el tema del rollback, bastaría con almacenar una lista de las ids que se han ido ejecutando y al hacer rollback ir a la escena de la id anterior. Cualquier solución aprovechando gdscript es mejor que crear 3845 commandos distintos para la línea code del csv.
quiza creando un "history" donde se guarden estos id de forma ordenada podria recorrer el array al derecho, al revez, saltando, etc.
Soy de IT, aunque no programador. No hago y no planeo nunca hacer videojuegos, pero... estos videos me encantan. Toda la logica y el paso a paso de como resolver problemas o afrontar una situacion siguen siendo utiles para muchas otras cosas no relacionadas a los videojuegos. Ahora a esto le agregamos el carisma de Alva... ufff. Excelente video.
¿Cómo que IT? Fuera payaso asesino
Pfff este video me ha hecho apreciar más RenPy, que ya tiene una inmensa funciones de VN ya implementadas 💪
Este es un buen caso para explicar porque se necesita estudiar diseño de software para poder programar bien a la mina complicación.
Memento, Iterator, Interpreter son ejemplos de patrones de diseño que conceptualmente podrían ayudar a hacer más sencilla la gestion del sistema de dialogos.
Sí Alva Majo, todavía estoy aquí...
6:28 jajaja no te rindas, que te explicas muy bien!
un capo alva majo volviendose un experto desarrollador de compiladores solo para no utilizar renpy
Con renpy podrías desarrollar una partida de tres en raya?
@@Emi-fg7fnseguramente pero el rendimiento no sé si sería bueno
Con renpy iria a 3 frames por semana
hay una demo en youtube de alguien que lo hizo lo pueden encontrar como "tic tac toe for renpy"
ahora alva puede tener otros motivos para hacerlo en godot pero eso ya dependerá de lo que haya planeado
ruclips.net/video/d5QYfv0Q7Iw/видео.html@@jesustorrejon1509
Lo has consultado con GiusCaminiti? Seguro que tiene buenas opiniones fuertes que se te está yendo demasiado la complejidad con lo de meter código dentro del script de esa forma. Desde mi niputeidismo, tendrías que mantener el fichero de traducciones (líneas de diálogo) lo más independiente posible para que sea fácilmente acopable cuando estés en fase tocha de produccion.
6:22 cuando me va mal en un examen
Con lo del aspect-ratio, puedes usar el nodo AspectRatioContainer de godot y hacer todo ahí dentro menos algunas cosas que pueden "sobresalir"
Lo que puedes hacer es una pila de dialogos(un array), cuando alguien le de "rebobinar" eliminas la cantidad de elementos en el array que deses, cada que una "escena" termine, limpias el array , el array lo puedes llenar con CVS que estas armando
El todavía estas aqui me encanto, No planeo hacer un juego pero igual Alva hace que me interese por ese tema. Tal vez algun dia
Buen video alba, yo llevo ya mas de un año desarrollando mi primer juego (metroidvania 2d), mucho animo con tu proyecto!
6:25
Suele pasar jajaja cuando nos gana nuestro lado detallista
Me ha encantado este video, personalmente me ha servido 🦔
5:55 tambien podrias hacer algo como: En el dialogo: daisy! codigo intermedio ingrid!
Mano eres un crack, a la firme que wen video la rcmsre.
Un buen video de Alva Majo después de la escuela, siuuuuu
Con merchandising y todo 🙀
Alva eres mi referente como informático. Cuando siento que estoy estancando, o que no soy tan bueno como debería, veo como haces sobre-ingeniería con un lenguaje ensamblador inventado en un .csv, y siento que podría enviar cohetes a Marte. Sigue así y pronto pediré un aumento salarial, muchas gracias
Top comment
La verdad es que me he reido con tu post. Pero, ¿eres consciente que no es tan rara esa opcion (crear lenguajes script custom) en el mundo de los videojuegos, verdad? Supongo que sabes qué es SCUMM.
Alva mago nos sorprende de nuevo 👏
Si hay AlvaMajo, por que no hay AlvaJunio?
Mola!!! 👏🏻👏🏻👏🏻
Este video confirma el desarrollo de Majotori 2: ahora es personal?
Baity?
Y si es un éxito como el primer Majotori probablemente estaríamos en presencia de una trilogía, culminando con Majotori 3: Electric Boogaloo
@@cesarbarusheslava6757 Si entendí la referencia 😉
6:25 me he reído demasiado 😂😂😂 ànims Alva!
Excelente consejo, eso de rehacer el código cuando sabes los aspectos que debes ocupar.
Antes de ver este video estaba pensando en hacer una aventura gráfica...
Ahora creo que solo haré juego de plataformas y simuladores 🥹
continue, goto y stop.....los 3 caballeros de la muerte de cualquier lenguaje malo
Gran video
genio total
Se está montando un transpilador el tío XD.
Yo no pondría la lógica del juego en la hoja de cálculo. En cambio, yo dejaría las propiedades como personaje y expresión en json en una columna llamada prop y en otras columnas los diálogos. Todo lo demás lo dejaría en un archivo de escenas que consumiría el de diálogos, y para el rebobinado, haría un log.
Totalmente de acuerdo, llevar toda la complejidad a un excel es complicarse la vida. En vez de utilizar unity, reutilizar clases, o diseñar ahi las escenas, llevarlo a texto plano en csv para luego reinterpretarlo creo que es un error
@@ManKiros La cosa es que no quiere usar Unity. Porque ya nadie confía en esos.
Ahora no Robin necesito tener una pequeña charla con el peruano de cyborg 🗿
No hay chance
ERA MI PONNY
Te veo en el canal de Aquino y memes no mames
NO SOY PERUANO!
Tremendo laburo la verdad
No puedo creer que acabo de llegar AL FIN al último video. Me los vi todo ctm.
muy buena info man
Un buen vídeo de Alba Majo después de la escuela
Hola Alva, para volver a ver diálogos anteriores podrías hacer un buffer circular con la capacidad que quieras. El buffer almacenaría objetos de diálogo, que tendrán las propiedades que necesites. Esto permitiría volver a verlos sin necesidad de complicar tanto tu sistema. Ánimo con el juego!! 💪🏻
Alva justo tambien estoy haciendo un juego en godot, voy a intentar tomar la idea de hacer los dialogos en hojas de calculos quizas cambiando un poco el sistema a mi conveniencia, muchas gracias
Me encanta la idea. Luego puedes hacer tu motor de juego open source para que cualquiera pueda crear su propio juego de novela visual 😊
Madre mía, te imagino haciendo un diccionario de un diccionario de un diccionario con tuplas para todos los when. Hacer una novela visual no es fácil al final. El plot twist final sería ver a Alva Majo eligiendo entre la soga o el RPG Maker para hacer el 3 en raya
buen video
esto a lo mejor me hubiera servido hace un par de semanas para una jam x3
Siempre es excelente separar las tareas, me recuerda al modelo mvvm de wpf que puedes trabajar la interfaz con xaml y en un archivo diferente el codigo con c# y para comunicar uno y otro usar enlaces.
Por cierto me encanto eso de hacer tus escenas responsivas dependiendo al aspect ratio. He desarrollado algunas web y siempre trato de que se adapten lo mejor posible a cualquier resolucion xD
Por cosas complicadas como esas, varios juegos de este estilo simplemente tienen un historial de dialogos en lugar de recrear las escenas, es mucho mas facil guardar un grupo de strings en una lista y mostrarla
Quedo epico el sistema
Ese final no lo esperaba jajaja
Alva majo el mejor
Bien guapo el sistema que te has sacado para no mezclar el script y el código para luego mezclar el script con código propio :P
Te kiero mucho alva, un beso
Y todas estas complicaciones sin tener en cuenta el árbol argumental con todas las variantes de la historia.
Al principio utilizar Excel tenía sentido, pero conforme vas añadiendo más lógica al script carece de utilidad. Te diría que te llevases esa lógica a un fichero JSON o algo similar para trabajar con bloques de información y así trabajar con listas y tipos de datos más cómodamente.
Buen video
Nada, muy bueno el video. Claramente tienes experiencia cagándola xd. Sub.
cuando superas tu limitación de lenguaje y creas el tuyo propio, I NEED MORE POOOWER
Grande Alva! Sigue con tu arte!
Nice job.
Me estás diciendo que si modifico el archivo que lee para traducirlo en codigo puedo crear mods para la novela visual???? Goty
Pues sí, aunque hay una forma simple de impedirlo. Hashear el archivo de guión y que el juego se cierre si el hash original cambia, pero no creo q alva haga eso, así que sí, seguramente podrás hacer mods y yo también je
Alva es muy listo 💥
videazo, gracias Alva
Para lo de rewind podrías aplicar un buffer hecho con un aray de uint_8. Cada vez que actualices el ID lo guardas y aumentas la posición del buffer, luego para rebobinar puedes hacer hacia atrás hasta 256 posiciones. Es limitado pero simple, con microprocesadores lo hacemos seguido
Alva Mago 🧙
AHI ESTAMOS! Friendship ended with Unity, now Godot is my best friend
Alva Majo: "Ese rollback suele ser algo instantáneo que te devuelve de golpe al estado anterior, pero me dije: Y si hago un sistema de rollback que rebobine realmente y reproduzca las animaciones del revés para que sea más suave y agradable?"
Usuarios de Ren'py: 🗿
que significa?, renpy lo tiene por defecto?
en cuanto a dialogos, elecciones, rollback, skipear texto ya leído, por si el jugador quiere regresarse para cambiar una elección y se regresa de más por ejemplo, sistema de guardado y cosas basicas pues sí, Alva tendría que seguir haciendo el su sistema de juego del tic tac toe, pero sería tan fácil de implementar como en cualquier motor, pero renpy le ahorraría muchísimo, y como lo demuestrán otras novelas visuales como DDLC se puede personalizar todo perfectamente, en vez de los menus con simple texto por defecto. Si Alva está usando godot pues por algo lo habra elegido, ya sea que conozca o no las alternativas. A nosotros solo nos queda esperar y ver como le va
falto la remera amarilla, muy bien video
Pocas veces veo novelas visuales con alguna opcion para revovinar, a mayoria o suele tener un historial de textos o el sistema de guardado para volver, me gusta bastante esa idea de revovinar
Si vas a refactorizar el código, para los Goto, si quieres volver es un caos gestionarlo así, casi sería mejor hacer una pila según avanza el diálogo de por la linea de diálogo que va ocurriendo. O una lista doblemente enlazada
El único que ha propuesto algo decente en lo que llevo leido
nuevo sub
Ja al fin entendi todo un video y es porque hace mucho intenté hacer mí propia visual novel (y todavía no me rendí haré mí fangame de danganronpa)
Ufff, esto de las novelas visual esta bastante mas complicado de lo que me imaginaba, no me sorprende la verdad xD
Por fin un video con lógica de programación.
¿Cuándo nos enseñarás el piso nuevo?
Alva majo venga la alegría descuido gogogo buscar
Alva majo con guinxu descuido gogogogo
alva te quiero
CSV, no son hojas de calculo, de hecho las iniciales vienen del inglés de Valores Separados por Comas. Como a Separarse Values. Lo que pasa que han evolucionado, sobre todo cuando se empezaron a usar con hojas de cálculo y hoy en día puedes separar por otros valores, como el salto de linea. Aunque esto realmente no importa en lo que has comentado, lo digo por tener la información lo más veraz posible. Buen video como siempre y suerte con el proyecto. P.D: Gracias por hacer referencia a mi juego del Ahorcado XD.
quizás hacer un sistema de checkpoints solucionaría una gran parte de los bugs relacionados al rollback, algo como guardar en una pila cada checkpoint y rebobinar hacia el ultimo elemento.
No se si será casualidad o que, pero aprecio que la camiseta tenga un logo del tablero del tres en raya xd
La caspa en el cabello de Alva me distrajo todo el video
Asumo que probaste complementos como 'Dialog Manager' o 'Dialogic' tienen muchas características interesantes
Esto me recuerda al sistema de dialogos de cave story, además de dialogos controla música, movimiento de npcs y otros detalles
6:28 me has matado 🤣
De todas las posibles formas de desarrollar un sistema de diálogo, creo que nunca en ningun universo paralelo lo haría así de esta forma. Pero claro, tampoco nunca en ningún universo paralelo sería yo Alva mago 😂🎉
Que pro el sistema, no? Es un planteamiento interesante. Aunque se ve demasiado complejo y además el texto de los diálogos deberías tenerlo guardado de forma independiente (para que los traductores puedan manejarlo de forma mas clara).
Deberías darle una vuelta, pero ese es el espíritu :)
después de 5 meses Alva se cambió la camiseta!!
Existe una alta probabilidad de que ya lo hayas probado, sin embargo el tema de los diálogos durante la partida lo puedas realizar con eventos personalizados, de esta manera se ejecutan cuando el evento se cumpla y no de manera lineal como con el when que planteas.
Así es un poco como funcionaba el SCUMM de LucasFilm. Grande, Alva!
Tu puede chaval
Yo solo espero que nikola y lariat aparezcan en este juego son buenos personajes, iconicos y chulos
Majorariatto verse gente
Yo, osado necio e inculto en la materia me atreveria a dudar del genial intento del gran Alva de mezclar logica y contenido. por otro lado me atreveria a sugerir un etiquetado XML o Json como gestor del contenido
Se acercan los días perros