www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - D demoscene compo

reply ponce <aliloko gmail.com> writes:
Hi D lovers,

We managed to win the demo compo at the Numerica Artparty #2 with a D demo
entry.
http://www.pouet.net/prod.php?which=52780

Source code will be released soon under the WTFPL because some sceners were
interested in D.


As I understood, C++ is usually prefered by demosceners over D because of
supposed "performance problems" with D, which are in fact negligible regarding
the productivity gain.

Though, despite the usual pleasure to use D we encounter several compiler bugs
in dmd 1.040. These bugs were somewhat random and would disappear during a 2nd
compiling attempt :
- frozen compiler (often)
- circular dependencies (less often)
- I think debug{...} directive would not compile despite -debug switch


Thanks for the good work and for this near-perfect language ^^
Mar 15 2009
next sibling parent reply BCS <none anon.com> writes:
Hello ponce,

 
 Source code will be released soon under the WTFPL 
LOL, now /that's/ a license I can work with!
Mar 15 2009
parent reply Don <nospam nospam.com> writes:
BCS wrote:
 Hello ponce,
 
 Source code will be released soon under the WTFPL 
LOL, now /that's/ a license I can work with!
Why isn't there a version of that with non-offensive wording???? There's a hundred nearly-identical software licenses out there, but that's the only one I've seen that actually tries to be public domain.
Mar 16 2009
next sibling parent reply Clay Smith <clayasaurus gmail.com> writes:
Don wrote:
 BCS wrote:
 Hello ponce,

 Source code will be released soon under the WTFPL 
LOL, now /that's/ a license I can work with!
Why isn't there a version of that with non-offensive wording???? There's a hundred nearly-identical software licenses out there, but that's the only one I've seen that actually tries to be public domain.
You can relicense it however you want to.
Mar 16 2009
parent reply Don <nospam nospam.com> writes:
Clay Smith wrote:
 Don wrote:
 BCS wrote:
 Hello ponce,

 Source code will be released soon under the WTFPL 
LOL, now /that's/ a license I can work with!
Why isn't there a version of that with non-offensive wording???? There's a hundred nearly-identical software licenses out there, but that's the only one I've seen that actually tries to be public domain.
You can relicense it however you want to.
Yes, but that involves creating a new license. Which is the worst possible choice.
Mar 16 2009
parent reply Christopher Wright <dhasenan gmail.com> writes:
Don wrote:
 Clay Smith wrote:
 Don wrote:
 BCS wrote:
 Hello ponce,

 Source code will be released soon under the WTFPL 
LOL, now /that's/ a license I can work with!
Why isn't there a version of that with non-offensive wording???? There's a hundred nearly-identical software licenses out there, but that's the only one I've seen that actually tries to be public domain.
You can relicense it however you want to.
Yes, but that involves creating a new license. Which is the worst possible choice.
No, you can take a WTFPL work and include it in a GPL'd work without changing the license. You can't, however, sue someone for violating the GPL if they use only the WTFPL portions of the GPL'd work, because you don't own the copyright, and therefore you lack both standing in the court and the ability to restrict others' usage of the work.
Mar 16 2009
parent Don <nospam nospam.com> writes:
Christopher Wright wrote:
 Don wrote:
 Clay Smith wrote:
 Don wrote:
 BCS wrote:
 Hello ponce,

 Source code will be released soon under the WTFPL 
LOL, now /that's/ a license I can work with!
Why isn't there a version of that with non-offensive wording???? There's a hundred nearly-identical software licenses out there, but that's the only one I've seen that actually tries to be public domain.
You can relicense it however you want to.
Yes, but that involves creating a new license. Which is the worst possible choice.
No, you can take a WTFPL work and include it in a GPL'd work without changing the license. You can't, however, sue someone for violating the GPL if they use only the WTFPL portions of the GPL'd work, because you don't own the copyright, and therefore you lack both standing in the court and the ability to restrict others' usage of the work.
No, I mean I want to release code under the same conditions as the WTFPL license, but with less offensive wording. I can't do this without creating a new license. Every other license seems to have a silly "this notice may not be removed" clause. I'm only including a license for the benefit of the users, not for myself. With all the stuff people say about how there are legal ambiguities with public domain, I just find it unbelievable that there's no "formalized public domain" license.
Mar 17 2009
prev sibling next sibling parent dsimcha <dsimcha yahoo.com> writes:
== Quote from Don (nospam nospam.com)'s article
 BCS wrote:
 Hello ponce,

 Source code will be released soon under the WTFPL
