Angband.oook.cz
Angband.oook.cz
AboutVariantsLadderForumCompetitionComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Variants

Reply
 
Thread Tools Display Modes
Old August 7, 2008, 23:07   #1
st.patrik
Rookie
 
Join Date: Aug 2008
Posts: 9
st.patrik is on a distinguished road
Isometric on a Mac

Hi all!

I have messed around with Angband variants for a while and always used the ascii mode, but recently am trying Unangband, which has some interesting looking isometric tiles available. Trouble is, I can't figure out how to use them. I am using Mac OS X, which may complicate matters.

I choose the different tile sizes from the Appearance menu, and the 8x8, 16x16, and 32x32 show up (though they are all the same size, which was unexpected...). But the Isometric 54x54 tiles don't.

Does anyone know anything about how to get tiles, especially large size tiles, set up on a mac? Or better yet, specifically getting Unangband's Isometric tiles up and running?

I searched the forums but couldn't find an answer.
st.patrik is offline   Reply With Quote
Old August 9, 2008, 12:46   #2
andrewdoull
Unangband maintainer
 
andrewdoull's Avatar
 
Join Date: Apr 2007
Location: Sydney, Australia
Age: 45
Posts: 872
andrewdoull is on a distinguished road
Quote:
Originally Posted by st.patrik View Post
Hi all!

I have messed around with Angband variants for a while and always used the ascii mode, but recently am trying Unangband, which has some interesting looking isometric tiles available. Trouble is, I can't figure out how to use them. I am using Mac OS X, which may complicate matters.

I choose the different tile sizes from the Appearance menu, and the 8x8, 16x16, and 32x32 show up (though they are all the same size, which was unexpected...). But the Isometric 54x54 tiles don't.

Does anyone know anything about how to get tiles, especially large size tiles, set up on a mac? Or better yet, specifically getting Unangband's Isometric tiles up and running?

I searched the forums but couldn't find an answer.
It's windows only at the moment unfortunately.

And highly experimental e.g. great for screenshots but not for actual gameplay.

Andrew
__________________
The Roflwtfzomgbbq Quylthulg summons L33t Paladins -more-
In UnAngband, the level dives you.
ASCII Dreams: http://roguelikedeveloper.blogspot.com
Unangband: http://unangband.blogspot.com
andrewdoull is offline   Reply With Quote
Old August 9, 2008, 13:30   #3
Lebannen
Apprentice
 
Join Date: Apr 2008
Posts: 61
Donated: $20
Lebannen is on a distinguished road
I'm actually working on this as we speak (Though away from home this week, so don't expect it too soon).

The Mac graphics at the moment use the current font tile size - so to display graphics at different sizes, either alter your font size or the width/height (bottom of the Appearance menu). Setting the "Double Wide" option can also help a lot.

(How do other ports handle this, by the way - if you choose 32x32, are the font settings changed to match? That sounds like a good idea...)

UnAngband won't currently save the tile width and tile height settings between sessions on the Mac - I'm working on an updated version which has fixed this, and am now working on support for the 54x54 iso tiles.
Lebannen is offline   Reply With Quote
Old August 11, 2008, 04:04   #4
st.patrik
Rookie
 
Join Date: Aug 2008
Posts: 9
st.patrik is on a distinguished road
Downer

That's too bad that Isometric is windows only...is this likely to change? or shall I stop thinking about it?

Lebannen - you mean you are working on Isometric for Mac, or just better support of graphics in general? I took some of your hints (increasing the font size) and found that eventually I could get it to change. Initially I was getting tiles with black borders around them.

Thanks for the responses folks - I know Macs are not overwhelmingly represented in the Angband community, and so I appreciate that there mac versions of many variants, and I appreciate the responses.
st.patrik is offline   Reply With Quote
Old August 27, 2008, 01:55   #5
Lebannen
Apprentice
 
Join Date: Apr 2008
Posts: 61
Donated: $20
Lebannen is on a distinguished road
Quote:
Originally Posted by st.patrik View Post
That's too bad that Isometric is windows only...is this likely to change? or shall I stop thinking about it?
It might be likely to change... http://angband.oook.cz/forum/showthr...=828&page=5#42

