www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Programming a Game in D? :D

reply "David" <dvrueden97 gmx.de> writes:
Hey, I'm really new to D, and pretty new to programming overall 
too,
But I want to make a 3d Game, (just sth. small). I really like D 
and want to do it in D, but in the Internet there is no shit 
about programming a game in D ^^
Is there any engine written in D?
For example the CryEngine is for C++, so I would have to write a 
wrapper?
So, how do I write a wrapper? I would need a wrapper for DirectX 
too right?
Are there any wrappers ore Engines for D i can use?
btw. I know I dont write that in 1 day ^^
Are there any tutorials or sth. on Programming a Game in D?
Soooooooo I just wanna come as far to have a little Cube where i 
can run around on with a few phisics :) so just the startup to 
load a world and so on
Thanks in advance :)
And sry my english sucks :D
May 22 2014
next sibling parent reply "John Colvin" <john.loughran.colvin gmail.com> writes:
On Thursday, 22 May 2014 at 15:39:36 UTC, David wrote:
 Hey, I'm really new to D, and pretty new to programming overall 
 too,
 But I want to make a 3d Game, (just sth. small). I really like 
 D and want to do it in D, but in the Internet there is no shit 
 about programming a game in D ^^
 Is there any engine written in D?
 For example the CryEngine is for C++, so I would have to write 
 a wrapper?
 So, how do I write a wrapper? I would need a wrapper for 
 DirectX too right?
 Are there any wrappers ore Engines for D i can use?
 btw. I know I dont write that in 1 day ^^
 Are there any tutorials or sth. on Programming a Game in D?
 Soooooooo I just wanna come as far to have a little Cube where 
 i can run around on with a few phisics :) so just the startup 
 to load a world and so on
 Thanks in advance :)
 And sry my english sucks :D
There are quite a few game related libs on code.dlang.org that you can take a look at. Also see some of the recent D.announce posts.
May 22 2014
parent "Francesco Cattoglio" <francesco.cattoglio gmail.com> writes:
On Thursday, 22 May 2014 at 15:48:50 UTC, John Colvin wrote:
 On Thursday, 22 May 2014 at 15:39:36 UTC, David wrote:
 Hey, I'm really new to D, and pretty new to programming 
 overall too,
 But I want to make a 3d Game, (just sth. small). I really like 
 D and want to do it in D, but in the Internet there is no shit 
 about programming a game in D ^^
 Is there any engine written in D?
 For example the CryEngine is for C++, so I would have to write 
 a wrapper?
 So, how do I write a wrapper? I would need a wrapper for 
 DirectX too right?
 Are there any wrappers ore Engines for D i can use?
 btw. I know I dont write that in 1 day ^^
 Are there any tutorials or sth. on Programming a Game in D?
 Soooooooo I just wanna come as far to have a little Cube where 
 i can run around on with a few phisics :) so just the startup 
 to load a world and so on
 Thanks in advance :)
 And sry my english sucks :D
There are quite a few game related libs on code.dlang.org that you can take a look at. Also see some of the recent D.announce posts.
Yep. Start by learning dub (code.dlang.org), which is a build automation tool that helps you alot by saving headaches caused by the heap of dependencies that a "complex" software like a game has. Don't start by diving into graphics just yet, spend your first days by doing stuff on the command line. There are a few engines that are being developed by others, but there's nothing like e.g. Unity right now. I think that every engine is in "early" development stage, too. Also, I think most of current libraries use OpenGL instead of DirectX, so you might want to learn that (at least the basics).
May 22 2014
prev sibling next sibling parent reply "Gary Willoughby" <dev nomad.so> writes:
On Thursday, 22 May 2014 at 15:39:36 UTC, David wrote:
 Hey, I'm really new to D, and pretty new to programming overall 
 too,
 But I want to make a 3d Game, (just sth. small). I really like 
 D and want to do it in D, but in the Internet there is no shit 
 about programming a game in D ^^
 Is there any engine written in D?
 For example the CryEngine is for C++, so I would have to write 
 a wrapper?
 So, how do I write a wrapper? I would need a wrapper for 
 DirectX too right?
 Are there any wrappers ore Engines for D i can use?
 btw. I know I dont write that in 1 day ^^
 Are there any tutorials or sth. on Programming a Game in D?
 Soooooooo I just wanna come as far to have a little Cube where 
 i can run around on with a few phisics :) so just the startup 
 to load a world and so on
 Thanks in advance :)
 And sry my english sucks :D
First, read this: http://ddili.org/ders/d.en/index.html
May 22 2014
parent reply "David" <dvrueden97 gmx.de> writes:
Ok so I installed DDT for eclipse now but have a problem :D
First the imports are changed, std.studio is now std.stdio (or 
its something completly else)
And if I try to run the file now it says that the exe file of my 
file doesn't exsist wich I actully thought I creat by clicking on 
run?
In Java it was just pressing run.. :/
May 23 2014
parent reply "David" <dvrueden97 gmx.de> writes:
On Friday, 23 May 2014 at 14:11:26 UTC, David wrote:
 Ok so I installed DDT for eclipse now but have a problem :D
 First the imports are changed, std.studio is now std.stdio (or 
 its something completly else)
 And if I try to run the file now it says that the exe file of 
 my file doesn't exsist wich I actully thought I creat by 
 clicking on run?
 In Java it was just pressing run.. :/
