I used to think that, but I see it as more like an ecosystem now. As a maintainer it's great to have so many variants around to steal ideas from. So the process of a maintainer developing their ideas, and then others copying it doesn't just give a chance for all the variants to improve, but in the end it probably ends up with better implementations.
That's especially the case for "creative" ideas, but I think it also is for coding techniques (sorry, I English bad today). There's also the thing that Angband and variants have such a broad design space that you can do things like wilderness or randarts in many, many different ways.
Compiling with VS2015
Collapse
X
-
The improved data model for parsing makes all the difference.
If you look at the code, there's a tiny core in initialization and effect_do, and a lot of busywork (cut and paste of effects from original code, and cut and paste of projection side effects.) Using unanband would have cut busywork only slightly--you still have to verify the list of effects for V.Leave a comment:
-
[I]
EDIT: I was going to do a whole "janitor"/"maintainer" analogy here, but... meh.Last edited by AnonymousHero; April 14, 2017, 18:29.Leave a comment:
-
-
The first one to separate spell effects was Andrew Doull (Unangband.)Leave a comment:
-
Just to be a little constructive: I actually have a little experience in converting an existing code base from C to C++ and it does actually work out pretty smoothly[1]
I actually thought seriously about using D "back in the day", but honestly: At the time it was extremely niche, but even today it's (unfortunately) still quite a niche language.
Overall I do think that D might be a better language if you want to do metaprogrammingLast edited by t4nk; April 14, 2017, 17:01.Leave a comment:
-
-
In principle I believe its approach to equipment modifiers was also an interesting experiment; I'm just sad that it never reached the point where it could really be playtested.
Re: strong typing, with a project of this size, I agree, having typechecking is a must. Python does allow you to annotate variables with types and has for ages; back in 2008 I had a game project where I made a 2D coordinate tuple type that was at least an order of magnitude faster than the untyped version. But having the capability is not the same thing as mandating its use, of course.Leave a comment:
-
@t4nk: I actually thought seriously about using D "back in the day", but honestly: At the time it was extremely niche, but even today it's (unfortunately) still quite a niche language.
Overall I do think that D might be a better language if you want to do metaprogramming (an obvious win in Angband-like code, I feel), but C++ is catching up via "static if" and constexpr...Leave a comment:
-
Ha. Ha. Ha. That's a noob language that nobody uses!!111one
Just to be a little constructive: I actually have a little experience in converting an existing code base from C to C++ and it does actually work out pretty smoothly[1]. Of course, there's a lot of code and it takes quite a long time to even get the basic things converted. (The pain was doubled because I first had to get rid of the Lua code by converting to plain C. "Fortunately" the Lua code was already very C-like, so it was doable. Painful but doable.)
One thing I feel very strongly about is that any large scale project must have static type checking. Maybe it's just me, but I believe very strongly in Type-driven Design... even if C++ is kind of an anemic and horrible language to do it in.
[1] I find that C++ is actually a reasonably nice language these days (post-C++14 with good-constexpr), but YMMV.
EDIT: Actually, I'd like to add: Even if nothing further comes from it, I think Pyrel was definitely a worthwhile experiment.Last edited by AnonymousHero; April 14, 2017, 12:04.Leave a comment:
-
Also, Angband is a normal procedural program and I don't see any particular reason to change that radically.
And write it in Python.Leave a comment:
-
C++ makes a modicum of sense here because you can do the upgrade piecemeal. If you're going to completely rewrite the game in a different, incompatible language, you might as well do a top-down redesign. And write it in Python. Oh look, it's Pyrel again. Too bad I ran out of steam before getting it all the way finished.Leave a comment:
-
)
Actually, you know what. How about converting it to DLeave a comment:
-
I feel that this the perfect moment to chime in and say that Angband should convert to C++. C'mon, people!
/trolling
EDIT: FWIW, the quality of the MS compilers for C or C++ are appalling. (I mean they're trying to catch up... and getting a lot better, but they're still nowhere near Clang or GCC in terms of rapid compliance to new standards.)Leave a comment:
-
Leave a comment:
Leave a comment: