Skip to content

Enu 0.1.99

Compare
Choose a tag to compare
@dsrw dsrw released this 02 Jun 14:11
· 270 commits to main since this release

Enu 0.1.99 has been released! This is the final release before 0.2! Maybe!

I've also released a new demo video that uses Enu to create Inky: Isolation, a simple survival game that stars Inky, the blue ghost from Pac-Man. https://youtu.be/9e9sLsmsu_o

Inky: Isolation

0.1.99 is a big release, with a bunch of features that I wasn't planning to implement until after 0.2 that generally make it a better teaching tool. These include:

  • Signs. Text that can be shown in world, or displayed in the UI. These are written in a subset of markdown and support headers, lists, bold/italic text, links and inline code blocks. Notably absent are tables and multiple header sizes, but these will be added when I need them. Additionally, links can include nim:// urls, which take code that gets evaluated in the context of the script that created the sign. This + strformat makes it possible to create rudimentary dynamic UIs that can be used for things like menus.

  • Tutorials. It's now possible to set lock = true and visible = false in a script which will make the object non selectable/editable/visible by default (this can be overridden by enabling god_mode in the enu config file). Combined with signs above, it's now possible to create tutorials in Enu that can respond to player actions, hide/show objects, and offer information to the player, and by setting lock = true we can prevent the player from breaking anything by mistake. When enu is loaded for the first time a tutorial will be shown that explains the basics of the UI, and has the player code a robot to navigate a very simple maze. For 0.2 I plan to add tutorials around variables, loop, and conditionals, and post 0.2 there will be a tutorial that guides the player through the creation of the Inky: Isolation game. If you already have an Enu world on the go the tutorial won't be loaded, but you can see it by removing the world field from config.json, or setting its value to tutorial-1.

  • Lots of new commands and object properties. The docs have fallen out of date unfortunately, but I'll make sure they're current for 0.2.

Coding Enu

Still to do for 0.2:

  • Lots of bug fixes.

  • Update the docs.

  • Better testing of the Linux and Windows builds.

  • Automated builds.

  • An easy way to load worlds outside of the Enu data directory, to allow projects to be downloaded from Github.

  • An arrow that shows where the current draw position is, and which way forward will go.

  • Make the draw position the center rotation point for an object, allowing the rotation point to be changed. Right now it will always rotate around the first block you drop.

And post 0.2:

  • Move script execution off the main thread.

  • An inventory.

  • More object types.

  • Pathfinding/navigation.

  • Custom block colors and textures.

And post-post 0.2:

  • Multiplayer

Please report any bugs. I'm going to try to get some kind of forum up soon, but for now email [email protected] if you have questions. Thanks!