So many altcoins! Why another?
The reason is just for a bit of fun. The old guides for cloning Bitcoin and Litecoin to make a new coin with the same proof of work, sha256d or scrypt respectively, are out of date. I don't have enough time myself to change the source of the latest Bitcoin Core or Litecoin to create a new altcoin which I can use for research, educational uses and to just have some fun.
The usual changes are: the genesis block, run the software and take the details from the [url removed, login to view] and change the source code so the assertions for the genesis block hash and its merkle root check out, with the "nonce" the software found. The coin reward for mining a block, which could initially be anything then change if block halving is done (e.g. every 100,000 blocks or whatever makes sense). The coinbase maturity, so the newly minted coins become spendable after N blocks (say, 100 or more). The P2P and RPC port numbers, something like 1337 and 31337 respectively, and different port numbers for a testnet and regtest. One checkpoint for the genesis block after the software has been run once and the hash is found for the genesis block. Renaming: everything but maybe excluding filenames, unless it's altcoin-qt etc. So Bitcoin becomes Altcoin, BITCOIN is ALTCOIN, and BitCoin is AltCoin, case sensitive. Change units, so e.g. BTC is ALT, mBTC is mALT, uBTC is uALT. The seeds can be left out, since two versions will run on a local network and connect to each other and begin mining and verifying transactions, and creating a consensus on the longest valid chain, and those parameters go in the checkpoints later. Icons can be left out, the Bitcoin or Litecoin ones will be used until icons are made for the altcoin. Retargeting, timespans, how many blocks to be considered when adjusting the difficulty if too many or too few blocks are generated in a certain timeframe. Bitcoin tries for a block every 10 minutes, Litecoin every 2.5 minutes. Total number of coins that can ever be generated, this can be e.g. 64 million for the first test version.
On a Linux system, some steps to get going are installing dependencies. You can find these with a Google search or in the build docs. To get an idea of how much of a headache it can all be, Google for Shakezula's guides on cloning Bitcoin or scrypt coins. These are old, but still useful when starting out. Most changes are done in consensus code, and in chain parameters for the latest Bitcoin Core version, for example.
The main idea here is to take the latest source tree of Bitcoin or Litecoin, use git to get it and then start changing the details. Build the genesis block, recompile and start again. Change number of total coins. Change timespan and other details so blocks are generated every 3 minutes, the block reward to start with, and how "smooth" the difficulty retargeting will be. Port numbers. "Branding" by a global search and replace with Altcoin to start with. One checkpoint for the genesis block. Same for testnet. All the other stuff and details can be worked out later.
The main work here is changing details and building and running a quick test of the software.