In Development: Dusk 1.0

Hi @Caleb P

Just read info from blog, please count on me!

Hey all; this is just a quick update to let everyone know how testing is going. I sent the engine out to quite a few people, and they’ve been testing it for almost two weeks. There have been no real bugs yet; most of the issues people have had have been with transferring from previous versions to 1.0.

Textual documentation is still coming, but it may not be complete by the engine’s public release. I’ve been doing a serious code focus on my personal metroidvania and have made incredible progress in it, but that means other (icky) stuff like Dusk textual documentation hasn’t been developing quite as well (read: code is fun but docs are not). My video tutorial series is also in the works, though, and, though I don’t have a very good tutorial voice (There’s nothing like listening to a recording of yourself for building low self-esteem. Until I started this tutorial series, I didn’t even know I had a slight lisp or that I sound like I’m perpetually pursing my lips when I talk.), the series should be very helpful for beginning Dusk users.

  • Caleb

Wow, excellent news Caleb!!!

If you need any help to test or whatever, please count on me!

Please keep up your amazing job.

Best regards,

Erich.

Awesome Caleb!

I’m planning on using Dusk for a game I’m working on in my spare time.

Can’t wait to see what you have in store!

Sounds great, cant wait for this!

Since you ask, I would love for the support of isometric maps!

Cool stuffs, I have opened some feature requests on github.

https://github.com/GymbylCoding/Dusk-Engine/issues

PS: I am currently prototyping a few games with corona sdk and dusk :slight_smile:

We struggled a little bit with the object culling when we have animated tiles for example. So it would be great to have a good access to tile animations and the things happening to the sprites when they move outside of the screen and re-enter the screen. Normally it would make sense animations continue playing outside the visible screen area like in a real world.

What really would help is a good documentation with all possible things you can do in dusk :wink:

Tile rotation, just like in Tiled.

But I guess you already have that on the list for 1.0…


BTW in the FEATURES.md file you can read this:

Dusk Engine Feature List

- Flipped and rotated tiles

Even though rotated tiles are not currently supported

@runewinse:

Definitely on the list. Dusk has been through a number of iterations (some people here may even remember the two-person collaboration named CoronaTiled!), and in some of them rotated tiles were supported. Evidently they were accidentally left on the feature list. Sorry about that!

@Everyone Else:

I will be leaving for China tomorrow and will have very little (if any at all) forum and email access until I return in April. I won’t be able to answer any questions during that time, but Dusk will continue to be developed. Please bear with me here; it’s been pretty crazy lately. Thanks so much to everyone for your support!

  • Caleb

Caleb, do you have even the faintest idea about when Dusk 1.0 will be out?

Likely soon after I return from China, which would place it around the 10th of April or so. In the meantime, the current version of Dusk is very stable and has served many users well, so you can continue using it for now.

  • Caleb

Have a great time in China!

Some ideas for dusk:

  • It would be great to get some features regarding the “wrapping” of layers (maps). Like for example to do an endless runner, where the map is always repeated… BUT maybe with some input on the parts which are repeated, so it is not always the same returning sequence.

  • An we are using a lot of painted backgrounds in our game. We putting them in a background layer in TILED. And then using the parallax settings to move it with a foreground layer which is containing the tiles (32x32px). It would be great to have some “wrap” function for the background, so it isn’t “cut off” when moving to far. Right now we are fixing this in the code, but it would be great to have something in TILED to control how often a filled layer (with a big Background image) is repeated or something like that.

  • Some influence on the start frames of animated tiles would be great… like for example: you have two different sprite animations (animated tiles) and they should be in sync. Right now only each of them stays in sync with the same tile animations but not with a different one. This makes it impossible to create sprite animations which are in sync and span a bigger area than one tile.

  • Easy to build “Fog of war” tiles. This also needs Tiles (animated) which can “remember” their frame index when beeing culled, so when re-entering the screen they have the status as they left the screen.

  • Destroyable Tiles (sprites?). Like for example in “Shovel Knight”… Tiles which can be used to block the way, but can be destroyed. It can be done with objects, but having Tiles instead could be easier with map construction and physics. It would be nice to have something like this: player can hit a tile, then it gets damaged and with more hits more damaged, then finally it crumbles and is destroyed and not in the collision detection of this layers tiles anymore. AND this state is being remembered when the destroyed tile has left the screen is culled and re-enters the screen.

  • And of course ISO Tiles support :wink:

Thank you Caleb!

A warm welcome from a user based in China :slight_smile:

Thanks for fixing current 0.x build for my specific issue!

Hello, all! I’ll keep things short. You probably won’t believe it, but there’s a public version of Dusk 1.0 up on GitHub right now.