LOL, now /that's/ a license I can work with!
Why isn't there a version of that with non-offensive wording???? There's a hundred nearly-identical software licenses out there, but that's the only one I've seen that actually tries to be public domain.
The funny thing is that I think the offensive wording is what makes it such a great license. People understand the offensive wording better than legalese, so there's never any question about what the license actually means.
Mar 16 2009
prev sibling parent reply "Joel C. Salomon" <joelcsalomon gmail.com> writes:
Don wrote:
 Why isn't there a version of that with non-offensive wording????
 There's a hundred nearly-identical software licenses out there, but
 that's the only one I've seen that actually tries to be public domain.
DO AS YE WILL PUBLIC LICENSE Version 1, March 2000 Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. Do as ye will. Satisfied? ☺ —Joel Salomon
Mar 17 2009
parent Don <nospam nospam.com> writes:
Joel C. Salomon wrote:
 Don wrote:
 Why isn't there a version of that with non-offensive wording????
 There's a hundred nearly-identical software licenses out there, but
 that's the only one I've seen that actually tries to be public domain.
DO AS YE WILL PUBLIC LICENSE Version 1, March 2000 Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. Do as ye will. Satisfied? ☺ —Joel Salomon
No. Googling for it produced no hits. Creating yet another license is unacceptable.
Mar 18 2009
prev sibling next sibling parent Daniel Keep <daniel.keep.lists gmail.com> writes:
ponce wrote:
 Hi D lovers,
 
 We managed to win the demo compo at the Numerica Artparty #2 with a D demo
entry.
 http://www.pouet.net/prod.php?which=52780
 
 Source code will be released soon under the WTFPL because some sceners were
interested in D.
Awesome! Congratulations!
 As I understood, C++ is usually prefered by demosceners over D because of
supposed "performance problems" with D, which are in fact negligible regarding
the productivity gain.
 
 Though, despite the usual pleasure to use D we encounter several compiler bugs
in dmd 1.040. These bugs were somewhat random and would disappear during a 2nd
compiling attempt :
 - frozen compiler (often)
The only times I've ever had this happen to me, it was the linker that had died.
 - circular dependencies (less often)
 - I think debug{...} directive would not compile despite -debug switch
 
 Thanks for the good work and for this near-perfect language ^^
Looking forward to the release. :) -- Daniel
Mar 15 2009
prev sibling next sibling parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
ponce wrote:
 Hi D lovers,
 
 We managed to win the demo compo at the Numerica Artparty #2 with a D demo
entry.
 http://www.pouet.net/prod.php?which=52780
 
 Source code will be released soon under the WTFPL because some sceners were
interested in D.
 
 
 As I understood, C++ is usually prefered by demosceners over D because of
supposed "performance problems" with D, which are in fact negligible regarding
the productivity gain.
Another problem is that a basic "hello world" app in D is usually huge by C++ standards, which is a big problem for the smaller demo categories. But this is really nice. D could be a great language for doing demos, because they need to run fast and you need to be able to write them fast, and D is pretty good on both counts. Maybe d.announce would be a better newsgroup to post this nice news about winning a demo compo with D? --bb
Mar 15 2009
parent ponce <aliloko gmail.com> writes:
Bill Baxter Wrote:

 But this is really nice.  D could be a great language for doing demos, 
 because they need to run fast and you need to be able to write them 
 fast, and D is pretty good on both counts.
Short compile-time was hugely appreciated too.
Mar 16 2009
prev sibling next sibling parent ponce <aliloko gmail.com> writes:
 http://www.pouet.net/prod.php?which=52780
 
 Source code will be released soon under the WTFPL because some sceners were