actually no it was std.stdio before too :D woops but wont solve my problem with getting it run
May 23 2014
parent reply "evilrat" <evilrat666 gmail.com> writes:
On Friday, 23 May 2014 at 14:43:30 UTC, David wrote:
 On Friday, 23 May 2014 at 14:11:26 UTC, David wrote:
 Ok so I installed DDT for eclipse now but have a problem :D
 First the imports are changed, std.studio is now std.stdio (or 
 its something completly else)
 And if I try to run the file now it says that the exe file of 
 my file doesn't exsist wich I actully thought I creat by 
 clicking on run?
 In Java it was just pressing run.. :/
actually no it was std.stdio before too :D woops but wont solve my problem with getting it run
why not just use Xamarin Studio with Mono-D?
May 23 2014
parent reply "David" <dvrueden97 gmx.de> writes:
On Friday, 23 May 2014 at 17:47:56 UTC, evilrat wrote:
 why not just use Xamarin Studio with Mono-D?
But only the trial of Xamarin Studio is for free, and I used eclipse for Java before and really like it :P
May 24 2014
parent reply "evilrat" <evilrat666 gmail.com> writes:
On Saturday, 24 May 2014 at 09:35:01 UTC, David wrote:
 On Friday, 23 May 2014 at 17:47:56 UTC, evilrat wrote:
 why not just use Xamarin Studio with Mono-D?
But only the trial of Xamarin Studio is for free, and I used eclipse for Java before and really like it :P
actually not. you don't even need to register at all. just go to http://monodevelop.com and get ur XS without all this fancy mobile stuff.
May 24 2014
next sibling parent reply "Dmitry" <dmitry indiedev.ru> writes:
On Saturday, 24 May 2014 at 09:49:30 UTC, evilrat wrote:
 why not just use Xamarin Studio with Mono-D?
But only the trial of Xamarin Studio is for free, and I used eclipse for Java before and really like it :P
actually not. you don't even need to register at all. just go to http://monodevelop.com and get ur XS without all this fancy mobile stuff.
Hi. How I can debug in Xamarin? What I need do for activate debugger? I have this option is disabled: http://goo.gl/cDGIk1
May 24 2014
parent reply "evilrat" <evilrat666 gmail.com> writes:
On Saturday, 24 May 2014 at 16:41:41 UTC, Dmitry wrote:
 On Saturday, 24 May 2014 at 09:49:30 UTC, evilrat wrote:
 why not just use Xamarin Studio with Mono-D?
But only the trial of Xamarin Studio is for free, and I used eclipse for Java before and really like it :P
actually not. you don't even need to register at all. just go to http://monodevelop.com and get ur XS without all this fancy mobile stuff.
Hi. How I can debug in Xamarin? What I need do for activate debugger? I have this option is disabled: http://goo.gl/cDGIk1
there is a plugin for linux for GDB i believe, and another plugin for Windows which i can't remember the name, the latter one disappeared from XS 5.0 by some reason. search the extensions for it. unfortunatelly if you are on Windows best option is to use Mono-D for writing code, and VisualD to debug it. (there is also DCD/DScanner but i never tried it myself). also on OS X debugging is almost impossible due to some problems with symbols/LTS with DMD <=2.065 so far.
May 24 2014
parent reply "Dmitry" <dmitry indiedev.ru> writes:
On Saturday, 24 May 2014 at 18:00:05 UTC, evilrat wrote:
 there is a plugin for linux for GDB i believe, and another 
 plugin for Windows which i can't remember the name, the latter 
 one disappeared from XS 5.0 by some reason. search the 
 extensions for it.
I use Windows. Thanks, I think I found it: https://github.com/llucenic/MonoDevelop.Debugger.Gdb.D But now I cant install it, here is error: The package 'MonoDevelop.Core v4.0' could not be found in any repository The package 'MonoDevelop.Ide v4.0' could not be found in any repository I dont know where is this repository.
 unfortunatelly if you are on Windows best option is to use 
 Mono-D for writing code, and VisualD to debug it. (there is 
 also DCD/DScanner but i never tried it myself).
Currently it is not way for me. I already wrote about it - I cant build my project with DSFML in VisualStudio. Maybe in future I can resolve it. But not now.
May 25 2014
next sibling parent "evilrat" <evilrat666 gmail.com> writes:
On Sunday, 25 May 2014 at 08:59:55 UTC, Dmitry wrote:
 On Saturday, 24 May 2014 at 18:00:05 UTC, evilrat wrote:
 there is a plugin for linux for GDB i believe, and another 
 plugin for Windows which i can't remember the name, the latter 
 one disappeared from XS 5.0 by some reason. search the 
 extensions for it.
