![]() |
#1 | |
Veteran
Join Date: Apr 2007
Posts: 1,947
Donated: $40
![]() |
User interface in Angband 4 (feedback requested!)
Hello all,
I've written a blog post on what I'm planning to do with Angband in terms of user interface by the time Angband 4 rolls around. You might want to read it here, but the main point I would like feedback on is the direction of the game user interface: Quote:
__________________
takkaria whispers something about options. -more- |
|
![]() |
![]() |
![]() |
#2 |
Vanilla maintainer
Join Date: Apr 2007
Location: Canberra, Australia
Age: 55
Posts: 8,592
Donated: $60
![]() |
The only note of caution I would sound is that slowdown on the Nintendo DS is sometimes noticeable, because of the little CPU/memory. Getting a better handheld experience is going to be hamstrung a bit if the enhanced graphical features make the game run like glue.
On the other hand, it may be that by the time Angband 4 comes along handhelds are going to be easily able to deal with the new graphics.
__________________
One for the Dark Lord on his dark throne In the Land of Mordor where the Shadows lie. |
![]() |
![]() |
![]() |
#3 |
Veteran
Join Date: Jun 2007
Posts: 1,372
![]() |
Disclaimer: I haven't really been playing vanilla Angband very much, but I have played a lot of variants quite extensively and have sort-of maintained ToME 2 for a while.
As a player: I've always been an ASCII kind of guy, but I think I'd appreciate a more modern interface in other respects. E.g. there's no particular reason to use non-proportional fonts for display anywhere else than the map. (Well maybe the character sheet, but if it's just for alignment then it can be done in better ways.) Not sure about graphical effects/animations while still using ASCII for "tiles", but I guess I could get used to it (or just turn them off). As a developer: Given my lack of knowledge of the internals of Angband, I'm not sure how qualified I am to comment. FWIW, I do have extensive development experience (in a variety of languages) outside of Angband. Separating the game logic and display seems like a good idea overall, but I think you might want to avoid having all the display logic in the code of each front-end -- it's hard to tell from your diagram exactly what the intention is here. Doing so may make the overall system more brittle with respect to changes in internal structures (and thus more resistant to change). Maybe have a separate "display module" which can take care of high-level display logic, such as e.g. assembling all the bits needed to display a character sheet into a form which is general and yet more useful to a front end than just a pointer to the player struct. The "terminal" abstraction may also still prove useful for the display of the main dungeon. (etc.). Most importantly though: Do NOT make the mistake of going for a "rewrite" type transition. Even if a more gradual transition is more work in total(*) it WILL be worth it. Any "rewrite" type transition requires an enormous amount of motivation in general and they almost never succeed in practice because very few people will be using your buggy,slow,only-works-on-platform-X intermediate when they (as they perceive it) can just keep playing the old stable version until the new shiny version is done. Therefore I think it's crucial that any such radical refactoring/rewriting goes in stages where each stage becomes part of an official downloadable, pre-built version. (*) I'm not necessarily convinced that that is the case, but I'll grant it for the sake of argument. Question Are you intenting to keep using C? I'm quite curious to see how you'll pull this off in terms without the niceties of an OOish language (polymorphism, interfaces, etc.). I'm well aware that these things can technically be achieved, but everywhere I've seen it in C the code has reeked. (Yes, that very much includes GObject/GLib/GTK.) Conclusion Whatever you decide: Good luck! ![]() |
![]() |
![]() |
![]() |
#4 | |
Prophet
Join Date: Apr 2007
Location: Climbing up from hole I just dug.
Posts: 4,096
![]() |
Quote:
EDIT: looked at the ToME screenshots and they look just horrifyingly ugly. Hideous. blech. EDIT to EDIT: If you go that way, I would put up a vote for new angband maintainer. What you would be doing is a variant. |
|
![]() |
![]() |
![]() |
#5 |
Rookie
Join Date: Dec 2010
Location: Europe
Posts: 8
![]() |
I'm not sure variable-width fonts are really necessary. They're troublesome to implement smoothly compared to a fixed font grid. It's not like a fixed-width font is particularly hard to read at present. Having multiple font types will also make interface elements seem more detached, which may not be desirable.
I wouldn't like mixing outright graphical elements with an otherwise character-graphic display. But then, there were some neat effects in TOME 2, delayed and impressive spells all animated in plain ASCII. I'd love those. The tidal wave surging outward from the @ was particularly cool. Sangband had one or two flashy spells as well. Adding menu borders using same fixed-width character graphics would be perfectly fine, although that might mean adding an extra character row for the border on top and below any menu or list, which could be problematic on 25-row or shorter displays. But if going the truly graphical way, why not consider adding an isometric tile mode right into Vanilla? Assuming a retro-3D frontend is out of the question. Modularising input and output is certainly a good goal. Vanilla already feels pretty nice from a user's point of view, but in view of future extendability, refactoring sounds very useful. |
![]() |
![]() |
![]() |
#6 | |
Veteran
Join Date: Apr 2007
Posts: 1,947
Donated: $40
![]() |
Quote:
__________________
takkaria whispers something about options. -more- Last edited by takkaria; January 16, 2011 at 14:55. |
|
![]() |
![]() |
![]() |
#7 | |
Veteran
Join Date: Apr 2007
Posts: 1,947
Donated: $40
![]() |
Quote:
__________________
takkaria whispers something about options. -more- |
|
![]() |
![]() |
![]() |
#8 |
Knight
|
I for one don't play roguelikes (or any other tactics game) with the mouse... even Crawl and Tome4, I still play with the keyboard, and Advance Wars and Final Fantasy Tactics A2 I play with the dpad and buttons, not the DS touchscreen, and Grotesque Tactics: Evil Heroes? Ugh, why do I have to use the mouse to do anything useful?!
So whether you add a super-duper mouse interface is irrelevant to me, as long as the keyboard interface is not impacted negatively! As for graphics, I do have to say that graphics when done WELL are not bad - see Crawl for an example of this; perhaps you could even import some of Crawl's CC-licensed tiles? ![]() Not that I want to bash entirely on Tome4 here - it does have a lot of neat concepts, like hotkeys for abilities and spells (why do I have to type maa to cast magic missile all the time in Angband?!), auto-targeting (Crawl does this too - instead of starting spells with no target and requiring you to choose one manually, it starts with the nearest reasonable target - usually an enemy, but yourself or an ally in the case of healing spells!), and all sorts of abilities and effects you wouldn't normally find in roguelikes, and might instead find only in WoW or Torchlight (warrior abilities that give knockback effects to your attack? spells with cooldown times as well as mana costs? large-scale graphic effects like alchemical explosions?) So... yeah, if you can pull off this separation of GUI logic from game logic, without messing up the core gameplay of Angband, that would be awesome... who knows, it might even lead to a pseudo-client-server model for the game, which means that you'd have an "Angband core" (AngbandBase anyone? ![]()
__________________
You read the scroll labeled NOBIMUS UPSCOTI... You are surrounded by a stasis field! The tengu tries to teleport, but fails! |
![]() |
![]() |
![]() |
#9 | |||
Veteran
Join Date: Apr 2007
Posts: 1,947
Donated: $40
![]() |
Quote:
Quote:
Quote:
![]()
__________________
takkaria whispers something about options. -more- |
|||
![]() |
![]() |
![]() |
#10 | ||
Veteran
Join Date: Apr 2007
Posts: 1,947
Donated: $40
![]() |
Quote:
![]() Quote:
![]()
__________________
takkaria whispers something about options. -more- |
||
![]() |
![]() |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Angband (or variant) Feature Suggestion Poll/Feedback thread | PaulBlay | Vanilla | 77 | March 9, 2009 03:40 |
User-interface requests | juggle5 | Vanilla | 3 | February 17, 2009 08:28 |
Angband Code Interface to GUI | meeshoo | Vanilla | 50 | February 3, 2009 18:18 |
Variant(s) with the best user interface? | CJNyfalt | Variants | 14 | April 5, 2008 20:51 |
Angband User Manual Wiki | JamesDoyle | Oook! | 31 | February 7, 2008 01:25 |