Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Poll

Having tested both 2D/2DHW and STANDARD, how is 40d18 compared to 40d?

Faster, no problems
Faster, problematic
Same speed, no problems
Same speed, problematic
Slower, no other problems
Slower, problematic
Doesn't work at all

Pages: [1] 2 3 ... 25

Author Topic: FotF: Dwarf Fortress 40d18  (Read 104265 times)

Baughn

  • Noble Phantasm
  • The Haruhiist
  • Hiss
    • View Profile
FotF: Dwarf Fortress 40d18
« on: February 21, 2010, 09:01:18 pm »

This is not DF 2010. This is merely an update to 40d providing better performance and some other enhancements. It will be part of '10, however, it has no gameplay changes.

As you may be aware, Dwarf Fortress' approach to OpenGL leaves something to be desired. To the point of my writing terrible hacks like DF Accelerator, even..

At any rate, Toady has decided to do something about that, and did it by releasing the relevant source code so others could help.

This has been done: The code has been converted to use SDL by Bernard Helyer, and the output and input code was then optimized and enhanced by yours truly. It is almost complete. However, for Toady to accept the code into the next version of DF, your assistance is needed: It must be tested. This takes many dwarves.

Known bugs
- If you change the window size while a movie/the intro is playing, that particular movie gets messed up is turned into modern art. The game is not otherwise affected. (Fixed)
- The keybinding screen is not very intuitive.
- Adventure mode is pretty much broken, and going to stay that way until DF2010.
- DF may come up blank when you start it, and possibly spamming the terminal on linux. Resizing the window slightly should clear that up. (Fixed)
- Pressing space to leave a menu also pauses/unpauses the game. (Fixed)
- Image export is generally broken.
- Movies are broken in text mode (Fixed)
- Colored tilesets are discolored in 2D mode. (Partially fixed)
- There is a horrible performance bug in d18. It is fixed in d18-head; meanwhile, print-mode partial suffers less.

Download links
Windows: http://www.bay12games.com/dwarves/df_28_181_40d18_win.zip
Linux: http://www.bay12games.com/dwarves/df_28_181_40d18_linux.tar.bz2
OS X: http://www.bay12games.com/dwarves/df_28_181_40d18_osx.tar.bz2
For linux users, the following link will contain a tarball with the newest fixes, which might be officially released in 40d19, assuming there is one. It must be unpacked on top of the 40d18 tarball.
Linux 40d18 HEAD: http://brage.info/~svein/df-40d18-head.tar.bz2 Updated Mar. 4

For users on Linux and OS X, run the df script, don't run the dwarfort.exe executable directly.

Please download it, run it, and test with all the different tilesets and grid sizes your hearts desire. Graphics sets, too.

New features in 40d18 (vs. 40d)
- Translucent tilesets are supported, using PNG.
- The DF window can be resized on the fly.
- The grid size is autogenerated on startup; such init.txt settings are ignored.
- Current desktop size is used for fullscreen size if fullscreen resolution is set to 0x0.
- Window resolution is measured in tiles instead of pixels, if you use a size below 200x200.
- The DF window can be zoomed on the fly using the mouse wheel, though only in opengl mode.
- The keyboard input system has been totally rewritten:
* You can bind multiple keys to one command
* You can create keyboard macros
** Default keybindings:
** Ctrl-r to record (or stop recording) a macro
** Ctrl-p to play the currently active  macro
** Ctrl-s to save the active macro
** Ctrl-l to load a macro as the active one
* Input bindings are divided into sections
- A 2D mode has been added, for people with bad opengl drivers.
- A text mode has been added (Linux/OS X only), for SSH or console use.
- Lots of bugfixes and performance improvements.
Upcoming features in 40d19/40d18-HEAD
* ..a shader print-mode, speeding things up noticably on modern cards.

Bug-tracker
There should be a list of known bugs at http://github.com/Baughn/Dwarf-Fortress--libgraphics-/issues. Feel free to add yours there when you report it.

Tips and tricks
- If the default settings don't work, 2D almost certainly will. Make sure to try it.
- Make sure you test all the combinations for buffers/partial printing that Toady suggests in init.txt. Read the comments in that file, too.
- If you're having problems on windows, if possible, try running it on linux; this will provide information on whether it's hardware-dependent or software. Vice versa, too.