As andrewdoull notes, the isometric mode is still highly experimental, ie very rough around the edges. What you'll see in the Mac version above is very close to the experience I get on a Windows machine, with one improvement: I've altered the yellow "cursor" box to follow the isometric mode settings as well (roughly), so that "look" and similar commands remain useful. (The windows version also flickers a lot when I try it, but that may be because I'm running it in an emulator)



My thoughts on the isometric mode, having played around with it a bit:

1) It would really benefit from having the graf-iso.prf definitions updated. Other modes get away with substituting text characters for missing graphics definitions; in isometric, text characters are still drawn on the underlying grid, which makes them very hard to associate with the offset gap in the iso tiles. In addition, the graf-iso.prf seems to be rather behind the graf-dvg.prf defitions, despite the layout being very similar (I think?) - for example, backgrounds seem to default fairly often and the player character is always represented by one icon, whatever the race/class?

2) The isometric mode is a normal grid-based layout, skewed and rotated. This means the corners of the screen are always empty, and odd window shapes means the edges can go offscreen. It would be lovely if the underlying engine fed a different area to draw in iso modes.

3) Similarly, repaints are also skewed. Text is often left on screen and not painted over.

4) Because the entire grid is redrawn every move, there's quite a speed penalty. I think it would be beneficial to repaint only updated tiles and the two directly behind; by combining this with a already-redrawn check, the worst case wouldn't be too much worse than refreshing the entire screen and most cases would be much better...

5) The drawing system should be able to tell whether it should be laying out graphics and text in an iso operation or a normal operation. Currently tiles are laid out via iso in the main window and normally outside that; text is always laid out via the normal grid. This ensures that the graphics look ok and text is legible, but there's a few edge cases: ASCII graphics fallbacks are drawn on the underlying grid instead of on the iso grid, and there's a hard choice as to whether to draw the cursor yellow rectangle on the normal grid (text entry, list navigation) or on the isometric grid ("l"ook, targetting, and so forth).


It'd be very interesting to get a proper mode up and running, and I think it could be a slow evolution from the current state. It'd also make the game potentially much more appealing to newcomers, especially if it's a start-mode question such as those used on first launch in Unangband.

I want to hit a few more variants with the current Mac code, but then I may try tackling a few of these a bit later along.
Lebannen is offline   Reply With Quote
Old August 28, 2008, 15:48   #6
andrewdoull
Unangband maintainer
 
andrewdoull's Avatar
 
Join Date: Apr 2007
Location: Sydney, Australia
Age: 45
Posts: 872
andrewdoull is on a distinguished road
Quote:
Originally Posted by Lebannen View Post
(How do other ports handle this, by the way - if you choose 32x32, are the font settings changed to match? That sounds like a good idea...)
There's a 'nice' graphics option on windows that attempts to choose a double or triple tile size and/or big tile combination that best matches the font and tile size you currently have, ensuring that the graphic tiles are never scaled.

From the source code:

if (use_graphics_nice)
{
switch (use_graphics)
{
case GRAPHICS_DAVID_GERVAIS_ISO:
{
/* Reset the tile info */
td->tile_wid = 54;
td->tile_hgt = 54;
break;
}

case GRAPHICS_DAVID_GERVAIS:
{
/* Reset the tile info */
td->tile_wid = 32;
td->tile_hgt = 32;
break;
}

case GRAPHICS_ADAM_BOLT:
{
/* Reset the tile info */
td->tile_wid = 16;
td->tile_hgt = 16;
break;
}

case GRAPHICS_ORIGINAL:
{
/* Reset the tile info */
td->tile_wid = 8;
td->tile_hgt = 8;
break;
}

case GRAPHICS_NONE:
{
/* Reset the tile info */
td->tile_wid = td->font_wid;
td->tile_hgt = td->font_hgt;
break;
}

}

use_trptile = FALSE;
use_dbltile = FALSE;
use_bigtile = FALSE;

if ((td->tile_hgt >= td->font_hgt * 3) && (td->tile_wid >= td->font_wid * 3))
{
use_trptile = TRUE;
td->tile_wid /= 3;
td->tile_hgt /= 3;
}
else if ((td->tile_hgt >= td->font_hgt * 2) && (td->tile_wid >= td->font_wid * 2))
{
use_dbltile = TRUE;
td->tile_wid /= 2;
td->tile_hgt /= 2;
}

if (td->tile_wid >= td->font_wid * 2)
{
use_bigtile = TRUE;
td->tile_wid /= 2;
}

if (td->tile_wid < td->font_wid) td->tile_wid = td->font_wid;
if (td->tile_hgt < td->font_hgt) td->tile_hgt = td->font_hgt;

I hope that makes sense.
__________________
The Roflwtfzomgbbq Quylthulg summons L33t Paladins -more-
In UnAngband, the level dives you.
ASCII Dreams: http://roguelikedeveloper.blogspot.com
Unangband: http://unangband.blogspot.com
andrewdoull is offline   Reply With Quote
Old August 28, 2008, 15:50   #7
andrewdoull
Unangband maintainer
 
andrewdoull's Avatar
 
Join Date: Apr 2007
Location: Sydney, Australia
Age: 45
Posts: 872
andrewdoull is on a distinguished road
Quote:
Originally Posted by Lebannen View Post
It might be likely to change... http://angband.oook.cz/forum/showthr...=828&page=5#42

As andrewdoull notes, the isometric mode is still highly experimental, ie very rough around the edges. What you'll see in the Mac version above is very close to the experience I get on a Windows machine, with one improvement: I've altered the yellow "cursor" box to follow the isometric mode settings as well (roughly), so that "look" and similar commands remain useful. (The windows version also flickers a lot when I try it, but that may be because I'm running it in an emulator)



My thoughts on the isometric mode, having played around with it a bit:

1) It would really benefit from having the graf-iso.prf definitions updated. Other modes get away with substituting text characters for missing graphics definitions; in isometric, text characters are still drawn on the underlying grid, which makes them very hard to associate with the offset gap in the iso tiles. In addition, the graf-iso.prf seems to be rather behind the graf-dvg.prf defitions, despite the layout being very similar (I think?) - for example, backgrounds seem to default fairly often and the player character is always represented by one icon, whatever the race/class?

2) The isometric mode is a normal grid-based layout, skewed and rotated. This means the corners of the screen are always empty, and odd window shapes means the edges can go offscreen. It would be lovely if the underlying engine fed a different area to draw in iso modes.

