I don't object to an Alchemist-like class on principle, but as it was it was just broken (IMO) and a significant contributor to the TMJ problem. Something like a device-master might be interesting, perhaps. (Yes, I'm also very aware that there are other classes where you can get crazy strong characters, but they usually have a limitations in other areas to sort-of-balance them. They can also be quite tricky and hard to pull off. An example would be a bare-hand possessor in a GWOP/Ancalagon's body which transitions to Anti-magic.)

Alchemy was also a ton (several thousand lines, IIRC) of really messy code. I'm trying to focus on improving the code quality gradually to (eventually) make it a lot easier to implement e.g. new classes (or whatever). A lot of the more niche classes/skills etc. stand in the way of that, so sometimes it's easier to just outright remove it. (I'm also considering removing MUSIC as a spell type since it's only usable by one very niche class, the Bard, and it adds a lot of code complexity.)

I enjoy playing alchemists occasionally, but for me the interesting part is the early going. Once I learn a few critical recipes like "elven" and "power" it is just a matter of grinding through. Usually I just dump the character and start over. Losing the class is a small price to pay for a more stable and easily maintained game, IMHO.
Personally, I think that Theme showed to best way to add variation to the game. There are many more types of characters, but they are differentiated through different starting attributes and/or gain of attributes at level gain. There are also many more interesting takes on dungeon construction, including some that are challenging even for maxed-out characters. That was all done without adding anything to the underlying code. She didn't use the alchemist class either.

There's no makefile and there won't be one -- I switched over to CMake since it's much simpler to maintain and work with generally.

If you're getting lots of weird errors then feel free to post them here or on https://github.com/tome2/tome2/issues . It obviously should just work if you follow the instructions in the README. However, you do need a recent GCC/Clang. I think the requirement is something like GCC 6.1.0 or later -- it's bit hard to tell since C++14 has been quite spotty until recently, esp. regarding the 'relaxed constexpr'.. IIRC 'clang' was a bit better so might want to try with that. If you want to configure with clang, run

Code:

CC=/usr/bin/clang CXX=/usr/bin/clang++ cmake [...]

where the "[...]" bit is whatever else you want to configure with. (Again, see the README for specifics on that "..." bit.)

The error log was vast, as if I were trying to compile a totally different language. I gave up after about five minutes of scrolling to see where the errors began.

Note: I changed the variable inside z-config.h from "./lib/" to the absoloute path of where I was going to put the lib files, and removed the lines marked as an option for using private_user_paths (I need to do this for every variant I run on the site).

The error log was vast, as if I were trying to compile a totally different language. I gave up after about five minutes of scrolling to see where the errors began.

Note: I changed the variable inside z-config.h from "./lib/" to the absoloute path of where I was going to put the lib files, and removed the lines marked as an option for using private_user_paths (I need to do this for every variant I run on the site).

I'll see about upgrading my GCC

Yeah, I'd try with a newer GCC first, at least if you have an older one .

Usually only the first ~200 or so lines are needed -- I should be able to get an inkling of the problem from that.

You could also post the log in a GitHub gist or something. (Not sure if you have a GH account; there are also other free "paste-a-file" services like pastebin or whatever.).

EDIT: Derakon's advice is also good. You could also just clear the scrollback buffer in your terminal. (Terminals differ on how to do that, but I think almost all of them support clearing the buffer.)