2022-02-05 19:11:10 (edited by Ebon Sky Studios 2022-04-26 15:20:35)

Important updates to this topics original post below:
The current build of Sable has now been discontinued and is no longer in active development. Full details of why we have stopped development on this build can be found in the original post underneath this update. In this topic Paul (AKA Lemm) also announced he would be stepping down from his role in Ebon Sky Studios due to family health reasons, his announcement with full details can be found in post 251 in this topic. Following all the feedback and suggestions we received, we have however decided to continue to allow access to Sable past the 8 week expiry date. However, since the current build of Sable has been discontinued and is no longer under active development, access will be limited to purely private use only, so Projects you create cannot be shared publicly. A Full list of all the limitations and restrictions can be found on the Sable download page, it’s very important you read through these in full before downloading and using Sable to understand the full restrictions. Please be aware that we will not be updating this build of Sable, we are also not offering any technical or product support for this version of Sable, so please do not email support questions, feature requests or bug reports. The download link is below:
https://ebonskystudios.com/download-sable-demo/

This topic's original post is below:

Hello all,

We regret that we have to pass along some very bad news to all of you:
we are going to have to put the production of Sable and our first game--Crimson Eclipse--on hold.

Without going into excruciating detail, we have discovered that BGT has an inherent issue with memory management, in other words, memory leaks. This memory issue isn't as noticeable in most games created using BGT, given that they don't require large amounts of data to be saved/loaded into/out of RAM using the scripting language's built-in memory management functions. On the other hand, game projects created using Sable are not hard-coded, but are frequently reading/writing to numerous project data files. This difference in process is where BGT's memory management functions do not work properly and why we have the potential for severe memory leak issues. After some investigative tinkering with Sable’s source code our programmer  Paul was able to optimize the application a little. Unfortunately, the optimizations just weren’t enough. Since the memory issues are inherent to BGT itself and not Sable, no matter how much we optimise, they cannot ever be completely overcome.

During our team meeting on 1 February, we discussed our best course of action. After some soul-searching, we decided that we needed to suspend all operations on both Sable and Crimson Eclipse. We do not want to release a product that has the potential to crash any of your computers. If someone did that to us, we’d be pissed and want to go running for the torches and pitchforks. We decided, that no matter how painful and soul-destroying it is for us personally, we will not release any sort of commercial product written in BGT.

At the moment, we have decided to step back for a little while and catch our breath. We need to give ourselves time to recover and think things through before we decide on our next course of action. We still want to create both quality developer tools and games with those tools, but we will need to reconsider our approach. The good news is that we learned a lot over these many years that we worked on Sable and Crimson Eclipse. We know what, and what not, to do in the future and have a better understanding of how not to make a nonsense out of this. So don’t count us out of the game yet.

After some additional back-and-forth, we decided that we will release the current build of Sable but  only for a limited 8 week period, similar to what we did when we released the public beta in 2020. We appreciate this isn't a perfect solution, but we know many of you were keen to try Sable and We didn't want to deny you that opportunity. Furthermore, we are hoping that any of you that do want to play around with this proof-of-concept version of BGT Sable can pass along any suggestions that you think we ought to consider for a new version of the application. Again though, we need to emphasize that this version of Sable has those memory leak issues, so use at your own risk, also any projects created  during the release will be lost and unusable after the 8  week period. the link can be found at the bottom of the post.

We want to conclude this message by repeating our apology to all of you who have been waiting for us to put out Crimson Eclipse and/or the public release of Sable. We accept the fact that many of you will be sad, disappointed, pissed off or some combination of those emotions. We are prepared to take it on the chin, but we do hope that you will not lose your trust in us. Ebon Sky Studios exists to serve the community—that’s all of you—and without that community, we are nothing.

The Ebon Sky Studios Team:

Paul Lemm – Programmer
Justin Jones – Game Designer
Thaddeus Podtepa – Game Designer
Brian Fairbanks – Sound Designer
Kelly Baughman – Volunteer Project Manager

2022-02-05 19:14:47

Well, I believe several of us did warn you about creating programs in bgt, after all. It sucks that this had to happen, but hopefully you'll be able to code this in something more stable.

Take care, it's a desert out there.

2022-02-05 19:18:30