3) Similarly, repaints are also skewed. Text is often left on screen and not painted over.

4) Because the entire grid is redrawn every move, there's quite a speed penalty. I think it would be beneficial to repaint only updated tiles and the two directly behind; by combining this with a already-redrawn check, the worst case wouldn't be too much worse than refreshing the entire screen and most cases would be much better...

5) The drawing system should be able to tell whether it should be laying out graphics and text in an iso operation or a normal operation. Currently tiles are laid out via iso in the main window and normally outside that; text is always laid out via the normal grid. This ensures that the graphics look ok and text is legible, but there's a few edge cases: ASCII graphics fallbacks are drawn on the underlying grid instead of on the iso grid, and there's a hard choice as to whether to draw the cursor yellow rectangle on the normal grid (text entry, list navigation) or on the isometric grid ("l"ook, targetting, and so forth).


It'd be very interesting to get a proper mode up and running, and I think it could be a slow evolution from the current state. It'd also make the game potentially much more appealing to newcomers, especially if it's a start-mode question such as those used on first launch in Unangband.

I want to hit a few more variants with the current Mac code, but then I may try tackling a few of these a bit later along.
Sounds like the same list I put together the last time I complained that the maintainer of Unangband only ever did half a job

Andrew
__________________
The Roflwtfzomgbbq Quylthulg summons L33t Paladins -more-
In UnAngband, the level dives you.
ASCII Dreams: http://roguelikedeveloper.blogspot.com
Unangband: http://unangband.blogspot.com
andrewdoull is offline   Reply With Quote
Old August 28, 2008, 15:50   #8
andrewdoull
Unangband maintainer
 
andrewdoull's Avatar
 
Join Date: Apr 2007
Location: Sydney, Australia
Age: 45
Posts: 872
andrewdoull is on a distinguished road
Quote:
Originally Posted by andrewdoull View Post
Sounds like the same list I put together the last time I complained that the maintainer of Unangband only ever did half a job

Andrew
Just to clarify, I'm not talking about Bandobras or Big Al here...
__________________
The Roflwtfzomgbbq Quylthulg summons L33t Paladins -more-
In UnAngband, the level dives you.
ASCII Dreams: http://roguelikedeveloper.blogspot.com
Unangband: http://unangband.blogspot.com
andrewdoull 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
[NPP] Compiling on Mac OS X chem Variants 10 January 6, 2009 23:40
Isometric Angband Peteuplink Variants 6 July 25, 2008 11:00
Compile failure for 3.0.9 on Mac OS X 10.4.10 TreeFrog Vanilla 4 November 8, 2007 15:58
Sangband and Oangband for Mac? Corydon Variants 3 July 27, 2007 23:27


All times are GMT +1. The time now is 05:19.


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