I use Windows. Thanks, I think I found it: https://github.com/llucenic/MonoDevelop.Debugger.Gdb.D But now I cant install it, here is error: The package 'MonoDevelop.Core v4.0' could not be found in any repository The package 'MonoDevelop.Ide v4.0' could not be found in any repository I dont know where is this repository.
GDB is for linux only. for Windows there is ddbg or something like that, but as i said above it is disappeared not so long ago.
 unfortunatelly if you are on Windows best option is to use 
 Mono-D for writing code, and VisualD to debug it. (there is 
 also DCD/DScanner but i never tried it myself).
Currently it is not way for me. I already wrote about it - I cant build my project with DSFML in VisualStudio. Maybe in future I can resolve it. But not now.
are you making your own solution in VisualD or using dub to generate all stuff? because using dub to generate solutions for you will get you very convinient setup for debugging anything(thanks to Visual Studio project dependencies)
May 25 2014
prev sibling parent reply "evilrat" <evilrat666 gmail.com> writes:
On Sunday, 25 May 2014 at 08:59:55 UTC, Dmitry wrote:
 I use Windows. Thanks, I think I found it: 
 https://github.com/llucenic/MonoDevelop.Debugger.Gdb.D
 But now I cant install it, here is error:
 The package 'MonoDevelop.Core v4.0' could not be found in any 
 repository
 The package 'MonoDevelop.Ide v4.0' could not be found in any 
 repository
 I dont know where is this repository.
sorry, forgot to add - Mono-D is moving to XS 5.0 (alpha), so if XS 4.0 not working for you, try to switch on alpha channel updates.
May 25 2014
parent "Dmitry" <dmitry indiedev.ru> writes:
On Sunday, 25 May 2014 at 09:44:18 UTC, evilrat wrote:
 sorry, forgot to add - Mono-D is moving to XS 5.0 (alpha), so 
 if XS 4.0 not working for you, try to switch on alpha channel 
 updates.
on the contrary, I have now XS 5.0 and I have a reply:
 aBothe commented an hour ago
 It's not there for 5.0 yet, unfortunately -- mostly due my 
 lazyness,
 but it's under a larger reconstruction.
https://github.com/llucenic/MonoDevelop.Debugger.Gdb.D/issues/4
May 25 2014
prev sibling parent reply "David" <dvrueden97 gmx.de> writes:
On Saturday, 24 May 2014 at 09:49:30 UTC, evilrat wrote:
 On Saturday, 24 May 2014 at 09:35:01 UTC, David wrote:
 On Friday, 23 May 2014 at 17:47:56 UTC, evilrat wrote:
 why not just use Xamarin Studio with Mono-D?
But only the trial of Xamarin Studio is for free, and I used eclipse for Java before and really like it :P
actually not. you don't even need to register at all. just go to http://monodevelop.com and get ur XS without all this fancy mobile stuff.
So I installed that Xamarin studio (hope i had to), what to do with the mono D thing now? don't know hot to install it :P
May 24 2014
parent Mike Wey <mike-wey example.com> writes:
On 05/24/2014 09:53 PM, David wrote:
 So I installed that Xamarin studio (hope i had to), what to do with the
 mono D thing now?
 don't know hot to install it :P
In Xamarin go to: tools -> Add-in manager Then open the Gallery tab, and there should be a D Language binding in the Language Bindings section. -- Mike Wey
May 24 2014
prev sibling next sibling parent Benjamin Thaut <code benjamin-thaut.de> writes:
Am 22.05.2014 17:39, schrieb David:
 Hey, I'm really new to D, and pretty new to programming overall too,
 But I want to make a 3d Game, (just sth. small). I really like D and
 want to do it in D, but in the Internet there is no shit about
 programming a game in D ^^
 Is there any engine written in D?
 For example the CryEngine is for C++, so I would have to write a wrapper?
 So, how do I write a wrapper? I would need a wrapper for DirectX too right?
 Are there any wrappers ore Engines for D i can use?
 btw. I know I dont write that in 1 day ^^
 Are there any tutorials or sth. on Programming a Game in D?
 Soooooooo I just wanna come as far to have a little Cube where i can run
 around on with a few phisics :) so just the startup to load a world and
 so on
 Thanks in advance :)
 And sry my english sucks :D
