They're alive, but not currently working on it. That said, the program does work pretty well in the current version.
Reality.Stop()
Creator of
Recent community posts
Good question!
And while (like a lot of open source) at some level it starts as simply a "why not?" mixed with a bit of personal interest, at some point there needs to be more to justify continued personal investment. So, I hope to give you a deeper answer, so this will be long because I think it deserves a longer answer. I'm not trying to attack your position, I think this is a question that needs to be answered fully.
I know my initial forays into this approach were simply seeing if it was possible and largely personal as I've used C# for 19 years, and over 15 of that was professionally. So that initial motivation is probably the same as that behind hxdefold and TS-Defold: a desire for a static-typed language compatibility for Defold that the author is more comfortable with. There's nothing wrong with lua! The beauty of lua and other dynamic languages is the freedom it offers without requiring really anything of the user. It's entirely possible to program a game in Defold and never really understand metatables, perhaps beyond some rote copy-paste for modules. Literally a beginner can learn everything that they need in hours to days (code-wise) and I think that cannot be stated enough.
It's just over the years I've come to value what a static-typed language brings as the project size grows. At some point, being able to track where variables are used, refactor and rename variables, group things logically, and shift as many errors to compile-time rather than having to discover the exceptions at runtime becomes more valuable to me personally. Maybe my brain just works differently, but I'm not alone in this.
And that's where we get to the more meaty stuff. My initial look to even see if this was possible was prompted by a discussion on GameFromScratch's discord, in which a number of users were discussing hobbyists and indies abandoning Unity in favor of other engines following several questionable actions on Unity's part this summer. Defold was mentioned as a possible alternative, but most users agreed that if anyone left Unity they'd probably go to Godot, given its similarities, large userbase, and support for C# (which Unity also uses). Several users chimed in that Defold's use of lua was the reason they weren't using it and had moved to other engines. Does this mean lua is bad? No, absolutely not, but it did make me wonder if C# was available, would they have stayed?
Defold obviously is a different class of engine from Unity, but how many other users bounced off Defold after looking at it and thinking it wasn't a serious option? Just like ts-defold offers a hook for users coming from javascript engines, I hope C# being offered is a hook for Unity/Godot developers. Even if it is just to give them a foothold of comfortableness to learn the lua side. To further cater to those users, DefoldSharp also has an OOP API that is being added in. You absolutely can use the regular Defold API if you wish, which should help when converting tutorials, but you don't have to. You can use more natural C# as well.
There's definitely some interest. I've had numerous people contact me to let me know they're interested, and the Defold developers have taken every opportunity to cheer me on and assist with any questions I have. Seriously, I can't thank them enough for their encouragement. Which has been quite refreshing, after reading Godot's primary development team ridicule and condescend C# users, despite them being 20% of their users.
Lastly, would something like this be better if it were directly loaded C#? Yes and no. On the one hand, there would be more direct control of performance, a better debugging experience, and so on. On the other hand, it would be immediately limited by runtimes and platform support. Right now, DefoldSharp doesn't have that issue, because it is NOT running C# and .NET, and ultimately adds zero dependencies and can integrate with other Defold extensions. It compiles down to the same API used by straight lua code. The extra OOP API I'm adding is just sugar.
And you kinda hit the nail on the head. This is a bit of a niche solution that a small subset of users might prefer. I don't want to tie up the main development team for months adding in a bridge and the runtimes, and working out the platform integrations, for something that at this point we frankly don't know will even be used much. At the end of the day, I think it's a perfect fit that this be created on the side as a community project. If there's sudden usage and overwhelming support, then that justifies the Defold development team effort and official support. But until then, their efforts are better focused on the engine and what it can do.
Wait, I thought you knew C# and were pushing for it? :-D
The big showstopper at the moment is: Implement Defold script properties · Issue #1 · RealityStop/DefoldSharp (github.com)
I had added properties, and they showed up in the editor, but it was only when I was monkeying with the War Battles tutorial that I realized that it was only working by chance. Due to implementation reasons, any changes from the editor or animations weren't actually making it to the running instance. (In other words, the property was created, and integrated with the editor just fine, but changes to it didn't make it back to the instance).
That's the big thing I know I need to get fixed before I can push farther.
I know! I can't wait to add that stuff! I just don't have a good setup for the sound yet, and I needed all the time I could get for the mechanics.
The Build button is not actually a bug, that's the pathetic "you won" placeholder. The plan was to have to get enough minerals and cash to build the different stages and get to see the rocket being built in the background, but that never happened, so hitting it once "wins".
I'll be uploading some more builds as I get that extra stuff in there!
This game was intended to convey the feeling of trying to build an escape vessel before the moon could strike the Earth, and featured a transforming gameboard and an upgrade system. Unfortunately, time constraints caused the unifying elements to never quite make it in in time, but some of the transforming aspects remain. The entire gameboard is not available at the start of the game, though the exact key I'll leave for you to discover.
However, when you DO get to the asteroid, you may need to use the nudge controls to get the ball farther along the ramps, as the intended low-gravity, flipperless system never quite made it in in time.
Finally, since the game isn't complete, you'll have to consider it complete once the Build target lights up and you get the ball into the pocket (The game simply resets, at this time.)
Thanks! Sorry about the black pickups. I needed something that would show up on the background, so that was my "in-progress" look for them. I intended to revisit it later on, but never had the opportunity. To make up for that, I tried to introduce them early (and force you to hit them), so players would figure it out :-D
It's "Show don't tell," right? Right? ;-D
A less eye-bleeding view of the shot logic for the shooters:
https://drive.google.com/open?id=1xKv8ibnfvoArS-1WbDXkV94GIpbjCMHd
The colors in this do NOT render well to the 256 colors of the .gif format (especially at the 3MB cap of itch.io!). Look at the screenshots for what it actually looks like, the .gif is just for proof that Bolt is doing the work.
-Edit- Okay, changed the proof gif to a better gif of the bubble spawn code, which is easily verifiable that it is in-sync with the gameplay actions. See the gifs in the comments for more interesting gifs.
Ahh, so you did end up going with élan! Yaaay!
Knowing absolutely nothing about your gameplay, I'm liking the idea of the only light being something that you sometimes have, and sometimes don't. Krall posits throwing your light source, and if you haven't considered you might want to. Even if it isn't your weapon, tossing away your ability to see around yourself enhances immersion :-D
Can you flash some text like "Stall" when the engine kicks out, just to provide an extra clue for dense players like me? I figured that was it, so I tried nosing the plane down and accelerating with the expected, suicidal, results. In retrospect, I think I was trying to give the plane a longer time on the ground to build up speed, forcing me into a steep ascent at the end and trying to immediately recover.
Ah! Filenames are case-insensitive on Windows. I corrected the filename case for linux and pushed a linux channel build. It should be identical to the Windows:2 build, except with file cases corrected for linux based OS's.
The original Windows:2 build still exists, as that was what was officially submitted for the Jam. Not sure what the rules are there.