Linux
- If double-clicking on the script doesn't work, make sure you try it from a terminal so you can read the error output
- Required libraries include SDL and SDL_image, mainly. Make sure you have a 32-bit version of these, if you're on a 64-bit linux.


Source code
For perennially curious programmers, the source code (that is still under active development) can be found at git://github.com/Baughn/Dwarf-Fortress--libgraphics-.git. It uses the git version-control system, and can also be seen in a browser at http://github.com/Baughn/Dwarf-Fortress--libgraphics-/tree/master.

Compiling this code gives a functional DF, but it can only be compiled on Linux.
« Last Edit: March 04, 2010, 09:08:49 am by Baughn »
Logged
C++ makes baby Cthulhu weep. Why settle for the lesser horror?

arghy

  • Bay Watcher
    • View Profile
Re: FotF: Dwarf Fortress 40d18
« Reply #1 on: February 21, 2010, 10:17:47 pm »

Hate to post a non constructive first post but i wanted to know--is this the newest version of DF that toadys working on? like does it have underground and such? I dont normally take part in these tests as i'm horrible at diagnosing what went wrong but if this is the long awaited DF i'll gladly play and report my vague readings.
Logged

Baughn

  • Noble Phantasm
  • The Haruhiist
  • Hiss
    • View Profile
Re: FotF: Dwarf Fortress 40d18
« Reply #2 on: February 21, 2010, 10:20:35 pm »

See above. No, this is not DF'10.
Logged
C++ makes baby Cthulhu weep. Why settle for the lesser horror?

Quietust

  • Bay Watcher
  • Does not suffer fools gladly
    • View Profile
    • QMT Productions
Re: FotF: Dwarf Fortress 40d18
« Reply #3 on: February 21, 2010, 10:44:58 pm »

Strange... while comparing 40d17 to 40d18 so I could replicate all of my settings, I found the following change to the raws (specifically, the entity definition for Elves):
Code: [Select]
diff -ur 40d17\raw\objects\entity_default.txt 40d18\raw\objects\entity_default.txt
--- 40d17\raw\objects\entity_default.txt        Sun Aug 10 04:21:24 2008
+++ 40d18\raw\objects\entity_default.txt        Fri Jul 10 16:43:32 2009
@@ -222,8 +222,8 @@
        [WEAPON:ITEM_WEAPON_BOW]
                [AMMO:ITEM_AMMO_ARROWS]
        [WEAPON:ITEM_WEAPON_SWORD_LONG]
-       [ARMOR:ITEM_ARMOR_PLATEMAIL]
-       [ARMOR:ITEM_ARMOR_CHAINMAIL]
+       [ARMOR:ITEM_ARMOR_PLATEMAIL:COMMON]
+       [ARMOR:ITEM_ARMOR_CHAINMAIL:COMMON]
        [ARMOR:ITEM_ARMOR_COAT:COMMON]
        [ARMOR:ITEM_ARMOR_SHIRT:COMMON]
        [ARMOR:ITEM_ARMOR_CLOAK:COMMON]
Logged
P.S. If you don't get this note, let me know and I'll write you another.
It's amazing how dwarves can make a stack of bones completely waterproof and magmaproof.
It's amazing how they can make an entire floodgate out of the bones of 2 cats.

Footkerchief

  • Bay Watcher
  • The Juffo-Wup is strong in this place.
    • View Profile
Re: FotF: Dwarf Fortress 40d18
« Reply #4 on: February 21, 2010, 11:08:31 pm »

^^^ They just snuck in some minor corrections to the raws.  This isn't the first of those in 40d## -- earlier they put in a quick fix for the cat bug.
Logged

Quietust

  • Bay Watcher
  • Does not suffer fools gladly
    • View Profile
    • QMT Productions
Re: FotF: Dwarf Fortress 40d18
« Reply #5 on: February 21, 2010, 11:29:05 pm »

Doing a few speed tests, this version is unfortunately still slower than 40d on my machine (Core 2 Quad 2.4GHz, 512MB Geforce 8800GT with v182.06 drivers, Windows XP 32-bit, 3GB RAM):

