www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Dash: An Open Source Game Engine in D

reply "Colden Cullen" <ColdenCullen gmail.com> writes:
Hi everyone,

I’m super excited to be able to announce that the Dash game 
engine[1] is finally stable and ready for public use! I’m 
currently the Lead Engine Programmer at Circular Studios[2] (the 
group behind Dash). We had 14 people working on the team, 6 
engine programmers and 8 game developers creating Spectral Robot 
Task Force, a turn-based strategy game built with Dash.

Dash is an OpenGL engine written in the D language that runs on 
both Windows and Linux. We use a deferred-rendering model in the 
current pipeline, and a component model for game development and 
logic. Other major features at the moment include networking, 
skeletal-animation support, content and configuration loading via 
YAML, and UI support through Awesomium[3] (though we are in the 
process of moving over to using CEF[4] itself).

Our vision for Dash is to have the programmer-facing model of 
XNA/Monogame combined with the designer-friendliness of Unity in 
a fully free and open source engine. We also hope that Dash can 
help to prove the power and maturity of D as a language, as well 
as push D to continue improving.

We’re open to any feedback you may have, or better yet, we’d love 
to see pull requests for improvements.

[1] https://github.com/Circular-Studios/Dash
[2] http://circularstudios.com/
[3] http://awesomium.com/
[4] https://code.google.com/p/chromiumembedded/
May 19 2014
next sibling parent reply Justin Whear <justin economicmodeling.com> writes:
On Mon, 19 May 2014 19:50:35 +0000, Colden Cullen wrote:

 Hi everyone,
 
 I’m super excited to be able to announce that the Dash game engine[1] is
 finally stable and ready for public use! I’m currently the Lead Engine
 Programmer at Circular Studios[2] (the group behind Dash). We had 14
 people working on the team, 6 engine programmers and 8 game developers
 creating Spectral Robot Task Force, a turn-based strategy game built
 with Dash.
 
 Dash is an OpenGL engine written in the D language that runs on both
 Windows and Linux. We use a deferred-rendering model in the current
 pipeline, and a component model for game development and logic. Other
 major features at the moment include networking, skeletal-animation
 support, content and configuration loading via YAML, and UI support
 through Awesomium[3] (though we are in the process of moving over to
 using CEF[4] itself).
 
 Our vision for Dash is to have the programmer-facing model of
 XNA/Monogame combined with the designer-friendliness of Unity in a fully
 free and open source engine. We also hope that Dash can help to prove
 the power and maturity of D as a language, as well as push D to continue
 improving.
 
 We’re open to any feedback you may have, or better yet, we’d love to see
 pull requests for improvements.
 
 [1] https://github.com/Circular-Studios/Dash [2]
 http://circularstudios.com/
 [3] http://awesomium.com/
 [4] https://code.google.com/p/chromiumembedded/
Very exciting! Thank for the very liberal license; this is a great contribution to the community. I know you guys are probably crunching on the million things that stand between alpha and release, but when you have time, a series of blog posts or articles would be awesome. Topics such as your usage of mixins and your experience with the GC would be great and speak to the advantages of using D. BTW, The "Setting up Your Environment page" link on the main repo page (the README) is broken. Justin
May 19 2014
parent "Colden Cullen" <ColdenCullen gmail.com> writes:
On Monday, 19 May 2014 at 20:45:51 UTC, Justin Whear wrote:
 Very exciting!  Thank for the very liberal license; this is a 
 great
 contribution to the community.
 I know you guys are probably crunching on the million things 
 that stand
 between alpha and release, but when you have time, a series of 
 blog posts
 or articles would be awesome.  Topics such as your usage of 
 mixins and
 your experience with the GC would be great and speak to the 
 advantages of
 using D.

 BTW, The "Setting up Your Environment page" link on the main 
 repo page
 (the README) is broken.

 Justin