I wrote a game in D, and its doable. See http://3d.benjamin-thaut.de/?p=20 Its even on github: https://github.com/Ingrater/Spacecraft Kind Regards Benjamin Thaut
May 23 2014
prev sibling next sibling parent "Namespace" <rswhite4 googlemail.com> writes:
On Thursday, 22 May 2014 at 15:39:36 UTC, David wrote:
 Hey, I'm really new to D, and pretty new to programming overall 
 too,
 But I want to make a 3d Game, (just sth. small). I really like 
 D and want to do it in D, but in the Internet there is no shit 
 about programming a game in D ^^
 Is there any engine written in D?
 For example the CryEngine is for C++, so I would have to write 
 a wrapper?
 So, how do I write a wrapper? I would need a wrapper for 
 DirectX too right?
 Are there any wrappers ore Engines for D i can use?
 btw. I know I dont write that in 1 day ^^
 Are there any tutorials or sth. on Programming a Game in D?
 Soooooooo I just wanna come as far to have a little Cube where 
 i can run around on with a few phisics :) so just the startup 
 to load a world and so on
 Thanks in advance :)
 And sry my english sucks :D
As long as I've used D, I have developed on Dgame (http://dgame-dev.de/) but built only one small official game with it: http://dgame-dev.de/?page=show But anyhow, maybe it's helpfull for you. :)
May 23 2014
prev sibling next sibling parent reply "ponce" <contact gam3sfrommars.fr> writes:
On Thursday, 22 May 2014 at 15:39:36 UTC, David wrote:
 Hey, I'm really new to D, and pretty new to programming overall 
 too,
 But I want to make a 3d Game, (just sth. small). I really like 
 D and want to do it in D, but in the Internet there is no shit 
 about programming a game in D ^^
 Is there any engine written in D?
 For example the CryEngine is for C++, so I would have to write 
 a wrapper?
 So, how do I write a wrapper? I would need a wrapper for 
 DirectX too right?
 Are there any wrappers ore Engines for D i can use?
 btw. I know I dont write that in 1 day ^^
 Are there any tutorials or sth. on Programming a Game in D?
 Soooooooo I just wanna come as far to have a little Cube where 
 i can run around on with a few phisics :) so just the startup 
 to load a world and so on
 Thanks in advance :)
 And sry my english sucks :D
Hi David, Learning programming, learning D and learning 3D are 3 significant endeavours. You might want to begin with http://www.basic4gl.net/ which will get you going with 3D, quite a topic in itself. Then learn D regardless :)
May 24 2014
parent reply "David" <dvrueden97 gmx.de> writes:
On Saturday, 24 May 2014 at 08:54:53 UTC, ponce wrote:

 Hi David,

 Learning programming, learning D and learning 3D are 3 
 significant endeavours.
 You might want to begin with http://www.basic4gl.net/ which 
 will get you going with 3D, quite a topic in itself.
 Then learn D regardless :)
So, I'v used Blender for a half year or sth. and I think I can make a little area :) As far as I know, I do now need a graphic and physics engines, 1 of the graphic APIs and for sure my programming stuff and here I'm stuck :D And I still can't install Mono-D :( if I try I just get a whole bunch of errors that any packages couldn't be found, don't know if I'm doing sth. wrong (I probably do :P)
May 27 2014
parent reply "Szymon Gatner" <noemail gmail.com> writes:
On Tuesday, 27 May 2014 at 10:03:36 UTC, David wrote:
 On Saturday, 24 May 2014 at 08:54:53 UTC, ponce wrote:

 Hi David,

 Learning programming, learning D and learning 3D are 3 
 significant endeavours.
 You might want to begin with http://www.basic4gl.net/ which 
 will get you going with 3D, quite a topic in itself.
 Then learn D regardless :)
So, I'v used Blender for a half year or sth. and I think I can make a little area :) As far as I know, I do now need a graphic and physics engines, 1 of the graphic APIs and for sure my programming stuff and here I'm stuck :D And I still can't install Mono-D :( if I try I just get a whole bunch of errors that any packages couldn't be found, don't know if I'm doing sth. wrong (I probably do :P)
I would STRONGLY advise to go with a ready engine like Unity. You still have to learn a lot before you will have just building blocks to create a game like loading and rendering 3D models, a gameplay framework etc etc. Start with Unity, lean how to make a game there. Learn how to programm gameplay there and after that, when you see what is needed before even being able to make a game, only then try to make things from scratch. Use C# in Unity too as it is similar to D so you will have easier transition when necessary.
May 27 2014
next sibling parent "Ryan Voots" <simcop2387 simcop2387.info> writes:
On Tuesday, 27 May 2014 at 10:13:13 UTC, Szymon Gatner wrote:
 I would STRONGLY advise to go with a ready engine like Unity.

 You still have to learn a lot before you  will have just 
 building blocks to create a game like loading and rendering 3D 
 models, a gameplay framework etc etc.

 Start with Unity, lean how to make a game there. Learn how to 
 programm gameplay there and after that, when you see what is 
 needed before even being able to make a game, only then try to 
 make things from scratch. Use C# in Unity too as it is similar 
 to D so you will have easier transition when necessary.
