michael blunck wrote:Problem is that we didn´t find (or develop) such a language, although we´ve been discussing that particular problem for years now ...
Could it be that we are looking at the 'problem' at a much too deep level, existing NFO, the machine code, instead of attacking it from above: "What do we want to accomplish when creating a GRF? How can we do that in the easiest way?"?
[...] the goal is to actually produce more GRF files, faster.
What for? Where should originate the needed graphics from?
You ignored a very important
if there. Also, I wrote earlier: "judging by the number of requests for coders..."
but far more time is used for including sprites, e.g., getting offsets right.
This particular problem is quite elegantly solved in GrfMaker, at least for trains and road vehicles. Maybe that part should be isolated out into a separate program?
which is a long-lasting process and it usually happens that during that process there are new ideas arising
So you need a development process that makes changes very easy to implement.
Alberth wrote:So where is that nice, easy to learn, powerful language that every-one wants?
?? You are writing one variant right now, aren't you? GrfMaker is one such attempt, NDL another, and so on. I don't think you'll ever find
one language that everybody loves - just look at all the other language wars there are out there. It's especially difficult to convert the people that already have a religion, sorry, language (process, whatever). We need diversity, and hopefully the good ones will flow up to the top.
Another reason may be that the compilers cannot keep up with GRF development, ie GRF is a moving target, and users want to have the latest/newest features.
Some users want to have the latest features, obviously. Beginners don't need that, as long as there is a migration/evolution path that can be followed. A simple "sprites in on one end, GRF out in the other" would help some graphics artists to see their creations in game earlier, keeping up the interest in the project better than six months waiting for a coder (admittedly, in six months anyone should be able to code a 'put graphics in game' GRF him/herself with Notepad). The step to creating a 'set', with cargo sprites, livery overrides, changes as time progresses, dependency checks and all that other fancy stuff is quite a bit larger.
users do very complex, widely varying things, which makes a (generic) high level language highly complex or impossible to implement.
Only if you insist in modeling the machine code (NFO) directly into your HLL. We do actually program computers in C++, Pascal, Perl, etc. etc. nowadays, without seeing the need for a 1:1 relation between HLL and machine code.
One of the more fundamental problems may be that there is no general agreement of what a "easy to learn and fast to develop" language really is.
A good start could be:
If it can easily be done by the computer, do it with the computer.
The human should not have to
- count sprite lines, characters in a string, bytes in a sprite line, etc.
- convert numbers between bases
- convert numbers to multiple bytes
- care about endian-ness
- know the internal structure of the machine code
- calculate offsets
- memorize a lot of things such as 'magical numbers', it should be possible to look things up quickly instead (that's more a question of an IDE than the actual language).
- ...