Angband.oook.cz
Angband.oook.cz
AboutVariantsLadderForumCompetitionComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Development

Reply
 
Thread Tools Display Modes
Old February 5, 2019, 12:12   #31
Nick
Vanilla maintainer
 
Nick's Avatar
 
Join Date: Apr 2007
Location: Canberra, Australia
Age: 54
Posts: 7,860
Donated: $60
Nick will become famous soon enough
Quote:
Originally Posted by takkaria View Post
At some point, if you start adding checks to gamedata files, you end up with a (hard to understand and nonstandard) scripting language... at which point you might as well just add one. Angband tried this around version 3 and it was taken out in 3.0.7 because it was badly implemented and no-one liked it. I suspect there is limited appetite to re-incorporate one.
Yeah, I've already been down that road a bit with object_power.txt, which I suspect was overreach.
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
Nick is offline   Reply With Quote
Old February 5, 2019, 13:04   #32
tangar
Knight
 
tangar's Avatar
 
Join Date: Mar 2015
Location: Moscow, Russia
Posts: 552
tangar is on a distinguished road
Quote:
Originally Posted by takkaria View Post
At some point, if you start adding checks to gamedata files, you end up with a (hard to understand and nonstandard) scripting language... at which point you might as well just add one. Angband tried this around version 3 and it was taken out in 3.0.7 because it was badly implemented and no-one liked it. I suspect there is limited appetite to re-incorporate one.
If it would be simple - it would be alright. Checks which I proposed are pretty simple - not need to know anything about coding, scripting, lua etc; they are ideal for game designers; with such checks they could achieve almost everything.

Quote:
Originally Posted by Nick View Post
Yeah, I've already been down that road a bit with object_power.txt, which I suspect was overreach.
object_power.txt.. Before you noted it, I didn't check this file; now after a first glance - I didn't get what is it, until I've checked it's decription in object.txt:

Quote:
# 'power' is used in calculating the power of the object for pricing and generating random artifacts. It reflects the power of the effect of the object; other properties are taken into account separately in power calculation.
Ok, now I understand how it works

Why I wrote my experience about this file? To show that it is _advanced_ stuff which is nice to have, but it's not obligatory. It's more close to coding stuff, than to game design; pretty deep thing. I suppose if it would be in the code it would be less comfortable to change this; so it's great to have! But a moderate game designer wouldn't use such type of customization for a long time.

I'm speaking about simple, but powerful stuff, which could give 'common' non-coding people ways to customize the game.

I think customization with checks and stuff could be limited to this files:
- object.txt
- monster.txt
- class.txt
- p_race.txt
- trap.txt

It would be more than enough to make a loads of innovative stuff which would provide players and game designers possilities to bring more interesting ideas and variants. It would enhance Angband customization enormously, would make really advancing (in possibilities, not in complexity) game design accessible for _everyone_, not only coders.
__________________
http://tangaria.com - persistent online multiplayer roguelike game
tangar.info - my website ⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽ My chars @ angband.oook.cz
youtube.com/GlazGame — streams in English ⍽ youtube.com/StreamGuild — streams in Russian

Last edited by tangar; February 5, 2019 at 13:09.
tangar is online now   Reply With Quote
Old February 5, 2019, 14:06   #33
t4nk
Swordsman
 
Join Date: May 2016
Posts: 330
t4nk is on a distinguished road
That reminds me of process_pref_file_expr()... Horrible thing that no one wants to touch At some point I actually considered improving it - at least, splitting into lexer and parser, and maybe making more generally useful - but then decided against it

Quote:
Originally Posted by tangar View Post
If it would be simple - it would be alright. Checks which I proposed are pretty simple - not need to know anything about coding, scripting, lua etc; they are ideal for game designers; with such checks they could achieve almost everything.
"Almost everything"? If you're a racist, maybe Why should it be limited to player's race? What about class, stats, equipment, state (blind, hungry, wounded...), level type (classic, caverns), level depth... and all other things. Being limited to race is more like "almost nothing".