Thanks! We're super excited. We wanted to make sure that anyone could do anything with it, hence the license. We're also all huge open source geeks, with no business people to tell us no :) We are super busy, but we've also been trying to blog as much as we can. Myself[1] and one of my teammates[2] have been blogging a little (although I should warn you, there is some cruft from a class we took requiring posts for other stuff). We do really want to get some more stuff on paper, though. If you've got any ideas for stuff you want to read, suggestions are absolutely welcome! Also, thanks for the heads up, I just fixed the link. [1] http://blog.coldencullen.com/ [2] http://blog.danieljost.com/
May 19 2014
prev sibling next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 5/19/2014 12:50 PM, Colden Cullen wrote:
 I’m super excited to be able to announce that the Dash game engine[1] is
finally
 stable and ready for public use!
http://www.reddit.com/r/programming/comments/25yw89/dash_an_opensource_game_engine_coded_in_d/ I recommend posting your message text on Reddit, as that will generate more interest than just a link.
May 19 2014
parent reply "Colden Cullen" <ColdenCullen gmail.com> writes:
On Monday, 19 May 2014 at 20:52:04 UTC, Walter Bright wrote:
 On 5/19/2014 12:50 PM, Colden Cullen wrote:
 I’m super excited to be able to announce that the Dash game 
 engine[1] is finally
 stable and ready for public use!
http://www.reddit.com/r/programming/comments/25yw89/dash_an_opensource_game_engine_coded_in_d/ I recommend posting your message text on Reddit, as that will generate more interest than just a link.
Good call, check it out here[1]. We also have an /r/gamedev post[2], where we've gotten some good D-related questions. [1] http://www.reddit.com/r/programming/comments/25yw89/dash_an_opensource_game_engine_coded_in_d/chm21bv [2] http://www.reddit.com/r/gamedev/comments/25yub3/introducing_dash_an_opensource_game_engine_in_d/
May 19 2014
parent Walter Bright <newshound2 digitalmars.com> writes:
On 5/19/2014 1:55 PM, Colden Cullen wrote:
 Good call, check it out here[1]. We also have an /r/gamedev post[2], where
we've
 gotten some good D-related questions.

 [1]
 http://www.reddit.com/r/programming/comments/25yw89/dash_an_opensource_game_engine_coded_in_d/chm21bv

 [2]
 http://www.reddit.com/r/gamedev/comments/25yub3/introducing_dash_an_opensource_game_engine_in_d/
Wonderful!
May 19 2014
prev sibling next sibling parent reply "Kiith-Sa" <kiithsacmp gmail.com> writes:
On Monday, 19 May 2014 at 19:50:37 UTC, Colden Cullen wrote:
 Hi everyone,

 I’m super excited to be able to announce that the Dash game 
 engine[1] is finally stable and ready for public use! I’m 
 currently the Lead Engine Programmer at Circular Studios[2] 
 (the group behind Dash). We had 14 people working on the team, 
 6 engine programmers and 8 game developers creating Spectral 
 Robot Task Force, a turn-based strategy game built with Dash.

 Dash is an OpenGL engine written in the D language that runs on 
 both Windows and Linux. We use a deferred-rendering model in 
 the current pipeline, and a component model for game 
 development and logic. Other major features at the moment 
 include networking, skeletal-animation support, content and 
 configuration loading via YAML, and UI support through 
 Awesomium[3] (though we are in the process of moving over to 
 using CEF[4] itself).

 Our vision for Dash is to have the programmer-facing model of 
 XNA/Monogame combined with the designer-friendliness of Unity 
 in a fully free and open source engine. We also hope that Dash 
 can help to prove the power and maturity of D as a language, as 
 well as push D to continue improving.

 We’re open to any feedback you may have, or better yet, we’d 
 love to see pull requests for improvements.

 [1] https://github.com/Circular-Studios/Dash
 [2] http://circularstudios.com/
 [3] http://awesomium.com/
 [4] https://code.google.com/p/chromiumembedded/