At least we've still got that awesome music from Crimson Eclipse LOL. While this is a definite bummer and no mistake, this actually speaks well for you guys. I won't name names here but I've seen a few devs who had problems reported regarding beta or other test versions of their products and released them as is anyway. They either didn't try to fix them or just didn't try hard enough and so the problems were still there. Needless to say, I'll still be looking forward to whatever you guys put out in the future and I'll still be hoping to actually get serious about my game project once the tools are up to your standards. Over the Christmas break I did do a sort of spoof game inspired by Liam's YouTube demonstration during the alpha period. But as disappointing as this development is I'm glad to have had the opportunity to help squash a few bugs LOL.

But wait, what's that? A transport! Saved am I! Hark, over here! Hey nonny non, please help!

2022-02-05 19:23:37

I would however, ask that projects remain accessible after the period. I don't think there would be any harm in that.

Take care, it's a desert out there.

2022-02-05 19:38:39

Yeah, this is unfortunately just a side effect of going into a project with the full knowledge that you are using an abandoned engine.

2022-02-05 19:40:29

yeah, I agree with 4. As long as you make it clear that you will be ignoring any  requests for support with the bgt version of sable I see no harm in allowing people to continue sharing projects with the faulty version of the program, or at least for the time it takes to release it in a more stable form, at which case you could use an online system to disable the bgt version. AAlso I was under the impression that you never planned to have the final version of sable programmed in bgt because of all the other problems, such as the security software flagging problem, and that you were only using bgt to get the mechanics hammered out and would then try porting it to a more mainstream language. EIther way, I'm glad that you have been transparent with us.

I like to sleep, Sleep is good,
This is how I do it: Lie on a nice warm cozy bed, and dream dreams about how to rule the world!
Follow @TheGreatAthlon5 on twitter for humorous facts and game updates!
If you like my posts, thumb me up!

2022-02-05 20:01:53

Aggreed with 4 and 6. Other than that, this sucks. I hope we'll be hearing from you.

Hail, Daughter of Hatred. Creator of Sanctuary. Hail...Lilith.

2022-02-05 20:02:24

True, he has stated several times that he always intended to port Sable to a full-fledged language at some point. But this way he might be able to add more features, even if in a second or third generation, that BGT simply wouldn't be able to handle. And this way at least the groundwork is still in place. He knows what he'll want to do. In its way this may make it easier to do it since they won't really be starting from scratch.

But wait, what's that? A transport! Saved am I! Hark, over here! Hey nonny non, please help!

2022-02-05 20:02:51

hi
bad news
but I hope you don't drop this wonderful project. and we will wait for the news in the future.
when I try to run sable I get a message.
---------------------------
Error
---------------------------
The username or product key is incorrect, please reload Sable and attempt re-entering them. if the problem persists  please contact Ebon Sky Studios
---------------------------
OK   
---------------------------

2022-02-05 20:07:49

o sorry
i m find key

2022-02-05 20:13:57

Todo, for some reason pasting it doesn't appear to work, so you might try re-entering it manually.
Needless to say this has been a fun ride and it is sad to see this go, but we are nevertheless all the more looking forward to what's in store knowing it will be of excellent quality as per usual.

2022-02-05 20:18:05

Curious how we determined it was BGT, and not your code holding onto objects somewhere which keeps them from being garbage collected, especially since you don't to my knowledge have any memory profiling tools.  I agree that BGT is bad for lots of reasons, but we have tons and tons of online games and stuff in it that work fine and I don't think the explanation you have ended at here is reasonable: it would be very hard to introduce such bugs which would depend on the size of the AngelScript heap, and less skilled coders won't understand how to reuse objects so the frequent allocation/deallocation paths should also be well enough exercised that someone would have probably hit this sometime in the last 10 years.

My Blog
Twitter: @ajhicks1992

2022-02-05 20:22:06

Agreed with posts 4 and 6.  While this is unfortunate, and I wish you well in redeveloping the engine in something more table and less likely to cause memory leaks, I think it's been plenty proven that the engine can currently be used to create very playable and fun games. To let all that go to waste after an 8-week period, particularly given the likely time it will take to develop the engine back to its current state seems to be incredibly wasteful.
Obviously, it's very understandable that you won't be giving support for what you consider an abandonware product at this point, but yeah ...let the projects exist, even if its just for people to learn the concepts of game design without being bogged down by the details of a programming language.
Just my two cents, of course.

2022-02-05 20:23:38

I agree. I'm sure whatever they produce will be of excellent quality based on what we've seen so far.

