Skip to content

Releases: bryanedds/Nu

Alpha Release of Nu's Scripting Language, NuScript!

18 Jun 22:49
Compare
Choose a tag to compare

So this was a long time coming.

I've finally got an initial release of the scripting language for the engine up and running. However, this is an alpha release of this major feature, and might still have some issues. Also, the scripting language is dog slow. There are some remaining optimizations left to be done, but even when I accomplish them, the language will remain very slow until I get the required 1000 free man-hours to write a compiler for it (don't hold your breath).

Over the next couple of weeks, optimization and testing will continue with the new scripting language. But I figured I'd get this release out in case anyone wants to help me exercise the scripting language itself.

Lastly, there are some general optimizations in the game engine that occurred, but not much else.

Cheers, and let me know if you have any problems!

Converted solution to Visual Studio 2017 / F# 4.1.

10 May 01:25
Compare
Choose a tag to compare

There are still some F# features that are half-baked in 2017, but I decided to go ahead and merge the 2017 branch to master so we can all benefit from the performance improvements that were made in the conversion process.

This release also includes a critical fix for GC issues caused by misuse of the UMap data type.

Important Fix - Fixed subtle yet pervasive memory leak in core data structures.

01 Apr 18:08
Compare
Choose a tag to compare

Fixed memory leaks in TList, TSet, and TMap.

Also reduced garbage creation generally.

Other than that, nothing terribly interesting this release.

Important Fix - Fixed serious bug where all effects were sharing the same history.

31 Mar 03:55
Compare
Choose a tag to compare

This came about by me optimizing Effects with an imperative data without considering some accidental sharing taking place.

Imperative programming - fast but dangerous!

Implemented update and tryUpdate functions in Amsl.

26 Mar 23:21
Compare
Choose a tag to compare

Although nuscript is not yet mature in Nu, I'm shipping this release due to some important changes in the Prime library which Nu inherits. The only thing that changes in the Nu API is in the niche reflection functions that now take property types before property values instead of values before types. It's unlikely anyone will actually be exercising the API that has changed, however.

Moved scripting language to Prime, more scripting language features, some engine optimizations.

13 Mar 23:57
Compare
Choose a tag to compare

This release offers a more complete scripting language for Nu, along with important fixes, but the scripting language is still not complete enough to be considered shipped.

However, this release has some important low-level optimizations, especially wrt to the hash map / set algorithms.

The breaking change for this release is that the Relation types now uses the ? character for a relative slot rather than the . character. Also, the . character must now be in string quotes with describing data such as file names.

Other than this important plumbing work, not really any new shipped features for the engine.

Preview Release of Scripting Language + Many Fixes.

16 Feb 05:13
Compare
Choose a tag to compare

There have been a lot of fixes since the last release.

However, I've also gotten the scripting language into a preview-able state!

Unfortunately, there's still probably another 1000 lines of code to write before the scripting language can do nearly everything F# code can, so it's not yet officially released.

Final performance improvements.

14 Jan 01:14
Compare
Choose a tag to compare

This release yields a couple of micro-optimizations that pay off in a big way with a lot of imperative entities.

No actual interface changes as it's all under the hood!

Performance enhancements in the event system.

12 Jan 17:10
Compare
Choose a tag to compare

I finally figured out how to enhance the performance of events in a way that I've been thinking about.

Added to Prime are some functions that enable these performance optimization in the event system, which Nu uses automatically. This should increase the amount of events the engine can handle significantly.

Also, I fixed undo / redo crash bug for loading layers in Gaia.

Massive performance improvements with imperative programming!

12 Jan 04:44
Compare
Choose a tag to compare

Well well well,

Some may remember this issue, lamenting a limit of 5,000 active on-screen entities - #167

But thanks to some optimizations with imperative programming we can now get up to 25,000!

This is achieved by allowing users to tag their entity dispatchers with the Imperative interface. The trade-off is that these 'imperative' entities don't work with the undo / redo system in Gaia.

This breaks through a significant performance barrier, and enables Nu to continue to pursue its goal of proving out functional programming for AAA games.

Cheers!