Of course you need Quake! If you still don't have any copy of Quake (c'mon!! it's 2016!!) you can find one here:

https://www.gog.com/game/quake_the_offering

http://store.steampowered.com/app/2310/


Now, bunch of tools that are recommended:

http://jack.hlfx.ru/en/download.html - Editor similar to Hammer with lots of new tools;

http://kristianduske.com/trenchbroom/downloads.php - Modern editor based on editing in 3D viewport only;

http://ericwa.github.io/tyrutils-ericw/ - excellent MAP compiler with new light options;

https://www.quaddicted.com/files/tools/ne_q1spCompilingGui103.zip - GUI for compilation running;

https://dl.dropboxusercontent.com/u/33279452/quake4ericwTools.fgd - config for JACK to support new compiler features;

https://www.quaddicted.com/files/tools/quake_wad.zip - Quake WAD – contains all textures from original Quake;


Optionally:

https://www.quaddicted.com/files/tools/quake_map_source.zip - sources of original Quake maps – good for learning!



Ok, lets start with some basics!

1) Extract Quakespasm to the main Quake folder, run it and see if everything works fine;

2) While you are in Quake directory, create „maps” directory in Id1 (Quake\Id1\maps), you'll put your maps there;

3) Extract editor of your choice and other tools;

(We will use J.A.C.K. (aka Jack Hammer) in this tutorial, but the whole procedure is similar for other editors too)

4)Add compilers and WADs paths in settings:


Select Tyrutils qbsp,vis and light, like you see below:


Do the same thing with WADs:


Important!!!

At the moment place WADs in a „maps” directory, it will be easier to manage stuff at the begining.

MAP files need WADs during a compilation process and we gonna save our maps into Quake\Id1\maps, to get better access from the game.

Later you can set up other locations, to fit your workflow better.

Now you should be able to run your map! Save your map in Quake\Id1\maps and go with default settings.


And...


It works !!!


Now if you want to replay it later, without building it again, you can type „maps” in a console, to see list of all maps you have.

Then type „map nameofyourmap” to run it:




More stuff:


I highly recommend using q1spCompilingGui, it makes compilation process much easier.

You can get all Tyrutils options here: http://ericwa.github.io/tyrutils-ericw/

You can add or edit options by RMB.


Next you can add fgd to the editor to get more light options in entities:


Like this:



Other useful links:

https://quakewiki.org/wiki/Mapping_tutorials

http://www.bspquakeeditor.com/tutorials.php – some old tutorials;


Have fun!!!