Looks awesome. Don't have time now (finals) but will check it out later. (I'm developing my own gamedev related... stuff so I'm unlikely to be a user but looks like it might finally be something a new user can pick up right away and just start making a game in D) For now all criticism I can give is that http://dash.circularstudios.com/v1.0/docs is completely useless with NoScript. At least put a warning for NoScript users.
May 19 2014
parent reply "Daniel Jost" <torpedojost gmail.com> writes:
On Monday, 19 May 2014 at 20:58:52 UTC, Kiith-Sa wrote:
 For now all criticism I can give is that 
 http://dash.circularstudios.com/v1.0/docs is completely useless 
 with NoScript. At least put a warning for NoScript users.
We'll be switching off of readme.io to homebrew docs[1] hosted on Github. [1] https://github.com/Circular-Studios/Dash-Docs
May 19 2014
parent "Colden Cullen" <ColdenCullen gmail.com> writes:
On Monday, 19 May 2014 at 21:05:01 UTC, Daniel Jost wrote:
 On Monday, 19 May 2014 at 20:58:52 UTC, Kiith-Sa wrote:
 For now all criticism I can give is that 
 http://dash.circularstudios.com/v1.0/docs is completely 
 useless with NoScript. At least put a warning for NoScript 
 users.
We'll be switching off of readme.io to homebrew docs[1] hosted on Github. [1] https://github.com/Circular-Studios/Dash-Docs
This is super super not ready yet though, unfortunately. It will be our focus (or mine, at least) for then next few weeks.
May 19 2014
prev sibling next sibling parent reply "w0rp" <devw0rp gmail.com> writes:
On Monday, 19 May 2014 at 19:50:37 UTC, Colden Cullen wrote:
 Hi everyone,

 I’m super excited to be able to announce that the Dash game 
 engine[1] is finally stable and ready for public use! I’m 
 currently the Lead Engine Programmer at Circular Studios[2] 
 (the group behind Dash). We had 14 people working on the team, 
 6 engine programmers and 8 game developers creating Spectral 
 Robot Task Force, a turn-based strategy game built with Dash.

 Dash is an OpenGL engine written in the D language that runs on 
 both Windows and Linux. We use a deferred-rendering model in 
 the current pipeline, and a component model for game 
 development and logic. Other major features at the moment 
 include networking, skeletal-animation support, content and 
 configuration loading via YAML, and UI support through 
 Awesomium[3] (though we are in the process of moving over to 
 using CEF[4] itself).

 Our vision for Dash is to have the programmer-facing model of 
 XNA/Monogame combined with the designer-friendliness of Unity 
 in a fully free and open source engine. We also hope that Dash 
 can help to prove the power and maturity of D as a language, as 
 well as push D to continue improving.

 We’re open to any feedback you may have, or better yet, we’d 
 love to see pull requests for improvements.

 [1] https://github.com/Circular-Studios/Dash
 [2] http://circularstudios.com/
 [3] http://awesomium.com/
 [4] https://code.google.com/p/chromiumembedded/
This is all awesome. I'll have to check this out. I hate to be the guy who says "you missed a spot," but you did name one module in your source tree "core." You might want to rename that to avoid issues with core modules.
May 19 2014
parent "Colden Cullen" <ColdenCullen gmail.com> writes:
On Monday, 19 May 2014 at 21:01:57 UTC, w0rp wrote:
 This is all awesome. I'll have to check this out.

 I hate to be the guy who says "you missed a spot," but you did 
 name one module in your source tree "core." You might want to 
 rename that to avoid issues with core modules.
You're definitely right about the "core" naming, but my plan is to just qualify everything with a "dash" package instead, to make it super clear everywhere what's being imported.
May 19 2014
prev sibling next sibling parent Matt Soucy <msoucy csh.rit.edu> writes:
On 05/19/2014 03:50 PM, Colden Cullen wrote:
 Hi everyone,
 
 I’m super excited to be able to announce that the Dash game engine[1] is
