Primera decisión: el lenguaje
Nota: Esto no tiene sentido si no lees primero → este post ← .
No voy a meterme con nada de muy bajo nivel si puedo evitarlo, así que necesito alguna biblioteca que se encargue de gráficos, input, tipografías, etc. y SDL es perfecta para eso.
Para el resto del motor, por un rato pensé en aprovechar este proyecto para, de paso, aprender un lenguaje nuevo como Elixir, pero es también la forma de desviarme del tema y no terminarlo.
De C/C++ me acuerdo muy poco, y además se supone que este es un proyecto divertido. Así que me quedo con lo que conozco muy bien, que es Python (y pySDL2). Y algo nuevo aprenderé si uso los nuevos async/await para manejar hilos (las animaciones)
Para Half Life 3 Python no es lo bastante rápido. Pero lo que intento hacer es un motor de juegos de aventura 2D y además SDL2 usa la aceleración por hardware, así que estará más que bien ;).
Decidida la parte del motor, ahora falta el lenguaje de scripting. No me gusta Lua, Squirrel tiene demasiadas llaves y hacer un lenguaje propio parece que es desperdiciar el tiempo, así que supongo que usaré… ¡sorpresa! Python también.
Sin embargo, no estoy seguro como conectar los dos. Podría:
a) Hacer el motor un módulo e importarlo desde los scripts;
b) Cargar e interpretar los scripts (usando el nuevo módulo import) desde el motor;
c) ?
Necesito investigar más este tema.