interested in D.
Source is released.
Mar 16 2009
prev sibling parent reply bearophile <bearophileHUGS lycos.com> writes:
ponce:
 Source is released.
I have found this only now, thanks to http://planet.dsource.org/ I have seem there's lot of code like this one: vec3!(T) xxx() { return vec3!(T)(x, x, x); } vec3!(T) xxy() { return vec3!(T)(x, x, y); } vec3!(T) xxz() { return vec3!(T)(x, x, z); } etc etc ... D1 allows you to do such things with less code (but less easy to understand): import std.metastrings: Format; import d.templates: Range; string product3(char[3] s)() { string result; foreach (i; Range!(3)) foreach (j; Range!(3)) foreach (k; Range!(3)) result ~= Format!("vec3!(T) %s() { return vec3!(T)(%s, %s, %s); }\n", ""~s[i]~s[j]~s[k], s[i], s[j], s[k]); return result; } pragma(msg, product3!("xyz")()); void main() {} That can also be generalized in a compile-time general product, but it may be overkill. Regarding the vec2D, vectors 3D, quaternions, segment-point distance, point-in-polygon, etc: most of such functions/classes/structs are present in most demos and games I have seen written in D, so I think such stuff deserves to be in the std libraries (Phobos and Tango), (part of that stuff is already present in my d libs, but this means little), avoiding people to re-implement them all the time. If you want you can polish such geometric code of yours, and offer it as a single module to Walter (with a license fitting for Phobos). Bye, bearophile
Mar 22 2009
parent reply ponce <aliloko gmail.com> writes:
bearophile Wrote:

 ponce:
 Source is released.
I have found this only now, thanks to http://planet.dsource.org/ I have seem there's lot of code like this one: vec3!(T) xxx() { return vec3!(T)(x, x, x); } vec3!(T) xxy() { return vec3!(T)(x, x, y); } vec3!(T) xxz() { return vec3!(T)(x, x, z); } etc etc ... D1 allows you to do such things with less code (but less easy to understand): import std.metastrings: Format; import d.templates: Range; string product3(char[3] s)() { string result; foreach (i; Range!(3)) foreach (j; Range!(3)) foreach (k; Range!(3)) result ~= Format!("vec3!(T) %s() { return vec3!(T)(%s, %s, %s); }\n", ""~s[i]~s[j]~s[k], s[i], s[j], s[k]); return result; } pragma(msg, product3!("xyz")()); void main() {} That can also be generalized in a compile-time general product, but it may be overkill.
At the time this code was written I didn't knew about such "C-preprocessor"-like templates. Thanks. My code is clearly not smart enough and there could have been only one matrix and one vector class.
 Regarding the vec2D, vectors 3D, quaternions, segment-point distance,
point-in-polygon, etc: most of such functions/classes/structs are present in
most demos and games I have seen written in D, so I think such stuff deserves
to be in the std libraries (Phobos and Tango), (part of that stuff is already
present in my d libs, but this means little), avoiding people to re-implement
them all the time. If you want you can polish such geometric code of yours, and
offer it as a single module to Walter (with a license fitting for Phobos).
 
 Bye,
 bearophile
This may be a problem since every game-orientated library and 3D programmer will redefine its own vectors/matrices/quaternions. At a certain point it is enjoyable but time-consuming. In fact everyone seems to like having its own vectors/matrices classes, so to be accepted as standard it has to be efficient, non-obtrusive and with short names. I think starting with some code from Defend would be more appropriate since it's already more template-aware and better tested.
Mar 23 2009
parent bearophile <bearophileHUGS lycos.com> writes:
ponce:
 In fact everyone seems to like having its own vectors/matrices classes, so to
be accepted as standard it has to be efficient, non-obtrusive and with short
names.<
Regarding the short names, most times the import alias: import std.geometry: v3d = vector3d; plus the normal alias and compound aliases and the typedefs are probably enough to avoid you the need to rewrite things just to have different names :-) Bye, bearophile
Mar 23 2009