Есть много всяких программ, с помощью которых можно делать игры.
Обычно такая программа так и называется - конструктор игр.
Их много, в том числе и онлайн (в Гугле нужно ввести конструктор игр).
Есть и отдельная программа на диске, называющаяся Конструктор 3D игр.
Также есть язык программирования, специально заточенный под программирование 3D игр, правда под 32-разрядные операционные системы (хотя, возможно, где-то уже и модифицировали под 64-разрядные). Этот язык программирования называется Dark Basic.
Но если вы хотите сделать игру, которую не получится сделать такими методами, тогда лучше использовать стандартные языки программирования.
Например для программирования под Windows можно использовать Visual Studio от Майкрософт.
Игры для сайтов можно писать в обычной программе Блокнот.
Если вы хотите смастерить серьёзную 3D игру, то нужно использовать движок. В нём тоже нужно программировать, но в отличие от обычных языков программирования, в движке основная часть рутины уже сделана создателем движка, и остаётся лишь программировать логику персонажей и подбирать текстуры, а также загружать 3D модели объектов. Пример одного из движков это движок CryEngine.
Причём кроме графических движков существуют ещё и физические движки. Их используют одновременно с графическими в одной игре (правда как их там объединяют, не знаю, так как не программировал на движках). Физические движки обсчитывают физику перемещения объектов. Например если в игре прямоугольный блок упал на пирамиду, то физический движок анализирует форму обоих объектов и их твёрдость, а затем вычисляет, как далее должны повести себя эти предметы. Например если пирамида из поролона, то она должна сплющиться определённым образом, а если она твёрдая, то прямоугольный блок должен с неё свалиться, и физический движок определяет в какую сторону, с какой скоростью и под каким наклоном он с неё свалится. Так что всё очень не просто в профессиональных играх.
3D модели обычно создаются в таких программах, как 3ds Max или Autodesk Maya (ранее её называли 3D Maya).