I'd definitely agree. The things you'll learn there will make using something else actually possible. Starting from scratch you'll spend about the first year or so building up the boilerplate to let you actually get to the parts you want. I've built up about half a dozen engines to that point to only lose interest or run into issues with the story I'm trying to tell and stop making progress. That said I'm hoping to have YAGE[1] up and working again with D2 soon which would mean that there should be a nice starting point for building games with D; Even if that starting point is some basic ideas of what doesn't work well.
May 27 2014
prev sibling parent reply "David" <dvrueden97 gmx.de> writes:
On Tuesday, 27 May 2014 at 10:13:13 UTC, Szymon Gatner wrote:
 On Tuesday, 27 May 2014 at 10:03:36 UTC, David wrote:
 On Saturday, 24 May 2014 at 08:54:53 UTC, ponce wrote:

 Hi David,

 Learning programming, learning D and learning 3D are 3 
 significant endeavours.
 You might want to begin with http://www.basic4gl.net/ which 
 will get you going with 3D, quite a topic in itself.
 Then learn D regardless :)
So, I'v used Blender for a half year or sth. and I think I can make a little area :) As far as I know, I do now need a graphic and physics engines, 1 of the graphic APIs and for sure my programming stuff and here I'm stuck :D And I still can't install Mono-D :( if I try I just get a whole bunch of errors that any packages couldn't be found, don't know if I'm doing sth. wrong (I probably do :P)
I would STRONGLY advise to go with a ready engine like Unity. You still have to learn a lot before you will have just building blocks to create a game like loading and rendering 3D models, a gameplay framework etc etc. Start with Unity, lean how to make a game there. Learn how to programm gameplay there and after that, when you see what is needed before even being able to make a game, only then try to make things from scratch. Use C# in Unity too as it is similar to D so you will have easier transition when necessary.
Ok, now I just wonder wich Engine. (I know everybody hates the discussion about the "best" engine.) CryEngine, UDK, Unity or a less known Engine?
May 28 2014
next sibling parent "Ryan Voots" <simcop2387 simcop2387.info> writes:
On Wednesday, 28 May 2014 at 17:46:23 UTC, David wrote:
 Ok, now I just wonder wich Engine. (I know everybody hates the
 discussion about the "best" engine.) CryEngine, UDK, Unity or a
 less known Engine?
The best engine is the one you can get work done with. Unity seems to have a pretty good community around it lately and has a free version to play with. Having all of that documentation and community to fall back on is likely to be a benefit if you aren't hugely experienced yet.
May 28 2014
prev sibling parent reply "Francesco Cattoglio" <francesco.cattoglio gmail.com> writes:
On Wednesday, 28 May 2014 at 17:46:23 UTC, David wrote:
 Ok, now I just wonder wich Engine. (I know everybody hates the
 discussion about the "best" engine.) CryEngine, UDK, Unity or a
 less known Engine?
I'll be honest, perhaps I risk being misunderstood, but the questions you are asking denote a lack of even basic knowledge about the subject, so I really think you should do some good amount of research before even trying to write something on your own. Have you tried at least some free tools that allow you to script stuff and have simple stuff displayed on screen? I'm talking about stuff like Construct 2, GameMaker, RPGMaker, zGameEditor... even map editors like the ones from Blizzard (WarCraft 3 : TFT or StarCraft 2)?
May 28 2014
parent reply "David" <dvrueden97 gmx.de> writes:
On Wednesday, 28 May 2014 at 21:38:07 UTC, Francesco Cattoglio 
wrote:
 I'll be honest, perhaps I risk being misunderstood, but the 
 questions you are asking denote a lack of even basic knowledge 
 about the subject, so I really think you should do some good 
 amount of research before even trying to write something on 
 your own.
Well, I really don't have a lot of knowledge but I don't know where to start. The Problem is just that there is sooo much stuff in the internet and it's kinda hard to get some knowledge.
 Have you tried at least some free tools that allow you to 
 script stuff and have simple stuff displayed on screen? I'm 
 talking about stuff like Construct 2, GameMaker, RPGMaker, 
 zGameEditor... even map editors like the ones from Blizzard 
 (WarCraft 3 : TFT or StarCraft 2)?
So, i made a very little game with delphi Genesis3D and an Editor i don't remember about 2 years ago, but i don't know if i really knew what i was doing there :P
May 28 2014
parent reply "Francesco" <francesco.cattoglio gmail.com> writes:
On Wednesday, 28 May 2014 at 22:34:46 UTC, David wrote:
 On Wednesday, 28 May 2014 at 21:38:07 UTC, Francesco Cattoglio 
 wrote:
 I'll be honest, perhaps I risk being misunderstood, but the 
 questions you are asking denote a lack of even basic knowledge 
 about the subject, so I really think you should do some good 
 amount of research before even trying to write something on 
 your own.