But wait, what's that? A transport! Saved am I! Hark, over here! Hey nonny non, please help!

2022-02-05 20:40:38

He did mention that Sable is writing to many more data files than the average BGT project would.

But wait, what's that? A transport! Saved am I! Hark, over here! Hey nonny non, please help!

2022-02-05 20:49:05

A quick comment on post 5: I don't think BGT was abandoned when Sable started development.

An answer to post 12: There is a memory leak with BGT's serialisation/deserialisation functions which Sable makes extensive use of.

Try out the following script:

void main()
{
dictionary d;
dictionary@ l;
for(int x=0; x<100000; x++)
{
d.set("mode"+x, random(0, 500));
}
alert("Serialise memory leak test", "Starting.");
show_game_window("Testing");
timer t;
for(int x=0; x<30; x++)
{
t.restart();
string s=serialize(d);
@l=deserialize(s);
while(t.elapsed<1000);
}
alert("Done", "Done.");
}

Check out the memory usage in task manager, and you'll see it steadily increasing.

Cheers.

2022-02-05 20:49:11

There's definitely a performance difference with hardcoded vs single data-files when it comes to bgt, so I could definitely see that becoming a problem the bigger the project.

2022-02-05 20:50:59

BGT's been abandoned for quite a few years. I think it had been long abandoned when Sable started being developed.

But wait, what's that? A transport! Saved am I! Hark, over here! Hey nonny non, please help!

2022-02-05 21:00:39

Why can't you just disable NDU in the registry?
That puts memory leaks in the non-paged pool.

Though our eyes may fail, our ears prevail!
User Karma, every little helps

2022-02-05 21:01:41

I think BGT's abandonware status was only really officially announced in 2019 (at least according to the forum). Sable development has been going since 2018, if not earlier.
Cheers.

2022-02-05 21:04:21

I just remember that Philip made it free back in either 2013 or 2014.

But wait, what's that? A transport! Saved am I! Hark, over here! Hey nonny non, please help!

2022-02-05 21:12:26

Hello. First of all, that sucks. Really wished that would have come out. Second, as someone already said, the projects should be able to be played after the eight week., And I have something else to say on that. I think the sable concept demo should be able to be used even after the eight week period is up. That way, people can just mess with it, and use it for what it was intended for. Until the new version comes out, whenever that is.

I love audio games.

2022-02-05 21:28:24

@sethgamer, I am with you on that one: the sable concept demo should be able to be used after the 8 weeks are up

my discord: gamer20#7735
my keybase, note you will need the keybase mac, linux, or windows client to access it: k:\public\theblindgamer50
if you also wish to contact me on telegram, you can do so by going to this link: http://t.me/theblindgamer50
have a nice day!

2022-02-05 21:28:47

I'm kind of ambivalent about allowing the concept demo to be used after the eight weeks. On one hand yeah it'd be kind of fun but on the other hand I'd much rather wait and see what comes our way in the future. I'd much rather play with something Paul and the other folks at Ebon Sky are really satisfied with. We can say all we want that they shouldn't have used an abandoned scripting language but the fact is that they did, and for what it is it does what it does extremely welll, especially for something not hard-coded from scratch.

But wait, what's that? A transport! Saved am I! Hark, over here! Hey nonny non, please help!

2022-02-05 21:36:22

Sethgamer wrote:

I think the sable concept demo should be able to be used even after the eight week period is up. That way, people can just mess with it, and use it for what it was intended for. Until the new version comes out, whenever that is.

That's tantamount to essentially giving it away for free though, and that's more than a bit unfair, after all the public prototypes were all gratuities and to be along for the ride in and of itself was something we all have to give it to them for. At present the thing can be used to make pretty complete games, so apart from bugs and generally being a prototype, if they were to just give this away for free with no strings attached there aren't actual shareware demo limitations to hold it back. It would in theory be possible for someone to take the prototype for what it is, warts and all, post commercial release, and that would not be good for anyone.
On the other side of the tracks, there are practical reasons why a read only mode for devs to be able to reference any work they had finished would be a useful thing to have. Think of it like being given a few free breadboards while waiting for a makerspace to open for business, and once your test supply runs out you can at least still reference the material you made and use it as a springboard for when the place officially opens. In other words, use the complete game reference that you made in the prototype to make a complete, expanded, remastered masterpiece with the remastered engine. Dry-run demo reel vs commercial studio mix.
Besides, read only mode is a pretty standard shareware practice.