В случае Minecraft это на Java, который абстрагирует обработку файловой системы, так что вызов чего-то вроде CreateDirectory () будет работать на любой ОС без необходимости переписывать вызов основной функции. Это связано с тем, что Java работает поверх виртуальной машины (JVM), а JVM обрабатывает специфические вызовы ОС для работы с файловой системой. Таково преимущество Java. Большинство интерпретируемых языков (а также языки, соблюдаемые Just In Time) работают таким образом, поскольку они могут абстрагировать определенные команды ОС для файловой системы от программиста.
Тем не менее, с чем-то вроде C ++, который соответствует определенной архитектуре, проблема более сложная. Каждая ОС может иметь свой набор функций для обработки файлов и каталогов, а для игр, портированных на другую платформу, это часто одна из вещей, которая изменяется при работе с портом. В этом случае полезны такие библиотеки, как Boost, поскольку они допускают такую же абстракцию, что и некоторые другие языки. Если игра не использует Boost, то часто программист все равно пишет какую-то библиотеку, обычно по причинам повторного использования и читабельности.