Pack200 java archive and a compilation question

TL;DR

1. What is the . pack Pack200 java archive in the sources?

2. Why the binary that has been compiled natively runs so slow and requires more CPU cycles compared to the precompiled stable binaries?

Full question:

Wanted to compile the game from sources, updated the repos and did a full upgrade (on Ubuntu), went to the github, did the git clone, the download resulted in a ~15GB directory. Browsed through the files and found a .pack archive in a hidden git directory: ~/Cataclysm-DDA/.git/objects/pack. What is it? Do I need it really, I can’t find any mentions of it in the MAKE file? Can someone please confirm whether or not it is necessary for the build process, because all of the other assets and source files are around 2.2GB and the resulting binary is ~177MB and I’d like to not keep it locally if it doesn’t really do anything.

Also the resulting compiled ncurses version looks a bit off, there are some visual problems when the multianswer questions appear, that prompt the (Y)es (N)o (I)gnore answers for example - there are white bars around the options which are not there in the precompiled stable version (example in a screenshot), and the game itself loads really slow compared to the distributed binaries, although I thought that the software that has been built from sources should run faster on the machine it has been compiled on. If the explanations are too technical I would very much appreciate simply pointing me towards the topics I should research to have a clearer picture about this and to understand it for myself. Should I add some other parameters to the make program to make the resulting binary more performant on my system, or should I change something in the code? I used just this for the ncurses version:

make RELEASE=1 -j5

Another thing is that I’m unable to scroll the descriptions of items in the inventory menu in this version. PageUp and PageDown scroll the actions to the right (from a activate to + Auto Pickup), but not the item description to the left. It works fine in the precompiled Herbert stable version.

Long time player, but first time posting here, sorry for possible miscategorization and for cramming multiple questions into one post, hope that’s okay-ish

Game version: Cataclysm Dark Days Ahead: cdda-experimental-2025-08-23-0606 2232afecf0

About the .pack file: I think that those files are used by git to pack up the entire history of the cdda source code. If you just want to build the code you can download a zipfile with the lates versions or you can clone with ‘–dept=1’, and you don’t get the whole history (which is what you want in most cases).
When do you want to want the (whole) history? If you want to check out different branches, merge stuff in or resolve confilcts. For building the game you don’t need it.

1 Like

Thanks, etzwane! Didn’t know about the ‘-depth=1’ parameter, that is really useful.

Building from source from the stable version seems to be the best option, I got confused after reading someone on reddit saying that they pull and compile the game every time before they play and it seems like a lot of effort for no purpose. The experimental versions will have some problems which is probably why I had those with scrolling and visual glitches, so experimental builds should be probably used by devs/testers, no need for regular players to do that.

yeah, the master branch is certainly a moving target. People playing on that bleeding edge experience many effects after updating the game. I generally download nightly builds, but only between runs and not during (unless I have an unstable build)

1 Like

pretty hardcore you play on cursus though. I wonder how many people do. I think I would find it hard to play without a tileset, but who knows, maybe I’ll give it a try some day…

1 Like

I do play some roguelikes with tiles like Shadow of the Wyrm, UnReal World, CoQ and others, but the traditional tui feels much more appropriate for such games, for me graphical tilesets don’t add anything to the top-down turnbased gameplay, maybe they even work more as a distraction, I get a lot of immersion from pure ASCII ANSI text interfaces, and I think a lot of people prefer it that way. Although maybe it would work well in combination with some atmospheric sound packs.

I used to play mainstream graphical games, but gradually found more fun in challenging, immersive and re-playable nature of traditional roguelikes, as well as the ethics and philosophy behind the projects; also the ncurses version of CDDA seems to take a lot in terms of UI from a nethack fork/continuation called NetHack 4