Guide: Development Environment

This guide will walk you through the process of setting up your computer for MousePaw Media development work.

If you’re not a programmer, you may jump to the relevent section of this guide:

Environment: Programming

Operating Systems

We officially support the following operating systems for development work:

  • Ubuntu Linux (recommended)
  • Debian Linux
  • Other Linux
  • macOS
  • FreeBSD

Note

We do not provide technical support for third-party development tools on non-Debian systems.

Developing on Windows

Warning

Employees of MousePaw Media are *strictly forbidden* from using Windows for company work.

While we do not directly support the Windows operating systems, there are four ways you can develop on that operating system:

If you choose to use the Windows Subsystem for Linux, you can generally follow our instructions for Ubuntu Linux. We’ve also included Windows setup instructions throughout this guide, although we offer no technical support or guarantees for these instructions.

Note

If you use the Windows Subsystem for Linux, you can also run some graphical Linux applications, by following this guide from HowToGeek.

Git and Arcanist

Regardless what part of the project you’re working on, you’ll need access to our repositories and code review systems. You need the following for this:

  • Git
  • Arcanist

For setup instructions for Git and Arcanist, see Git and Arcanist.

C/C++ Development

For C/C++ development:

  • C/C++ compiler and toolchain: Clang (recommended) or GCC.
  • CMake
  • A C++ IDE: We recommend either VSCode, Code::Blocks, or Atom.

Note

We have no plans to support MSVC. Use Clang for compiling on Microsoft Windows.

For setup instructions, see C++ and C Development Environment.

Python Development

For Python development:

  • Python 3
  • A Python IDE: We recommend either VSCode or Atom.

For setup instructions, see Python3 Development Environment.

Sphinx Development

For Sphinx development:

  • Python 3
  • Sphinx
  • A code editor: We recommend either VSCode or Atom.

For setup instructions, see Sphinx Development Environment.

Selecting an IDE

We have guides for setting up several IDEs and editors...

General Coding Tools

In addition to our language-specific tools, we also use the following tools for general work.

  • Dia: Flowcharting
  • Meld: Comparing and merging files.
  • Pencil: GUI prototyping
  • SpeedCrunch: Scientific calculator.

For setup instructions, see General Development Tools.

Fonts

We have a collection of approved fonts we use at MousePaw Media. We require all staff to install these on their computers, as these fonts are used in all web design, user interface design, graphics design, and official documents.

These fonts are all 100% free and open source, so they’re great additions to your font collection anyhow!

Note

The font Hack is included, which we highly recommend for use in your editor or IDE!

For instructions, see Fonts.

Environment: Content Development

Operating Systems

We officially support the following operating systems for content development work:

  • Ubuntu Linux (recommended)
  • Debian Linux
  • Other Linux
  • FreeBSD

Note

We do not provide technical support for third-party development tools on non-Debian systems.

Git and Arcanist

Content development still involves code! Regardless what part of the project you’re working on, you’ll need access to our repositories and code review systems. You need the following for this:

  • Git
  • Arcanist

For setup instructions for Git and Arcanist, see Git and Arcanist.

Sphinx Development

As part of content development, you will be working with Sphinx for authoring official scripts and other production documents.

  • Python 3
  • Sphinx
  • A code editor: We recommend either VSCode or Atom.

For setup instructions, see Sphinx Development Environment.

Selecting an IDE

You should install one or both of these text and code editors.

Fonts

We have a collection of approved fonts we use at MousePaw Media. You should ensure you have these installed on your computer.

For instructions, see Fonts.

Environment: Design and Production

Operating Systems

We officially support the following operating systems for design and production work:

  • Ubuntu Linux (recommended)
  • Debian Linux
  • Other Linux
  • FreeBSD

Note

We do not offer help with third-party tools on non-Debian systems.

Graphics Tools

We use the following graphics design tools:

  • Birdfont
  • Blender
  • Darktable
  • GIMP
  • Gpick
  • Inkscape
  • Krita
  • MyPaint
  • Scribus

For setup instructions, see Graphics Design Tools.

Wacom Tablet

Ubuntu 18.04 (GNOME) allows you to control Wacom tablets out of the box, while Ubuntu MATE 18.04 (and some other distros) require additional tools to control your tablet.

For instructions, see Wacom Tablets.

Fonts

We have a collection of approved fonts we use at MousePaw Media. You should ensure you have these installed on your computer.

For instructions, see Fonts.

Audio/Video Tools

We use the following audio and video tools:

  • Audacity
  • Audio Recorder
  • Handbrake
  • Kdenlive
  • Musescore

Depending on your assignment, there are several other applications in this category we recommend.

For setup instructions, see Audio/Video Tools.