Full docs aren’t here yet, and the video tutorials aren’t complete by any means yet, but you’re welcome to get it and try it out. I’ve published it because I’ve kind of reached a plateau with 1.0’s development and my perfectionism (it’s gotta be completely perfect!) and I’m afraid 1.0 will never actually be published if I don’t publish it now.

The plugin format is coming soon; I’ve been in contact with Corona and it’s in the workings, I believe.

  • Caleb

For those that are less familiar with GitHub, here is a direct link to the 1.0 branch of Dusk:

https://github.com/GymbylCoding/Dusk-Engine/tree/public-1.0

Enjoy everyone! And thank you Caleb!

Pardon me; I completely forgot to add that. Thanks for the link @jerejigga!

  • Caleb

Hi guys,

I’ve decided to try the Dusk Engine for one of my new projects. However, I can’t find any documentation or tutorials for it.

I managed to load a map from Tiled but that’s all. I have no idea how to call the other functionalities.

Do you guys have any idea if the Dusk engine will soon be added as a Corona plugin and whether there will be any documentation for it?

Thanks in advance,

Happy coding!

Dusk 1.0 will eventually be released as a Corona plugin with full documentation, guides, and even a video tutorial series that I’m plugging away on. Right now, you can find what docs there are at http://rawgit.com/GymbylCoding/Dusk-Engine/master/docs/.

  • Caleb

Hi everyone - I’m back! I had a great time in China and managed to do quite a bit of coding on Dusk 1.0.

First off, I have some fairly big news. When 1.0’s release date arrives, Dusk will become a pure-Lua Corona plugin. I have with CoronaLabs’ Brent been communicating about this [edit: sorry for the grammar there, still adjusting from China], and I think it’ll be a positive move for Dusk. It’ll also solve a big issue Dusk has had since its creation date: documentation. Dusk’s documentation will be hosted on CoronaLabs’ plugin documentation page, and will use Corona’s documentation platform. Awesome? Definitely.

Now, before everyone starts worrying: Dusk will remain open-source and will stay on GitHub. The code will be publicly available and about the only thing that’ll change will be how you include it in your project.

Secondly, something a bit unfortunate. Well, unfortunate or fortunate, depending on how you look at it. This new development and slightly less-than-expected time for programming while in China will push Dusk’s release date back a bit. In addition, I’d really like to get some beta testing in before releasing it. If you’d like to be a beta tester, let me know via PM or on this topic and I’ll get you the engine when it’s ready for testers. With an estimated 1 week for beta testing and a couple of days for conforming Dusk to Corona’s plugin format, the release date will probably end up near the 16th to 20th of April. I’m really sorry for this delay in publishing; please bear with me. Again, however, I’d like to remind you that the current version of Dusk is highly stable and will work excellently for your projects right now.

Thirdly, as for current changes to Dusk 1.0: the vision has changed a good deal since 1.0’s inception. Whereas before, it was a highly-polished rewrite of the current version of Dusk with better Lua practices and a couple of clarified methods, it’s now become a fairly different beast. Semantically, everything will feel the same and converting to 1.0 will probably be a simple find-and-replace, but the API has been more Corona-fied based on Brent’s suggestions. There are no longer convenience shorthand methods if there’s another clearer way to do something, and the total number of functions has dropped because many functions have been genericized. For example, here’s how layer iteration has changed:

-- In the old Dusk: for layer in map.tileLayers() do end for layer in map.objectLayers() do end for layer in map.layers() do end -- In the new Dusk: for layer in map:getLayers("tile") do end for layer in map:getLayers("object") do end for layer in map:getLayers() do end

As I said before, semantically, everything remains about the same. You’re still iterating layers of different types, but rather than having four functions, each of which iterates a different type of layer, you have one function whose behaviour changes based on what you pass to it.

Finally, thanks everyone for your support. As a single developer working on this engine, I really appreciate it.

  • Caleb

Hey Caleb,

I am really excited about Dusk 1.0! I have been using your CBE library and am very impressed. I am not actively working on a Tiled-based game but if you still need beta testers I can make myself available.

In regards to feature requests, I personally just want to see what you’ve done in the initial 1.0 release and then maybe I might want to make a feature request. That said, what I would really like to see are API docs, at least 3 demos/examples, and a tutorial. The tutorial is probably the biggest thing for me. Ideally, there would be two, one for a top-down game and another for a side-scroller.

I understand that my requests are quite significant and that you are doing this for free so I totally understand if you take a long time for this or even don’t do it at all.

Regardless, I think you do great work and I am looking forward to Dusk 1.0!