For each mode, I loaded one of my fortresses, designated a tree just outside to be cut down, then waited. A legendary woodcutter would run out to the tree, start cutting, then immediately cancel and walk back inside. Another woodcutter would then meet him halfway, walk out, and finish the job.

40d, PARTIAL_PRINT:NO - 21fps (38 seconds)
40d, PARTIAL_PRINT:YES:0 - 23fps (36 seconds)
40d18, STANDARD - 14fps (57 seconds)
40d18, PARTIAL:0 - 15fps (51 seconds)
40d18, ACCUM_BUFFER - 15fps (50 seconds)
40d18, FRAME_BUFFER - 15fps (52 seconds)
40d18, VBO - instantly crashes on startup
40d18, 2D - 10fps (75 seconds)
40d18, 2DHW - 11fps (73 seconds)
40d18, 2DASYNC - 11fps (73 seconds)

In all cases, SINGLE_BUFFER was disabled - enabling it would always result in horrible flickering. FPS_CAP was set to 100 and G_FPS_CAP was set to 20. My window size is 1440x800 (desktop 1600x1200x32) using a 9x16 font, for an effective resolution of 160x50 characters.

As I stated in the 40d17 thread, I can only hope that DF 2010 will somehow have the option of using the original graphics code - while it may be "inefficient", it performs far better on my system than 40d18 does.

As another oddity, pressing Space to exit from the b/d/k/N/x/o/p/i/q/t/v/h/D menus (Build/Designate/Look/Note/Squads/etc.) is also acting like I hit Space a second time afterwards, causing the game to pause/unpause.
« Last Edit: February 21, 2010, 11:37:16 pm by Quietust »
Logged
P.S. If you don't get this note, let me know and I'll write you another.
It's amazing how dwarves can make a stack of bones completely waterproof and magmaproof.
It's amazing how they can make an entire floodgate out of the bones of 2 cats.

Echo7

  • Bay Watcher
  • Reading you loud and clear, kid.
    • View Profile
Re: FotF: Dwarf Fortress 40d18
« Reply #6 on: February 22, 2010, 12:21:02 am »

Let me be the first to say thanks for a mac version.  ;D 

Edit: While trying to save an embark profile, I cannot use the delete key.  ???
« Last Edit: February 22, 2010, 12:42:58 am by Echo7 »
Logged
Always shoot first.

CobaltKobold

  • Bay Watcher
  • ☼HOOD☼ ☼ROBE☼ ☼DAGGER☼ [TAIL]
    • View Profile
Re: FotF: Dwarf Fortress 40d18
« Reply #7 on: February 22, 2010, 01:40:59 am »

This is not DF 2010. This is merely an update to 40d providing better performance and some other enhancements. It will be part of '10, however, it has no gameplay changes.
Thank you, Baughn. It was necessary.

I will be testing this later.
Logged
Neither whole, nor broken. Interpreting this post is left as an exercise for the reader.
OCEANCLIFF seeding, high z-var(40d)
Tilesets

Malicus

  • Bay Watcher
    • View Profile
Re: FotF: Dwarf Fortress 40d18
« Reply #8 on: February 22, 2010, 02:13:46 am »

I noticed something -- which was probably in an earlier version, but also probably didn't get reported -- while copying over settings from d17's d_init.txt to d18's.  The comment for the options for showing embark features says "You can change these to ALWAYS and NO." but they all start on FINDER, which is not mentioned at all, by default.  I use ALWAYS all the time, so I don't know whether FINDER or NO is actually the correct one (or if it just defaults to the correct "no" if gibberish is entered).  Either way, something should probably be changed there so the default matches up with one of the given options.

Edit: I started up 40d18, and the music still does not play on the menu screen (like in 40d17).

Edit 2: It still has the "ending game" problem d17 had.

Edit 3:
As another oddity, pressing Space to exit from the b/d/k/N/x/o/p/i/q/t/v/h/D menus (Build/Designate/Look/Note/Squads/etc.) is also acting like I hit Space a second time afterwards, causing the game to pause/unpause.
Applies to me, too.

