Godot #HO | Información General

AikonCWD

#960 Yo he estado tirando de chatgpt para muchas cosas con Godot y 0 problemas. Para refactorizar mi spagetti-code va de lujo.

1
Ridote

#960 pero si te gusta unity y te va bien no lo cambies

Yerboth

Hostia que herejes, ni me lo había planteado, esta noche lo mismo le pido algo que tengo que mejorar la IA de los enemigos y me da una pereza terrible xD

1
Jastro

Yo ando tocando godot para VR y debo reconocer que mola

Sawi

Yo acabo de empezar a intentar montar una moto con el vehiclebody... Y tengo entretenimiento para rato xD

AikonCWD

Yo recientemente he terminado una jam de una semanita donde he podido implementar un sistema de multiplayer/cooperación asíncrono en Godot. Ha sido divertidísimo y al parecer a la gente le está gustando el jueguito.

Y volviendo al tema de chatgpt; le pedí literalmente que me diseñara la base de datos con solo indicarle lo que quería hacer con el juego.

4
H

No consigo frenar un torque poco a poco de forma controlada. Frena lentísima la nave sobre los tres ejes. Lo que hago es aplicar el torque contrario, pero por alguna razón tarda eones en frenar y no hay forma de acelerar la frenada :( La solución de ChatGPT hace lo mismo que la mía...

1 respuesta
kidandcat

#967 Suena a que estés aplicando el delta en una parte si y no en la otra

2 respuestas
H

#968 Ni lo estoy usando -_- Mete valores a cada frame. A ver si luego os pongo el código.

H

#968


Y el mismo resultado con todo:

(Alrededor del 00:30 empieza a frenar)

:...)

1 respuesta
kidandcat

#970 Porque estas usando current_steps / total_steps, este numero va a ser cada vez mas pequeño, al lerp como parámetro le tienes que pasar una velocidad constante. Si le pasas un numero cada vez mas pequeño, irá cada vez mas lento hasta el infinito (se para).

Tu interpolation_factor tiene que tener un valor mínimo, si quieres que vaya de más rápido a mas lento, juega con ese número, pero que siempre tenga un valor mínimo (0.1 o algo asi), no lo dejes sin capar porque si te llega a <0.01, eso no se va a mover en la vida.

1
ro_B0T_nik

Buenas. Godot me hace flickering, y mirando por internet he visto a mas gente que les pasa lo mismo, por lo visto el motor tiene un problema con las tasas de refresco variable (VRR). Se arregla "facil" si desactivo g-sync para programas ejecutadoss en modo ventana y lo dejo solo para pantalla completa o si limito los hz del monitor de trabajo a 60, pero preferiria no hacerlo.... Se os ocurre alguna alternativa?

Habia pensado en probar a limitar los FPS a los que corre Godot a 60, me suena que con el software de AMD se podia hacer pero no se si el de Nvidia lo permite tambien.

1 respuesta
kidandcat

#972 Godot esta hecho en godot, osea que debería poderse limitar, lo que no se es si lo han expuesto con alguna variable de entorno o configuración

Edit: a lo mejor puedes hacer un Engine.set_target_fps(60) en un script tool: https://docs.godotengine.org/en/stable/tutorials/plugins/running_code_in_the_editor.html

1
13 días después
ercabesa

me recomendáis algún libro? de programación y tal voy bien, y me gustaría tener una guía a la que poder acudir fácilmente, que cursos y tal está bien pero prefiero ese formato, he estado viendo vídeos, la documentación oficial

llevo poco pero me está gustando como hobbie

AikonCWD

@Ridote o @kidandcat , creo que alguno de vosotros sabía configurar el editor de Godot para que sea lo más parecido a "tipado estatico/estricto"? Quiero empezar a programar mis cosas con un mínimo de estructura y siguiendo patrones de diseño, y si consigo que el editor me fuerce el tipado me ayudará en algo.

Como se hace? gracias

2 respuestas
kidandcat

#975 https://allenwp.com/blog/2023/10/03/how-to-enforce-static-typing-in-gdscript/

2 respuestas
Ridote

#975 #976 yo soy muy nazi del tipado y de los warnings como errores pero ponerlo todo todo a tope es absurdo. Yo si fuera tú pondría todo a tope y luego iría quitando conforme encuentres warnings que no tengan mucho sentido y dejarlo un poco como a ti te guste, imo