Well, I really don't have a lot of knowledge but I don't know where to start. The Problem is just that there is sooo much stuff in the internet and it's kinda hard to get some knowledge.
I know what you mean, but don't despair! When you have no idea, start by looking for books and especially manuals. They did wonders in the past for me.
 Have you tried at least some free tools that allow you to 
 script stuff and have simple stuff displayed on screen? I'm 
 talking about stuff like Construct 2, GameMaker, RPGMaker, 
 zGameEditor... even map editors like the ones from Blizzard 
 (WarCraft 3 : TFT or StarCraft 2)?
So, i made a very little game with delphi Genesis3D and an Editor i don't remember about 2 years ago, but i don't know if i really knew what i was doing there :P
This is really good, but I think you will need a little more than this to get properly started. I'm not saying "don't use D". Actually, I'd say DO use D, just don't use it right now. Choose something you want to create (might be a pacman clone, a 2D pinball, a short RPG demo, a roguelike, etc), google something along the lines of "game development tool" and find some tool that is simple and fits you need. Work with the tool for some time (2-3 months) and then start learning the programing behind what you created and re-write your small project in D. This should help you greatly because you will have much more clear (and reachable) objectives.
May 29 2014
parent reply "David" <dvrueden97 gmx.de> writes:
Hi, not too sure if there's still someone reading this post, but 
i do have another question. So, I heared so much good stuff about 
D, it's powerfull, fast the syntax is nice, but well, why is D 
actually not used for common games yet? (I mean I know about some 
smaller projects, but nothing "big")
Aug 02 2014
next sibling parent reply "Foo" <test foo.bar> writes:
On Saturday, 2 August 2014 at 20:38:59 UTC, David wrote:
 Hi, not too sure if there's still someone reading this post, 
 but i do have another question. So, I heared so much good stuff 
 about D, it's powerfull, fast the syntax is nice, but well, why 
 is D actually not used for common games yet? (I mean I know 
 about some smaller projects, but nothing "big")
Because D has a GC, is unstable and has many many bugs (even an ape could find some).
Aug 02 2014
parent reply "eles" <eles eles.com> writes:
On Saturday, 2 August 2014 at 20:58:34 UTC, Foo wrote:
 On Saturday, 2 August 2014 at 20:38:59 UTC, David wrote:
 Hi, not too sure if there's still someone reading this post, 
 but i do have another question. So, I heared so much good 
 stuff about D, it's powerfull, fast the syntax is nice, but 
 well, why is D actually not used for common games yet? (I mean 
 I know about some smaller projects, but nothing "big")
Because D has a GC, is unstable and has many many bugs (even an ape could find some).
I am not in the game industry, but in other time-constrained industry (realtime). For me, it nails down to GC and lack of volatiles. I tried to use it for some scripting, but finally reverted back to simple Bash and some Python. My opinion on the matter is that, in order to succeed, D really must become a tool that could be used everywhere. The discourse that "yes, but you could do that part in C (speaking about realtime)" usually receives this kind of reply: "yes, but, then, why bother? If I have C for this part, I have Bash for the other and C# for the GUIs". As long as it does not try to cover all the range, the differential that it offers wrt C+C#/Java+Bash/Python does not seems conclusive enough to justify the effort. Add to this the quality of tools, which are still in their infancy (just consider dynamic libs, debug support, IDE support, static analysis tools etc.) Well, feel free to destroy it. But I tried to use it at my workplace. It is a nice language, but the differential is simply not enough. The main selling point would be its potential ubiquity ("hey, boss, one language to rule them all!"), but here it fails short in systems programming, embedded realtime programming and, as far as I hear, in massive multi-threading/couroutines where Go is better. And C# has that async... I agree it is a bit o chicken and egg problem: "we don't invest in D because is not popular/ the language is not popular because nobody invest in it". That's true, but, as I tried it, in the end the marginal gain was too small for us to continue on this road. It matters less for us to be able to use slices than it matters to have robust and time-predictable code.
Aug 03 2014
parent reply "eles" <eles eles.com> writes:
On Sunday, 3 August 2014 at 12:37:51 UTC, eles wrote:
 On Saturday, 2 August 2014 at 20:58:34 UTC, Foo wrote:
 On Saturday, 2 August 2014 at 20:38:59 UTC, David wrote:
 on this road. It matters less for us to be able to use slices
