Lua support

All discussion about the Commander Genius project (a Keen interpreter + more).
Post Reply
gerstrong
Vorticon Elite
Posts: 1212
Joined: Wed Dec 31, 2008 14:44
Location: Frankfurt - Germany
Contact:

Lua support

Post by gerstrong »

Working on the version of CG after 2.4.5 and next mayor feature is Lua.

Why Lua? Honestly I got sick of Python, especially C bindings and distribution is not fun, so yeah Lua. Just ported Keen9 from the Python script to Lua:

https://www.youtube.com/watch?v=u7sI6MPjLcE

It's not perfect, but quite playable so far.

Yes, I will remove Python in that process. Everything Mod related created with Python will be ported to Lua. We haven't that many mods in those states anyways.

And why a scripting language? Because I want you to give the power to create awesome modern mods of Commander Keen. So let me know what you have in mind... :-)
Having fun developing stuff...

User avatar
Gagster
Vortininja
Posts: 43
Joined: Mon Oct 09, 2017 21:57

Re: Lua support

Post by Gagster »

Does that mean a potential for mods that can have all the enemy types from the Galaxy Engine games into one single game/mod, and maybe in the long run a guide for non-coders on how to create custom enemy types, and maybe even create bosses (not that common in the Keen games)?

This sounds very interesting; my issue with current Keen mods are that you can see which Keen game is used as a basis, because even with custom art on all assets, judging by the enemy behavior it's easy to see that this mod is made on top of Keen 4, 5 or 6 and so on.

It would have been cool if this also gave the possibility to create customized win conditions, like saving the 8 wizards in Keen 4 for completing the game, the power fuse things that activates the elevator in Keen 5 and the required items in Keen 6 to progress the world map, and even more customized progression/win conditions.

If all of this could be possible with Lua support, in theory true spiritual successors to the Commander Keen games could be made with unique mechanisms that differentiate the mods from the previous games in the series.

gerstrong
Vorticon Elite
Posts: 1212
Joined: Wed Dec 31, 2008 14:44
Location: Frankfurt - Germany
Contact:

Re: Lua support

Post by gerstrong »

Gagster wrote:
Tue Jun 30, 2020 18:45
Does that mean a potential for mods that can have all the enemy types from the Galaxy Engine games into one single game/mod, and maybe in the long run a guide for non-coders on how to create custom enemy types, and maybe even create bosses (not that common in the Keen games)?
Oh yes, certainly the original CG AIs are all there and can be used by one engine. CG doesn't require that much of the orignal executable anymore. What really is missing can be done using some simple Lua scripts.
Gagster wrote:
Tue Jun 30, 2020 18:45
This sounds very interesting; my issue with current Keen mods are that you can see which Keen game is used as a basis, because even with custom art on all assets, judging by the enemy behavior it's easy to see that this mod is made on top of Keen 4, 5 or 6 and so on.
And with Lua you can manipulate all that.
Gagster wrote:
Tue Jun 30, 2020 18:45
It would have been cool if this also gave the possibility to create customized win conditions, like saving the 8 wizards in Keen 4 for completing the game, the power fuse things that activates the elevator in Keen 5 and the required items in Keen 6 to progress the world map, and even more customized progression/win conditions.


It can be done and this time more energy on the interface will be invested.
Gagster wrote:
Tue Jun 30, 2020 18:45
If all of this could be possible with Lua support, in theory true spiritual successors to the Commander Keen games could be made with unique mechanisms that differentiate the mods from the previous games in the series.
Well, actually I tried that with Python3 and extended some Mods like Keen1 Galaxy remake and Keen 9, but I discovered later on, that Python has many issues regarding its distribution. With Lua this is the second try to make all what you imagine possible. The distribution of an embedded Lua VM will be much easier.

Because of the mentioned Problem with Python I am going to replace it by Lua completely. It didn't get far anyways.
Having fun developing stuff...

Post Reply