Edit 4: For me, 40d18 seems to be slower across the board than 40d17.  When loading a fortress from 40d17, PARTIAL:0 and STANDARD are seem slower (though this could be because the FPS is recorded differently between the versions), but the FPS in 2D modes in 40d18 is less than half what it is in 40d17.
« Last Edit: February 22, 2010, 03:09:18 am by Malicus »
Logged

Davion

  • Bay Watcher
    • View Profile
Re: FotF: Dwarf Fortress 40d18
« Reply #9 on: February 22, 2010, 03:14:19 am »

Testing all the various modes against 40d on Reinhammers in an area where there is some flowing water and some other stuff going on:

d17 - Around 20-25 FPS
d18 - Around 16-20 FPS
40d - Around 25-30 FPS

No problems on my end though from toying around with it.
« Last Edit: February 22, 2010, 03:22:56 am by Davion »
Logged

dorf

  • Bay Watcher
    • View Profile
Re: FotF: Dwarf Fortress 40d18
« Reply #10 on: February 22, 2010, 04:14:18 am »

Most of the problems from 40d17 are still present for me.
WinXP SP3, Radeon 9600XT, P4 single-core 2.6GHz.
I might try it in linux, if I find the time (and will).

 - (region?) title text weirdness during worldgen, but is fine when it's paused. And weird again, when continued. And fine
again at the end of gen.
http://i49.tinypic.com/fm86sx.png
http://i50.tinypic.com/28vsoc9.png
http://i48.tinypic.com/4qnc7a.png

 - keys seem to be working fine on my qwertz keyboard
 - adventure mode movement is laggy.
 - in adventure mode (fullscreen), when I press ESC and select "Give in to starvation", the game (and music) stops at
"Ending game...". It continues, when I press some key (e.g. F11 twice).
 - After pressing V(isualizer), the Tab key has no effect, but the screen isn't garbled anymore.

 - in dwarf mode; fullscreen switching problems.
1=orig. 2=after F11 (stretched tiles, normal behavior?). 3=after F10 (first try). 4=after F10 (second try). 5=after F11
(the view is not in the same position, as it was on screenshot 1!).
1: http://i47.tinypic.com/2z50yux.png
2: http://i45.tinypic.com/2hqdnq8.png
3: http://i45.tinypic.com/ndpv7s.png
4: http://i47.tinypic.com/ws93zk.png
5: http://i46.tinypic.com/20glfkh.png

 - the "stretched tile" problem was solved, the view stayed on the same position, and even the F10 view-moving didn't occur

anymore,
after changing init options to:
[WINDOWEDX:640]
[WINDOWEDY:300]
[FULLSCREENX:800]
[FULLSCREENY:600]

 - sometimes, pressing F10 (in fullscreen) moves the viewing position a bit (even in 2D modes).

- loaded reinhammers save:
40d: 11 FPS; [PARTIAL_PRINT:YES:0]
40d18: 6 FPS; works fine; [PRINT_MODE:STANDARD]
40d18: 6 FPS, works fine; [PRINT_MODE:2D]
40d18: 6 FPS, works fine; [PRINT_MODE:2DHW]
40d18: 7 FPS, works fine; [PRINT_MODE:2DASYNC]
40d18: 7 FPS, works fine; [PRINT_MODE:PARTIAL:0]
40d18: 7 FPS, a lot of artifacts; [PRINT_MODE:ACCUM_BUFFER]
40d18: 6 FPS, some artifacts; [PRINT_MODE:FRAME_BUFFER]
40d18: - FPS, crashes on start (worked in 40d17); [PRINT_MODE:VBO]
« Last Edit: February 22, 2010, 04:24:49 am by dorf »
Logged

Vince

  • Bay Watcher
    • View Profile
Re: FotF: Dwarf Fortress 40d18
« Reply #11 on: February 22, 2010, 04:35:55 am »

[PRINT_MODE:VBO] crashes as usual, performance is fine otherwise (I noticed that I always had G_FPS on 60, lowering it to 20 gave me much more speed...)
Transparent tilesets have no transparency in the 2D modes, by the way.
Logged

Baughn

  • Noble Phantasm
  • The Haruhiist
  • Hiss
    • View Profile
Re: FotF: Dwarf Fortress 40d18
« Reply #12 on: February 22, 2010, 05:50:54 am »