And this while D really nailed down two things very well: strings and templates (I dream that one day C++ will adopt D's syntax for templates...). And scope() too, albeit recently people are talking about its deprecation. We go back to C++'s RAII... Plus, there are some features that never were nailed down and, as long as they remain in fish tail, many will simply just wait for them to be, you know, cleared in a way or another: property, the recent assert/assume, the allocation in Phobos, the destructors of a class etc. Facing all this stuff, one simply wonders sometimes how other languages managed to stick for a solution and still get some use in real life... Flame or not, too much hesitation on some topics. Yes, much concern to nail them perfectly, I agree. But sometimes is rather paralysis by analysis...
Aug 03 2014
parent reply "David" <dvrueden97 gmx.de> writes:
Hi,
About 2 month ago I started learning modding for minecraft with 
the Forge API
I was reading through a lot of classes of minecraft and even no 
it might not seem like, I learned a freking lot about how games 
work and stuff and improved my programming skill a lot (Yes for 
Java but also overall)
So now, I want to come back to my own game with a lot of 
questions :P
So first of all, I'm not sure if D is really the best choice for 
me. Since its just pretty hard for begginers like me without any 
tutorials and anything to come up with a game. Then what language 
should it be? It should have a big community around and be a good 
language for games (fast) and it should not be called C++.
And I know you told me it would be a better idea to get going 
first with easier tools like gamemaker or something like that, 
but I seriously don't want to come up with something big anyway 
and if i fail completly I don't mind.
And finally, (now thats going far away from the actual point and 
maybe thats even the wrong forum for that) how is wrapping 
working? lets say I wrote a method methodA in Java in ClassA and 
wanted to use MethodA in D, how would I go about doing this? 
(Well, is a wrapper actually doing what I think?).
David = still a fool.
Aug 31 2014
parent "evilrat" <evilrat666 gmail.com> writes:
On Sunday, 31 August 2014 at 19:06:41 UTC, David wrote:

 So first of all, I'm not sure if D is really the best choice 
 for me. Since its just pretty hard for begginers like me 
 without any tutorials and anything to come up with a game. Then 
 what language should it be? It should have a big community 
 around and be a good language for games (fast) and it should 
 not be called C++.
C++ can be beautiful and convenient, but it is also time eater, especially when making your any average code that beautiful. Many words already was said about speed, but will you make AAA game like Mass Effect, Call of Duty or Skyrim? no you don't need that much speed. Lack of community is somewhat frightening, but here on D forum you will always get help. And last, you will hear it from everyone(mostly): if you wish make something just make, it won't go if you start thinking "i'll be back when there would be better tool/community/whatever...", just look at any community board and you will see it in action, any discussions about C++ superiority is mostly goes from people who at best just work it every day, have some own mind blocks, or worse just haters who heard from friend whose friend said he heared C++ is the only way... and so on. let me clarify - just do what you want, stop find excuses and don't listen to people when it comes to your imagination/wishes, there is not much D experience in industry, all "revievs" like above will be inadequate.
 And I know you told me it would be a better idea to get going 
 first with easier tools like gamemaker or something like that, 
 but I seriously don't want to come up with something big anyway 
 and if i fail completly I don't mind.
don't go that way if you don't wish doing that, that's it.
 ... lets say I wrote a method methodA in Java in ClassA and 
 wanted to use MethodA in D, how would I go about doing this? 
 (Well, is a wrapper actually doing what I think?).
two ways: port it to D(imho the better way unless you had large working library in Java), or make/find JNI bindings for D and call it using JNI.
Aug 31 2014
prev sibling next sibling parent reply Rikki Cattermole <alphaglosined gmail.com> writes:
On 3/08/2014 8:38 a.m., David wrote:
 Hi, not too sure if there's still someone reading this post, but i do
 have another question. So, I heared so much good stuff about D, it's
 powerfull, fast the syntax is nice, but well, why is D actually not used
 for common games yet? (I mean I know about some smaller projects, but
 nothing "big")
The GC is an issue yes, mostly because of it being stop the world with collections. Also language features can't all be used without the GC which is also another issue. So it's possible for games to skip frames because of this. Another reason is, game engines. A lot of smaller companies will want an engine already made. After all they can't spend the time making that as well. IDE's do I need to explain that? Lastly the game dev industry is very hesitant to change languages for a lot of reasons. And one of those is platform support. They won't be seeing D on e.g. Xbox One anytime soon if you get my drift.
Aug 02 2014
next sibling parent reply "Kapps" <opantm2+spam gmail.com> writes:
On Sunday, 3 August 2014 at 03:39:25 UTC, Rikki Cattermole wrote:
 Lastly the game dev industry is very hesitant to change 
 languages for a lot of reasons. And one of those is platform 
 support. They won't be seeing D on e.g. Xbox One anytime soon 
 if you get my drift.
Apparently D already works on the Xbox One using Windows with -m64 (and thus COFF) and Visual Studio's toolchain, at least in conjunction with some C++ (I'm not sure about standalone, though I don't see why not).
Aug 02 2014
parent Rikki Cattermole <alphaglosined gmail.com> writes:
On 3/08/2014 5:18 p.m., Kapps wrote:
 On Sunday, 3 August 2014 at 03:39:25 UTC, Rikki Cattermole wrote:
 Lastly the game dev industry is very hesitant to change languages for
 a lot of reasons. And one of those is platform support. They won't be
 seeing D on e.g. Xbox One anytime soon if you get my drift.
Apparently D already works on the Xbox One using Windows with -m64 (and thus COFF) and Visual Studio's toolchain, at least in conjunction with some C++ (I'm not sure about standalone, though I don't see why not).
Interesting, thought we'd need some sort of changes to at least the compiler for it. Might be worth making this more well known. I can make the point for other consoles. E.g. PS4, Nvidia Shield. It won't work like c++ does atleast. Who is a first class citizen.
Aug 02 2014
prev sibling parent "Colden Cullen" <ColdenCullen gmail.com> writes:
I'm just gonna leave this here: 
https://github.com/Circular-Studios/Dash

I should note that Dash is extremely not 1.0, but we're 
definitely close. Expect some API changes, though.
Aug 03 2014
prev sibling next sibling parent reply Mike Parker <aldacron gmail.com> writes:
On 8/3/2014 5:38 AM, David wrote:
 Hi, not too sure if there's still someone reading this post, but i do
 have another question. So, I heared so much good stuff about D, it's
 powerfull, fast the syntax is nice, but well, why is D actually not used
 for common games yet? (I mean I know about some smaller projects, but
 nothing "big")
There's a huge amount of existing, and proven, C and C++ infrastructure in the game industry. Companies aren't going to be willing to throw that out on a whim. Then there are issues about platform support, tooling, GC-phobia, and other small things that all add up to put D in the category of "Big Risk." That said, it has seen some minor use in the game industry (most notably from Remedy). It may yet see more, but until a AAA team takes a chance on it and has a proven success, I don't expect it to catch on there. The indie/hobby space is a different matter entirely. --- This email is free from viruses and malware because avast! Antivirus protection is active. http://www.avast.com
Aug 02 2014
parent "eles" <eles eles.com> writes:
On Sunday, 3 August 2014 at 05:17:08 UTC, Mike Parker wrote:
 On 8/3/2014 5:38 AM, David wrote:
 about platform support,
I know the story. But throwing all the weight behind a more-standard back-end would improve things. Yes, it would require some transition effort. But, then, ldc and gdc won't be condemned to play catch-up forever.
Aug 03 2014
prev sibling parent "ponce" <contact gam3sfrommars.fr> writes:
On Saturday, 2 August 2014 at 20:38:59 UTC, David wrote:
 Hi, not too sure if there's still someone reading this post, 
 but i do have another question. So, I heared so much good stuff 
 about D, it's powerfull, fast the syntax is nice, but well, why 
 is D actually not used for common games yet? (I mean I know 
 about some smaller projects, but nothing "big")
A lot of commercial game middleware is already written in C++. Without such third-party libs, it's hard to make a AAA games. Linking to C++ middleware is way easier if your game is in C++ itself. C++ programmers are accustomed to C++ and the ones who weren't flocked to Java, C#, whatever.
Aug 03 2014
prev sibling next sibling parent "MrSmith" <mrsmith33 yandex.ru> writes:
Also opengl tutorials for D
https://github.com/d-gamedev-team/opengl-tutorials
May 25 2014
prev sibling parent reply "rcor" <murphyslaw480 gmail.com> writes:
Just wanted to point out that there are also D bindings for 
Allegro5 (https://github.com/SiegeLord/DAllegro5). Allegro is a 
bit like SDL or SFML, but personally I find it a bit more 
intuitive. I've been using the D bindings for about a month and 
they seem to work fine. Most Allegro tutorials are for C/C++, but 
they're not too hard to translate -- all of the allegro 
functions/structs work almost identically in D as they do in C.
Sep 01 2014
next sibling parent "rcor" <murphyslaw480 gmail.com> writes:
Also, regarding comments about Garbage Collection -- yes, it 
could be an issue, but its not a showstopper. C# (which has a GC) 
was widely used to create PC and 360 games with the XNA library 
(which lives on as MonoGame). If you have a real time game that 
manages many objects at once, you may have to be careful about 
allocating/freeing resources and resort to methods like object 
pooling (reusing objects rather than destroying them and creating 
new ones), but it should be doable.
Sep 01 2014
prev sibling parent "Israel" <tl12000 live.com> writes:
On Monday, 1 September 2014 at 17:24:10 UTC, rcor wrote:
 Just wanted to point out that there are also D bindings for 
 Allegro5 (https://github.com/SiegeLord/DAllegro5). Allegro is a 
 bit like SDL or SFML, but personally I find it a bit more 
 intuitive. I've been using the D bindings for about a month and 
 they seem to work fine. Most Allegro tutorials are for C/C++, 
 but they're not too hard to translate -- all of the allegro 
 functions/structs work almost identically in D as they do in C.
That is just overkill. Problem with these libraries is that David now has to go compile everyone and their mother from scratch. Lets face it, nobody wants to waste their time on that... My recommendation is GFM "http://code.dlang.org/packages/gfm", sure it may not be full featured but at least it gets the job done and without the need for compiling. Just add GFM modules to dub.json "gfm:core": ">=0.0.0", "gfm:math": ">=0.0.0", "gfm:image": ">=0.0.0", "gfm:sdl2": ">=0.0.0", "gfm:opengl": ">0.0.0", "gfm:freeimage": ">0.0.0"
Sep 01 2014