Quote:
It would enhance Angband customization enormously, would make really advancing (in possibilities, not in complexity) game design accessible for _everyone_, not only coders.
This is already possible. If you want to do some programming, you'd better learn some programming language (such as C).
Speaking of "accessible", have you ever tried to translate Angband to, say, Russian? Doesn't it bother you that a lot of text is so thoroughly hardcoded into the game? (even grammar is hardcoded - plurals, articles)... Reminds me of Poschengband's "#ifdef JP"...
As you see, Angband is not even supposed to be "accesible to _everyone_".
t4nk is offline   Reply With Quote
Old February 5, 2019, 16:20   #34
tangar
Knight
 
tangar's Avatar
 
Join Date: Mar 2015
Location: Moscow, Russia
Posts: 552
tangar is on a distinguished road
Quote:
Originally Posted by t4nk View Post
"Almost everything"? If you're a racist, maybe Why should it be limited to player's race? What about class, stats, equipment, state (blind, hungry, wounded...), level type (classic, caverns), level depth... and all other things. Being limited to race is more like "almost nothing".
Please read previous messages. We are speaking about checks to gamedata files. Checks, Carl. Simple 'if' statements.

So.. "Limited to player's race"? Erm. What ar y speaking about, sir? Maybe you read the forum with mobile device and missed something? I've listed several basic files:

Quote:
Originally Posted by tangar View Post
- object.txt
- monster.txt
- class.txt
- p_race.txt
- trap.txt
Stuff which you are listed ("class, stats, equipment, state") could be customized within this files with checks with a lot of success. "level type (classic, caverns)" and "level depth" modification do not really require checks in gamedata, it's too 'deep' stuff which should be modded in code.

So I've listed this files as minimal basis which conclude the most crucial points of gameplay where 'if' statements would make the most important features for game design.

Quote:
Originally Posted by t4nk View Post
This is already possible. If you want to do some programming, you'd better learn some programming language (such as C).
It's obvious that it's possible. Everything is possible. It's possible to write Angband in assembler. Please note that this topic called "Customization of gamedata files" and it's about enhancing staff in \lib\gamedata folder; enhancing Angband 'game engine'.

Quote:
Originally Posted by t4nk View Post
Speaking of "accessible", have you ever tried to translate Angband to, say, Russian? Doesn't it bother you that a lot of text is so thoroughly hardcoded into the game? (even grammar is hardcoded - plurals, articles)... Reminds me of Poschengband's "#ifdef JP"...
How come this question related to the subject which we discuss there? But actually there is Angband in Russian: http://www.gamer.ru/everything/angba...rsiya-rogalika So what?

Quote:
Originally Posted by t4nk View Post
As you see, Angband is not even supposed to be "accesible to _everyone_".
Such counterproductive 'elitism' approach wouldn't help to move Angband and roguelike genre forward. Ability to code and ability to create game design - it's different areas of creativity/technology. In early time all developers had to do everything by themself; but now there are instruments which could bring more people to the development process. And it could be not only brainstorm on Nick's ideas on forum (with all respect, I enjoy this discussions!), but actually giving community powerful tool for game design - a real 'game engine'.

And it's almost there, I'll say current customization looks like an 'alpha' version atm. It's provide a lot of interesting possibilities, eg even simple 'RANDOM' statement, which mentioned Takkaria, could bring loads of fun and experimentation to the gameplay and make it much more deep.

p.s.
And considering myself, as you've noted: "If you want to do some programming, you'd better learn some programming language (such as C)" - I'm learning C atm (it's not too hard as I had some experience in PHP and it seems all languages have quite similar principles). But it doesn't make this concept less valuable for me. Customization is future of Angband. This is next wave of 'open-source' approach - gives community direct access to the development process.
__________________
http://tangaria.com - persistent online multiplayer roguelike game
tangar.info - my website ⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽ My chars @ angband.oook.cz
youtube.com/GlazGame — streams in English ⍽ youtube.com/StreamGuild — streams in Russian
tangar is online now   Reply With Quote
Old February 5, 2019, 17:02   #35
t4nk
Swordsman
 
