I'd recommend re-purposing an existing map. Making a new map from scratch is tedious.
You'll need a C++ compiler to compile new mission DLLs. You can download a free copy of
Visual Studio Express from Microsoft. It's a bit large, but is a pretty decent compiler + editor package. I see there is now a "Community" edition, which I think replaces "Express". Feel free to try either, and let us know how it goes.
You'll need a copy of the
Outpost 2 Software Development Kit, which is up on GitHub. If you're unfamiliar with Git, you can just download and unpack a ZIP file of the repository from GitHub. No signup or account needed.
There is a
template C++ project for new missions up on GitHub.
Optional: If you want to publish changes to GitHub, you can signup for an account, then "fork" the starter template repository to your own account, and then "clone" the fork to your local computer with a Git client. I believe Visual Studio has a built in Git client. An alternative client is
TortoiseGit, which integrates nicely with the Windows shell. After working on, testing, and "committing" changes to your local copy, you can then "push" those changes up to GitHub. Nobody sees your work until you push it.
As for working on the level, I agree with Vagabond in that I think
Sirbomber's Outpost 2 Coding 101 tutorials are the most comprehensive set of instructions on how to get started. You might also want to take a look at the source code of the
Hooville project up on GitHub, which was meant to be a bit of a mini tutorial, with lots of source code comments to explain what is happening and why.
That's probably enough to get started. You should be able to run into your first set of errors from there!
And maybe some successes. Hopefully some successes.
Side note: This reminds me I needed to setup the Outpost 2 SDK as a Git submodule for the level template projects so you can get both with a single clone command.