Releases: dsrw/enu
Enu 0.2.2
After a somewhat disastrous 0.2.1 release with a level corruption bug, 0.2.2 is mostly about safety. Segfaults should be handled properly and converted to NilAccessDefect
on all platforms, and levels get automatically backed up every 15 minutes. Since the 0.2.1 release was pulled, here's the list of updates since 0.2:
- Added docs for some missing keybindings.
- VM max loop iterations is now
int.high
. Was previously10_000_000
. - Fixed an issue opening and running code for instances.
draw_position
/draw_position=
for getting/setting the draw position in Builds.- Units with errors flash red. Console errors are now clickable, and will open the appropriate unit.
- Help menu on macOS.
- Better exception handling. Defects are now logged. Unhandled exceptions on the main thread will be logged and ignored. Unhandled exceptions on the worker thread will save, then reload.
- Automatic backups. The most recent 20 backups for each level will be kept. Backups are in the
{world_name}/backups
directory. - Keep 20 log files rather than 5.
- Now only left Alt will apply code changes and navigate with the code or doc panes open, allowing right Alt to be used for extended character input.
- Performance and stability improvements.
Enu 0.2
Enu 0.2 is finally here! This is the biggest update to Enu by far, and adds a host of new features like multiplayer, worlds containing multiple levels, programmable level switching, level templates, in-world menus, and more.
Although there are still many missing features and rough edges, I think this release captures what Enu is all about, and should be usable by most people. Try it out! Make things! Tell your friends!
Check out the new Enu web site at https://ē.nu! Or, for folks who prefer boring urls without impossible to type characters, http://getenu.com! You can also join us on Discord.
The Windows version isn't signed, and you'll get a scary "Windows protected your PC" warning when you launch the installer. You'll need to press "Run anyway" which, depending on your windows version, may require clicking "More info" first. Enu will be on Steam soon(ish), which won't have this issue.
Thanks for checking out Enu. Have fun!
Enu 0.1.99
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
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
andvisible = false
in a script which will make the object non selectable/editable/visible by default (this can be overridden by enablinggod_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 settinglock = 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 theInky: 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 theworld
field fromconfig.json
, or setting its value totutorial-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.
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 dsrw@me.com if you have questions. Thanks!
Enu 0.1.98
Since 0.1.97:
- Better lighting and colors.
- Better climbing. Don't try to climb > 1 block.
- Climb up onto platforms if you slightly miss a jump.
- Run across 1 block gaps Mario style.
- Better handling of child edits.
- Garbage collect manually deleted blocks if a script doesn't use them.
Note: No Linux build this time. My Ubuntu machine is at the shop. Linux will be back for 0.1.99 and 0.2.
Full Changelog: v0.1.97...v0.1.98
Enu 0.1.97
Enu 0.1.97 is the first preview of Enu 0.2, which will be released in a few weeks. Significant new features since 0.1.2:
- A prototype based object system for instancing new units.
- Action Loops, simple state machines for managing unit behavior.
- API simplifications and improvements.
- A new somewhat forward compatible level format. Levels created in 0.1.97 will open in future versions, but may require edits to account for API and feature changes.
- Extensive internal changes. There's still some cruft, but I'm generally quite happy with the architecture.
- Expanded docs.
- Many old bugs fixed. Many new bugs created.
- Player can now stand on moving platforms, and will automatically climb 1 block elevations.
- Enu is a little bit smarter about merging builds together. This still needs work.
- Brown blocks! Added specifically for building potatoes.
- Native arm support under macos.
- Lots of other things that I'm not thinking of.
Still required for 0.2: https://github.com/dsrw/enu/tree/ce7d57109c8a24dd942ab9e74a29bed79ef9d475#todo-for-02
None of the builds are signed. The mac build will be signed from 0.2, and the windows build from 0.3.
Special thanks to @moigagoo for encouragement and support, and for sticking by the project after a full year without a release. Thank you!
Full Changelog: v0.1.2...v0.1.97
Enu 0.1.2
Since 0.1.1:
- Fixed a showstopper regression that made it impossible to drop blocks or objects on the ground.
Since 0.1.0:
- Enu will no longer crash if it encounters a script error during startup.
- It is no longer possible to fly through the ground.
- Falling off the world will snap you back to the starting location.
Enu 0.1
Enu's first real release. There are still crash-bugs, and a huge number of missing features, but I think things will mostly work, most of the time, for most people.
Notes:
- The Linux build has been tested, but not very well. I'll try my best to get any reported issue sorted out quickly.
- Only the Mac version is signed. Windows will complain loudly, but will run with enough convincing.
- All builds are x64.
- Worlds created in 0.1 probably won't work in future versions.
- I'll be sending my Mac in for service very soon, so it may be a few weeks before I can fix Mac issues.
- The code is a mess. 0.2 will mostly focus on refactoring.
- In some situations, in game code can take down the app. This will be fixed.
- There's a limit to how many different voxel objects can be created. I can't remember what the limit is, and I'm not sure what happens when you hit it. Consider this a challenge!
Enu 0.0.10
Enu 0.1 prerelease 2
- Asset fixes.
- Don't create a vm for scripts that haven't been changed.
Enu v0.0.9
Prerelease of Enu 0.1. Expect bugs.