Join Date: May 2016
Posts: 330
t4nk is on a distinguished road
Meh, I started to write a reply, but decided against it... tbh, tangar, you just annoy me, which is not your fault, so I should probably avoid discussions with you. Sorry about that... I'll just elaborate on the translations stuff:
Angband moved a lot of stuff into text files, which I don't agree with (so I also don't agree with your proposal to move even more stuff into them). Ironically, the things that should logically be in the text files - the, well, texts - are still hardcoded in the binary and no one cares. If you're ok with stuff like in your link (which is no better than the English version, just like Chengband's Japanese version is also not any better), it shouldn't be difficult to understand why someone would be ok with programming stuff remaining in C.
t4nk is offline   Reply With Quote
Old February 5, 2019, 17:32   #36
tangar
Knight
 
tangar's Avatar
 
Join Date: Mar 2015
Location: Moscow, Russia
Posts: 552
tangar is on a distinguished road
No problemo

Considering translation: it could be fun to separate texts from the source, eg to be able to implement proper translation. But it's not the topic of this particular discussion. Translation of the game and problems which connected with this process - it's very different subject and has nothing to do with 'game engine' - gamedata customization files; their .txt format doesn't meat that they contain texts; it's just config files. So if you are interested in Angband translation and linguistic aspecs - you better to create separate topic about it and propose your ideas to the community, than get annoyed there
__________________
http://tangaria.com - persistent online multiplayer roguelike game
tangar.info - my website ⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽⍽ My chars @ angband.oook.cz
youtube.com/GlazGame — streams in English ⍽ youtube.com/StreamGuild — streams in Russian
tangar is online now   Reply With Quote
Old February 5, 2019, 21:03   #37
Nick
Vanilla maintainer
 
Nick's Avatar
 
Join Date: Apr 2007
Location: Canberra, Australia
Age: 54
Posts: 7,860
Donated: $60
Nick will become famous soon enough
One of my (less immediate) aims is to get all the game messages into a data file or files. Monster messages are almost there already (see list-mon-message.h), all that needs to be done is for the actual messages to be pulled out into a data file - there will still need to be a linking file to match the messages with the code for them. It would be a bit of work, but feasible.
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
Nick is offline   Reply With Quote
Old February 6, 2019, 00:07   #38
Pete Mack
Prophet
 
Join Date: Apr 2007
Location: Seattle, WA
Posts: 5,414
Donated: $40
Pete Mack is on a distinguished road
I am not clear on how you want configuration to be stored as an alternative to text files? Or is it just the format you don't like?

Quote:
Originally Posted by t4nk View Post
Angband moved a lot of stuff into text files, which I don't agree with (so I also don't agree with your proposal to move even more stuff into them). Ironically, the things that should logically be in the text files - the, well, texts - are still hardcoded in the binary and no one cares. If you're ok with stuff like in your link (which is no better than the English version, just like Chengband's Japanese version is also not any better), it shouldn't be difficult to understand why someone would be ok with programming stuff remaining in C.
Pete Mack is offline   Reply With Quote
Old February 6, 2019, 00:21   #39
t4nk
Swordsman
 
Join Date: May 2016
Posts: 330
t4nk is on a distinguished road
Quote:
Originally Posted by Pete Mack View Post
I am not clear on how you want configuration to be stored as an alternative to text files?
Well, if I were modding Angband, I'd move quite a lot of that back to C - that is, a .c file, to be parsed and compiled by the C compiler... Especially stuff like dices.
t4nk is offline   Reply With Quote
Old February 6, 2019, 00:23   #40
takkaria
Veteran
 
takkaria's Avatar
 
Join Date: Apr 2007
Posts: 1,936
Donated: $40
takkaria is on a distinguished road
Really to do localisation well you want something like Project Fluent. GNU Gettext is one way people do things but it's awful, and rolling a custom one will be even worse because it won't even coverthe edge cases that gettext does... https://projectfluent.org/

Annoying there's no C version, but there is a Rust version that could maybe have a C shim put on top of it.
__________________
takkaria whispers something about options. -more-
takkaria is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
RST help files fph Development 13 September 6, 2011 21:08
Pref files relic Vanilla 11 August 9, 2011 21:40
Updating help files fizzix Vanilla 23 August 3, 2010 05:19
delete.me files konijn_ Development 2 December 8, 2009 23:43
edit files? tummychow Vanilla 2 September 13, 2009 21:38


All times are GMT +1. The time now is 08:42.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.