Most of the problems from 40d17 are still present for me.
WinXP SP3, Radeon 9600XT, P4 single-core 2.6GHz.
I might try it in linux, if I find the time (and will).

 - (region?) title text weirdness during worldgen, but is fine when it's paused. And weird again, when continued. And fine
again at the end of gen.
http://i49.tinypic.com/fm86sx.png
http://i50.tinypic.com/28vsoc9.png
http://i48.tinypic.com/4qnc7a.png
Doesn't happen for me. Definitely try it in linux.
- adventure mode movement is laggy.
 - in adventure mode (fullscreen), when I press ESC and select "Give in to starvation", the game (and music) stops at
"Ending game...". It continues, when I press some key (e.g. F11 twice).
Adventure mode is broken, yep. It's going to stay broken until DF2010, I'm afraid. Let's mention that in  "known bugs"..
- After pressing V(isualizer), the Tab key has no effect, but the screen isn't garbled anymore.
Wait, it was garbled before?

- in dwarf mode; fullscreen switching problems.
1=orig. 2=after F11 (stretched tiles, normal behavior?). 3=after F10 (first try). 4=after F10 (second try). 5=after F11
(the view is not in the same position, as it was on screenshot 1!).
1: http://i47.tinypic.com/2z50yux.png
2: http://i45.tinypic.com/2hqdnq8.png
3: http://i45.tinypic.com/ndpv7s.png
4: http://i47.tinypic.com/ws93zk.png
5: http://i46.tinypic.com/20glfkh.png

 - the "stretched tile" problem was solved, the view stayed on the same position, and even the F10 view-moving didn't occur

anymore,
after changing init options to:
[WINDOWEDX:640]
[WINDOWEDY:300]
[FULLSCREENX:800]
[FULLSCREENY:600]
The stretched tiles are perfectly normal behaviour. Or rather, they aren't stretched. The result of F10 is not, but doesn't happen here. What print-mode is that?

- sometimes, pressing F10 (in fullscreen) moves the viewing position a bit (even in 2D modes).
..I don't think that counts as a bug.

- loaded reinhammers save:
40d: 11 FPS; [PARTIAL_PRINT:YES:0]
40d18: 6 FPS; works fine; [PRINT_MODE:STANDARD]
40d18: 6 FPS, works fine; [PRINT_MODE:2D]
40d18: 6 FPS, works fine; [PRINT_MODE:2DHW]
40d18: 7 FPS, works fine; [PRINT_MODE:2DASYNC]
40d18: 7 FPS, works fine; [PRINT_MODE:PARTIAL:0]
40d18: 7 FPS, a lot of artifacts; [PRINT_MODE:ACCUM_BUFFER]
40d18: 6 FPS, some artifacts; [PRINT_MODE:FRAME_BUFFER]
40d18: - FPS, crashes on start (worked in 40d17); [PRINT_MODE:VBO]
Unfortunate. And hard to understand, to be honest.. what GPU are you using?
Logged
C++ makes baby Cthulhu weep. Why settle for the lesser horror?

dorf

  • Bay Watcher
    • View Profile
Re: FotF: Dwarf Fortress 40d18
« Reply #13 on: February 22, 2010, 08:09:25 am »

- After pressing V(isualizer), the Tab key has no effect, but the screen isn't garbled anymore.
Wait, it was garbled before?
I tested with STANDARD and 2D on 40d17.
It seems, the former garbles the screen and the latter doesn't.

I presume that issue was a part of the "all 3D modes are busted", because it works fine with both modes on 40d18.
The Tab key still doesn't work, though.

- in dwarf mode; fullscreen switching problems.
1=orig. 2=after F11 (stretched tiles, normal behavior?). 3=after F10 (first try). 4=after F10 (second try). 5=after F11
(the view is not in the same position, as it was on screenshot 1!).
1: http://i47.tinypic.com/2z50yux.png
2: http://i45.tinypic.com/2hqdnq8.png
3: http://i45.tinypic.com/ndpv7s.png
4: http://i47.tinypic.com/ws93zk.png
5: http://i46.tinypic.com/20glfkh.png

 - the "stretched tile" problem was solved, the view stayed on the same position, and even the F10 view-moving didn't occur