1 respuesta
AikonCWD

#976 this

#977 Sí, quizás no trataré los warnings como errores, pero quiero tenerlos presentes. Quiero aplicar OOP puro, herencia, composición, etc... y cuantas más cosas tenga tipadas mejor me autocompleta el código.

2 respuestas
Ridote

#978 yo es que soy muy nazi para esas cosas, pero aún así recomiendo tener los warnings limpios y forzar warnings como errores es la mejor manera de o lo tienes limpio o lo tienes limpio

AikonCWD

Yeah, funciona de lujo.

Veo que no están 100% implementados los métodos típicos de OOP en Godot (al menos en Godot 3.5). No he visto que se puedan declarar interfaces y por tanto la composición como tal tampoco es posible. Tampoco puedo llamar a un constructor con parámetros si instancio mi clase directamente desde el arbol de nodos (desde codigo sí funciona). El resto de funcionalidades: herencia, polimorfismo, pasar referencia a funciones y acceder a la superclase he visto que funciona y lo he sabido implementar en Godot.

edit: Method Overload y Operator Overload tampoco se puede en Godot, pero eso no lo voy a usar de todas maneras, así que pasando.

Con eso me sobro y me basto. Para el patrón de diseño me decantaré por un mix de singletons (autoloads) + observer (señales).

Todo esto viene porque quiero crearme una plantilla bien hecha para usar en Roguelikes tradicionales. Y quiero crearme una buena estructura que me sirva como base para cualquier futuro juego. A ver hasta donde llego!

2 respuestas
Jastro

#978 ya sabeis lo que dicen, en los juegos indie es mejor hacerlo todo a lo loco y sacar cosas que ponerte a hacer estructuras y no acabarlo nunca, si no, ahi esta balatro como prueba:

1 2 respuestas
Ridote

#980 hace mil que no toco gdscript, pero todo eso lo tienes en csharp

kidandcat

#980 Si quieres hacer composición, puedes:
https://heartgamedev.substack.com/p/easy-composition-in-godot-4
https://www.gdquest.com/tutorial/godot/design-patterns/entity-component-pattern/

#981 Que va, yo no he oido eso en mi vida, yo siempre he escuchado "en los juegos indies tienes que usar los más modernos patrones de desarrollo escalable y preoptimizar todo para que puedas pegar el pelotazo de tu vida y luego no te venga nadie llorando"

2 respuestas
Ridote

#983 #981 nunca simplifiques, siempre haz las cosas pensando en que el día de mañana vas a añadir 20000 funcionalidades. Aunque sea un juego de jam de dos días o un prototipo pequeño.

Siempre a lo grande. Caballo grande, ande o no ande.

1 2 respuestas
AikonCWD

#984 Lo veo, pero yo quitaría lo de la jam. Yo si en una jam me tengo que detener a vigilar el código, el diseño utilizado, etc... termino por no entregar nada xD.

#983 Oh! que curioso. No hay interfaces como tal pero hacen composición en godot 4. Me lo leeré con cuidado, gracias :)

1 respuesta
Ridote
#985AikonCWD:

#984 Lo veo, pero yo quitaría lo de la jam. Yo si en una jam me tengo que detener a vigilar el código, el diseño utilizado, etc... termino por no entregar nada xD.

nono cabrón que era coña jaja

1 respuesta
AikonCWD

#986 Yo ahora estoy en ese punto de querer añadir nuevas funcionalidades y entidades a un juego que empezó en una jam de 7 días (te puedes imaginar la shit de código que escribí: sin documentar nada, mal estructurado, etc....) y ahora estoy sufriendo cada vez que quiero añadir algo nuevo sobre todo el mondongo que hice XD

2 respuestas
kidandcat

#987 Los juegos de jam nacen en la jam y mueren en la jam

1 1 respuesta
Jastro

#984 y por eso tu no tienes juegos acabados (yo tampoco) pero Aikon sep

2 respuestas
Ridote

#987 #988 #989 ccccccceleeeeeeesssssteeeee

Reestructura el juego y listo. Y si tienes que hacer cambios gordos y romper cosas no pasa nada