finally stable and ready for public use! I’m currently the Lead Engine
Programmer at Circular Studios[2] (the group behind Dash). We had 14 people
working on the team, 6 engine programmers and 8 game developers creating
Spectral Robot Task Force, a turn-based strategy game built with Dash.
 
 Dash is an OpenGL engine written in the D language that runs on both Windows
and Linux. We use a deferred-rendering model in the current pipeline, and a
component model for game development and logic. Other major features at the
moment include networking, skeletal-animation support, content and
configuration loading via YAML, and UI support through Awesomium[3] (though we
are in the process of moving over to using CEF[4] itself).
 
 Our vision for Dash is to have the programmer-facing model of XNA/Monogame
combined with the designer-friendliness of Unity in a fully free and open
source engine. We also hope that Dash can help to prove the power and maturity
of D as a language, as well as push D to continue improving.
 
 We’re open to any feedback you may have, or better yet, we’d love to see
pull requests for improvements.
 
 [1] https://github.com/Circular-Studios/Dash
 [2] http://circularstudios.com/
 [3] http://awesomium.com/
 [4] https://code.google.com/p/chromiumembedded/
Congratulations on the release, guys! -- Matt Soucy http://msoucy.me/
May 19 2014
prev sibling next sibling parent reply Rikki Cattermole <alphaglosined gmail.com> writes:
On 20/05/2014 7:50 a.m., Colden Cullen wrote:
 Hi everyone,

 I’m super excited to be able to announce that the Dash game engine[1] is
 finally stable and ready for public use! I’m currently the Lead Engine
 Programmer at Circular Studios[2] (the group behind Dash). We had 14
 people working on the team, 6 engine programmers and 8 game developers
 creating Spectral Robot Task Force, a turn-based strategy game built
 with Dash.

 Dash is an OpenGL engine written in the D language that runs on both
 Windows and Linux. We use a deferred-rendering model in the current
 pipeline, and a component model for game development and logic. Other
 major features at the moment include networking, skeletal-animation
 support, content and configuration loading via YAML, and UI support
 through Awesomium[3] (though we are in the process of moving over to
 using CEF[4] itself).

 Our vision for Dash is to have the programmer-facing model of
 XNA/Monogame combined with the designer-friendliness of Unity in a fully
 free and open source engine. We also hope that Dash can help to prove
 the power and maturity of D as a language, as well as push D to continue
 improving.

 We’re open to any feedback you may have, or better yet, we’d love to see
 pull requests for improvements.

 [1] https://github.com/Circular-Studios/Dash
 [2] http://circularstudios.com/
 [3] http://awesomium.com/
 [4] https://code.google.com/p/chromiumembedded/
Awesome to see! Will be looking forward to what ever you guys get up to. Only thing I can suggest, is get UML diagrams ext. Up on docs.
May 19 2014
parent reply "Colden Cullen" <ColdenCullen gmail.com> writes:
On Tuesday, 20 May 2014 at 01:12:38 UTC, Rikki Cattermole wrote:
 Awesome to see!
 Will be looking forward to what ever you guys get up to.

 Only thing I can suggest, is get UML diagrams ext. Up on docs.
Says the author of Duml :) It's definitely something I want to do, I just haven't gotten the chance yet.
May 19 2014
parent reply Rikki Cattermole <alphaglosined gmail.com> writes:
On 20/05/2014 2:21 p.m., Colden Cullen wrote:
 On Tuesday, 20 May 2014 at 01:12:38 UTC, Rikki Cattermole wrote:
 Awesome to see!
 Will be looking forward to what ever you guys get up to.

 Only thing I can suggest, is get UML diagrams ext. Up on docs.
Says the author of Duml :) It's definitely something I want to do, I just haven't gotten the chance yet.
Selfish promotion ;) But yes, for this type of thing it definitely does give confidence to new users that they can see this type of thing. And hey, when its practically free(work wise) why not?
May 19 2014
parent reply "Mineko" <minekorox gmail.com> writes:
Wow, good stuff, very impressive, I'm making a engine myself 
called Breaker Engine (Coded in D), and I might just have to take 
a few tips from your engine.

