Re: Novelate - Visual Novel Engine
On Thursday, 23 January 2020 at 19:11:19 UTC, Jordan Wilson wrote: On Thursday, 23 January 2020 at 15:19:34 UTC, bauss wrote: Novelate is a visual novel engine written in D. It officially binds to SFML but the engine itself has no direct dependencies on SFML as there's plans for supporting libraries such as SDL etc. in the future too. It's still a work-in-progress but the basics are done as of now and it has reached a point where publishing it as open-source is possible. Preview: https://i.imgur.com/YyoIWkp.png For more information see: Github: https://github.com/Novelate/NovelateEngine Dub: https://code.dlang.org/packages/novelate A website with documentation etc. is coming soon as well! Thank you! Cool! I been toying with a 2D game engine myself, having been inspired by Godot (I know, it begs the question why I don't use the available D bindings), so your project will be a nice additional reference point for me. Also nice to see that dsfml seems to still be maintained, for some reason I switched to the derelict sfml bindings, but I can't remember why now... Keep up the good work! Jordan Planning to support Derelict too so it can be used along with those bindings and SDL too. The reason why I went with dsfml initially was just that it was easier to start out with rather than fiddling with Derelict. However Derelict supports SFML 2.4 which dsfml doesn't (It's SFML 2.1) so that might be why you went with it and also why I want to support that as well. The engine itself doesn't depend on dsfml, there is a module that interfaces to it but for any other bindings you just create the same interfaces and encapsulates it in its own version scope. https://github.com/Novelate/NovelateEngine/tree/master/source/novelate/external The reason for it is to make sure the engine can be used with existing projects or be implemented into existing games etc.
Re: Novelate - Visual Novel Engine
On Thursday, 23 January 2020 at 18:00:30 UTC, Cym13 wrote: On Thursday, 23 January 2020 at 15:19:34 UTC, bauss wrote: Novelate is a visual novel engine written in D. It officially binds to SFML but the engine itself has no direct dependencies on SFML as there's plans for supporting libraries such as SDL etc. in the future too. It's still a work-in-progress but the basics are done as of now and it has reached a point where publishing it as open-source is possible. Preview: https://i.imgur.com/YyoIWkp.png For more information see: Github: https://github.com/Novelate/NovelateEngine Dub: https://code.dlang.org/packages/novelate A website with documentation etc. is coming soon as well! Thank you! Love the initiative, I'll be sure to keep an eye on this! Thank you!
Re: dud: A dub replacement
On Thursday, 23 January 2020 at 17:05:10 UTC, Robert Schadek wrote: DESTROY! Tried: --- unittest { immutable SemVer v1 = SemVer(1,1,1); immutable SemVer v2 = SemVer(2,2,2); immutable SemVer v3 = SemVer(3,3,3); immutable SemVer v4 = SemVer(4,4,4); immutable VersionRange a = VersionRange(v1, Inclusive.yes, v2, Inclusive.yes); immutable VersionRange b = VersionRange(v3, Inclusive.yes, v4, Inclusive.yes); immutable VersionRange c = VersionRange(v2, Inclusive.yes, v3, Inclusive.yes); assert(intersectionOf(a, invert(a)).ranges.length == 0); assert(intersectionOf(a, a) == a); assert(intersectionOf(a, b) != a); assert(intersectionOf(a, b) != b); assert(intersectionOf(b, a) != a); assert(intersectionOf(b, a) != b); assert(intersectionOf(invert(a), invert(a)) == invert(a)); assert(invert(intersectionOf(a, invert(b))) == invert(intersectionOf(a,a))); auto add(T, P)(T a, P b) { return invert(intersectionOf(invert(a), invert(b))); } auto remove(T, P)(T a, P b) { return intersectionOf(a, invert(b)); } assert(add(a,b) == add(b,a)); assert(invert(invert(a)) == add(intersectionOf(a,c), remove(a,c))); assert(differenceOf(a, a).ranges.length == 0); assert(invert(intersectionOf(invert(a), invert(a))) == invert(invert(a))); assert(invert(invert(differenceOf(a, invert(a == invert(invert(a))); assert(invert(invert(intersectionOf(a, c))) == invert(invert(remove(a, remove(a, c); } --- Everything green. Nice work. Haven't tried Inclusive.no yet. I'll leave that to someone else.
Re: Novelate - Visual Novel Engine
On Thursday, 23 January 2020 at 15:19:34 UTC, bauss wrote: Novelate is a visual novel engine written in D. It officially binds to SFML but the engine itself has no direct dependencies on SFML as there's plans for supporting libraries such as SDL etc. in the future too. It's still a work-in-progress but the basics are done as of now and it has reached a point where publishing it as open-source is possible. Preview: https://i.imgur.com/YyoIWkp.png For more information see: Github: https://github.com/Novelate/NovelateEngine Dub: https://code.dlang.org/packages/novelate A website with documentation etc. is coming soon as well! Thank you! Cool! I been toying with a 2D game engine myself, having been inspired by Godot (I know, it begs the question why I don't use the available D bindings), so your project will be a nice additional reference point for me. Also nice to see that dsfml seems to still be maintained, for some reason I switched to the derelict sfml bindings, but I can't remember why now... Keep up the good work! Jordan
Re: Novelate - Visual Novel Engine
On Thursday, 23 January 2020 at 15:19:34 UTC, bauss wrote: Novelate is a visual novel engine written in D. It officially binds to SFML but the engine itself has no direct dependencies on SFML as there's plans for supporting libraries such as SDL etc. in the future too. It's still a work-in-progress but the basics are done as of now and it has reached a point where publishing it as open-source is possible. Preview: https://i.imgur.com/YyoIWkp.png For more information see: Github: https://github.com/Novelate/NovelateEngine Dub: https://code.dlang.org/packages/novelate A website with documentation etc. is coming soon as well! Thank you! Love the initiative, I'll be sure to keep an eye on this!
Re: dud: A dub replacement
dud needs your help. I'm starting work on the dependency resolution and for that I had to implement proper handling for Semantic Versions, Version Ranges, and Version Unions(VersionUnion is basically a VersionRange[]). The dependency resolution algorithm I want to implement (based on the algorithm used by Dart) needs a few checks and operations on those types. ```D SemVer parseSemVer(string input); Nullable!VersionRange parseVersionRange(string input); alias Types = AliasSeq!((SemVer,VersionRange,VersionUnion); static foreach(T, Types) { auto inv = invert(T); static foreach(S, Types) { bool allowsAll(T, T); bool allowsAll(T, S); bool allowsAll(S, T); bool allowsAny(T, T); bool allowsAny(T, S); bool allowsAny(S, T); auto unionOf(T, T); auto unionOf(T, S); auto unionOf(S, T); auto intersectionOf(T, T); auto intersectionOf(T, S); auto intersectionOf(S, T); auto differenceOf(T, T); auto differenceOf(T, S); auto differenceOf(S, T); } } ``` I think I did okay work and the tests cover all/most cases. But that's properly being a bit overconfident. Therefore, it would be awesome if you could try to break these functions and create PRs that break the functions. The code can be found in the git here https://github.com/symmetryinvestments/dud the relevant folder is semver. The tests are located in the files: allowsAny: semver/source/dud/semver/checkstest.d allowsAll: semver/source/dud/semver/checkstest1.d allowsAll: semver/source/dud/semver/setoperationtest.d intersectionOf: semver/source/dud/semver/setoperationtest1.d invert, differenceOf: semver/source/dud/semver/setoperationtest2.d semver/source/dud/semver/versionrangetest.d Building dud, and semver should be as easy as cloning and typing dud, dub test. ```sh git clone https://github.com/symmetryinvestments/dud.git cd dud/semver dub test ``` should get you going. DESTROY!
Novelate - Visual Novel Engine
Novelate is a visual novel engine written in D. It officially binds to SFML but the engine itself has no direct dependencies on SFML as there's plans for supporting libraries such as SDL etc. in the future too. It's still a work-in-progress but the basics are done as of now and it has reached a point where publishing it as open-source is possible. Preview: https://i.imgur.com/YyoIWkp.png For more information see: Github: https://github.com/Novelate/NovelateEngine Dub: https://code.dlang.org/packages/novelate A website with documentation etc. is coming soon as well! Thank you!