anymore,
after changing init options to:
[WINDOWEDX:640]
[WINDOWEDY:300]
[FULLSCREENX:800]
[FULLSCREENY:600]
The stretched tiles are perfectly normal behaviour. Or rather, they aren't stretched. The result of F10 is not, but doesn't happen here. What print-mode is that?
STANDARD.

These are the exact steps I make to move the view with F10:
  • Extract vanilla 40d18 and the Reinhammers save
  • "Continue playing"
  • When it loads: hold the RIGHT arrow key until it stops at the edge
  • Press F11 (right half of the screen has blank tiles instead of those "this is unmined terrain" tiles)
  • Press F10 (moves the view to the left)
  • Press F11 (you'd assume the view would be in the same position as it was before the first F11 was called, but it isn't)

- loaded reinhammers save:
40d: 11 FPS; [PARTIAL_PRINT:YES:0]
40d18: 6 FPS; works fine; [PRINT_MODE:STANDARD]
40d18: 6 FPS, works fine; [PRINT_MODE:2D]
40d18: 6 FPS, works fine; [PRINT_MODE:2DHW]
40d18: 7 FPS, works fine; [PRINT_MODE:2DASYNC]
40d18: 7 FPS, works fine; [PRINT_MODE:PARTIAL:0]
40d18: 7 FPS, a lot of artifacts; [PRINT_MODE:ACCUM_BUFFER]
40d18: 6 FPS, some artifacts; [PRINT_MODE:FRAME_BUFFER]
40d18: - FPS, crashes on start (worked in 40d17); [PRINT_MODE:VBO]
Unfortunate. And hard to understand, to be honest.. what GPU are you using?
Spoiler: gfx info (click to show/hide)

Ok, I'm going to DL some Live linux distro and try on that. I'll also run the game on another PC with an Intel Extreme gfx card, to see if I can recreate the oddities.
I hope that I will able to shed some more light on these issues.

EDIT:
I've tried it on a Mac and recreated the following:
 - the region title weirdness
 - the F10 view moving
 - Visualiser with the non-functional Tab key
« Last Edit: February 22, 2010, 08:41:42 am by dorf »
Logged

Baughn

  • Noble Phantasm
  • The Haruhiist
  • Hiss
    • View Profile
Re: FotF: Dwarf Fortress 40d18
« Reply #14 on: February 22, 2010, 09:12:16 am »

The Tab key still doesn't work, though.
Yeah, the visualizer is broken and going to be removed. I wouldn't go so far as to say you should use Stonesense instead, but.. you should use stonesense instead.

It never really worked anyway, though.

Quote from: Baughn
The stretched tiles are perfectly normal behaviour. Or rather, they aren't stretched. The result of F10 is not, but doesn't happen here. What print-mode is that?
STANDARD.
Right. I wonder if that's an issue with your opengl implementation, because it definitely doesn't happen here, or for anyone else I've heard of.

These are the exact steps I make to move the view with F10:
  • Extract vanilla 40d18 and the Reinhammers save
  • "Continue playing"
  • When it loads: hold the RIGHT arrow key until it stops at the edge
  • Press F11 (right half of the screen has blank tiles instead of those "this is unmined terrain" tiles)
  • Press F10 (moves the view to the left)
  • Press F11 (you'd assume the view would be in the same position as it was before the first F11 was called, but it isn't)
Known issue, due to DF storing the top-left tile location instead of the center, or some such. Fixable, but not by me, and not a high priority.

Spoiler: gfx info (click to show/hide)

Ok, I'm going to DL some Live linux distro and try on that. I'll also run the game on another PC with an Intel Extreme gfx card, to see if I can recreate the oddities.
I hope that I will able to shed some more light on these issues.

EDIT:
I've tried it on a Mac and recreated the following:
 - the region title weirdness
 - the F10 view moving
 - Visualiser with the non-functional Tab key
[/quote]
All is explained. ATI cards are horrible at opengl, sorry; you should get nvidia if you want to play opengl games.

They are also apparently horrible at 2D acceleration, which comes at somewhat of a surprise. I wonder what's up there.. could be my fault.
Logged
C++ makes baby Cthulhu weep. Why settle for the lesser horror?
Pages: [1] 2 3 ... 25