Although I've neglected it for about 2 months now lol, I've been 
gathering data as my math is not so good..

If anything I make in my engine just happens to be anything I can 
apply to your team's engine, I'll be sure to contribute. :)

Seeing as how you're using a component system.. It's probably 
just coincidental, but would your project happen to have any 
relation to BennyQBD's engine? 
(https://github.com/BennyQBD/3DEngineCpp)

Also, I may have skipped over it in this thread, but what was 
your experience with the D GC in your engine?

Was it a problem?
Anyway, again, good work, I look forward to our future 
relationship as D game engine developers. :)
May 19 2014
parent reply "Colden Cullen" <ColdenCullen gmail.com> writes:
On Tuesday, 20 May 2014 at 05:22:54 UTC, Mineko wrote:
 Wow, good stuff, very impressive, I'm making a engine myself 
 called Breaker Engine (Coded in D), and I might just have to 
 take a few tips from your engine.

 Although I've neglected it for about 2 months now lol, I've 
 been gathering data as my math is not so good..

 If anything I make in my engine just happens to be anything I 
 can apply to your team's engine, I'll be sure to contribute. :)

 Seeing as how you're using a component system.. It's probably 
 just coincidental, but would your project happen to have any 
 relation to BennyQBD's engine? 
 (https://github.com/BennyQBD/3DEngineCpp)

 Also, I may have skipped over it in this thread, but what was 
 your experience with the D GC in your engine?

 Was it a problem?
 Anyway, again, good work, I look forward to our future 
 relationship as D game engine developers. :)
Thanks! We're always open to contributors, just drop by our Gitter room[1] and say hi if you've got any ideas, or if you'd just like something to do. We are not related to BenyyQBD's engine, and I've never heard of it, but it does look kind of neat. As far as the GC goes, we pretty much only use it during initialization (and boy do we). We try to limit allocations during the main loop as much as possible, so very rarely do we actually have the GC run while the game is running. As long as you know what you're doing it's a pretty easy problem to avoid. [1] https://gitter.im/Circular-Studios/Dash
May 20 2014
parent reply "John Colvin" <john.loughran.colvin gmail.com> writes:
On Tuesday, 20 May 2014 at 13:12:30 UTC, Colden Cullen wrote:
 On Tuesday, 20 May 2014 at 05:22:54 UTC, Mineko wrote:
 Wow, good stuff, very impressive, I'm making a engine myself 
 called Breaker Engine (Coded in D), and I might just have to 
 take a few tips from your engine.

 Although I've neglected it for about 2 months now lol, I've 
 been gathering data as my math is not so good..

 If anything I make in my engine just happens to be anything I 
 can apply to your team's engine, I'll be sure to contribute. :)

 Seeing as how you're using a component system.. It's probably 
 just coincidental, but would your project happen to have any 
 relation to BennyQBD's engine? 
 (https://github.com/BennyQBD/3DEngineCpp)

 Also, I may have skipped over it in this thread, but what was 
 your experience with the D GC in your engine?

 Was it a problem?
 Anyway, again, good work, I look forward to our future 
 relationship as D game engine developers. :)
Thanks! We're always open to contributors, just drop by our Gitter room[1] and say hi if you've got any ideas, or if you'd just like something to do. We are not related to BenyyQBD's engine, and I've never heard of it, but it does look kind of neat. As far as the GC goes, we pretty much only use it during initialization (and boy do we).
I presume you force a collection before the main loop starts?
May 20 2014
parent "Colden Cullen" <ColdenCullen gmail.com> writes:
On Tuesday, 20 May 2014 at 13:40:43 UTC, John Colvin wrote:
 I presume you force a collection before the main loop starts?
Yup! As of very recently :) https://github.com/Circular-Studios/Dash/commit/2535556f970752e8ab41a03e4416394c2ce9c79d
May 20 2014
prev sibling next sibling parent "Mengu" <mengukagan gmail.com> writes:
On Monday, 19 May 2014 at 19:50:37 UTC, Colden Cullen wrote:
 Hi everyone,

 I’m super excited to be able to announce that the Dash game 
 engine[1] is finally stable and ready for public use! I’m 
 currently the Lead Engine Programmer at Circular Studios[2] 
 (the group behind Dash). We had 14 people working on the team, 
 6 engine programmers and 8 game developers creating Spectral 
 Robot Task Force, a turn-based strategy game built with Dash.

 Dash is an OpenGL engine written in the D language that runs on 
 both Windows and Linux. We use a deferred-rendering model in 
 the current pipeline, and a component model for game 
 development and logic. Other major features at the moment 
 include networking, skeletal-animation support, content and 
 configuration loading via YAML, and UI support through 
 Awesomium[3] (though we are in the process of moving over to 
 using CEF[4] itself).

 Our vision for Dash is to have the programmer-facing model of 
 XNA/Monogame combined with the designer-friendliness of Unity 
 in a fully free and open source engine. We also hope that Dash 
 can help to prove the power and maturity of D as a language, as 
 well as push D to continue improving.

 We’re open to any feedback you may have, or better yet, we’d 
 love to see pull requests for improvements.

 [1] https://github.com/Circular-Studios/Dash
 [2] http://circularstudios.com/
 [3] http://awesomium.com/
 [4] https://code.google.com/p/chromiumembedded/
seems you've made /r/gamedev community happy :) thanks for the hard work and wish you all the best.
May 19 2014
prev sibling parent reply Jacob Carlborg <doob me.com> writes:
On 19/05/14 21:50, Colden Cullen wrote:
 Hi everyone,

 I’m super excited to be able to announce that the Dash game engine[1] is
 finally stable and ready for public use! I’m currently the Lead Engine
 Programmer at Circular Studios[2] (the group behind Dash). We had 14
 people working on the team, 6 engine programmers and 8 game developers
 creating Spectral Robot Task Force, a turn-based strategy game built
 with Dash.

 Dash is an OpenGL engine written in the D language that runs on both
 Windows and Linux. We use a deferred-rendering model in the current
 pipeline, and a component model for game development and logic. Other
 major features at the moment include networking, skeletal-animation
 support, content and configuration loading via YAML, and UI support
 through Awesomium[3] (though we are in the process of moving over to
 using CEF[4] itself).

 Our vision for Dash is to have the programmer-facing model of
 XNA/Monogame combined with the designer-friendliness of Unity in a fully
 free and open source engine. We also hope that Dash can help to prove
 the power and maturity of D as a language, as well as push D to continue
 improving.

 We’re open to any feedback you may have, or better yet, we’d love to see
 pull requests for improvements.
This looks awesome :), but no support for OS X :(. What system is used to render windows, custom or something like SDL? -- /Jacob Carlborg
May 19 2014
parent reply "Colden Cullen" <ColdenCullen gmail.com> writes:
On Tuesday, 20 May 2014 at 06:26:50 UTC, Jacob Carlborg wrote:
 This looks awesome :), but no support for OS X :(. What system 
 is used to render windows, custom or something like SDL?
Right now we're using X11 on Linux and Win32 on Windows, but we are thinking about creating an adapter for SDL, which would provide OSX support. Theoretically the only thing holding us back is the windowing system.
May 20 2014
parent Jacob Carlborg <doob me.com> writes:
On 20/05/14 15:14, Colden Cullen wrote:

 Right now we're using X11 on Linux and Win32 on Windows, but we are
 thinking about creating an adapter for SDL, which would provide OSX
 support. Theoretically the only thing holding us back is the windowing
 system.
I see. -- /Jacob Carlborg
May 20 2014