При условии, что речь идет про браузерную версию.
1. Графика.
ThreeJS, как уже писали, оптимальный вариант. Canvas, конечно тоже можно использовать, но это крайне низкоуровневая вещь и писать на них придется очень долго.
Unity web player. Знаю, что есть, но не более.
UPD: Из коментов.:
А разве Unity Web Player сейчас работает? Он вроде как использует npapi, ныне выпиленый из всех браузеров по соображениям безопасности.
2.Онлайн.
Сокеты. Тут без вариантов, по идее, поскольку нужен реал-тайм для синхронизации персов и чата. Есть, вроде, и другие способы соединиться, но я не интересовался.
3.Бекенд.
Компилируемые языки и иже с ними (C#, RUST, JAVA). Поскольку игра это не просто "вывести текст из базы" а работа с десятками, а то и сотнями (в идеале) игроков в реальном времени (при этом для нормальной работы частота общения клиента-сервера должна быть как минимум несколько (десятков) раз в секунду), что требует значительных ресурсов, особенно учитывая, что данные придется хранить в памяти сервера.
python. В теории, конечно можно и на нем, но надо учитывать, что он, скорее всего, будет требовать больше ресурсов. При том, на порядки.
4.База данных.
Тут многое зависит от ваших особенностей игры. Если предполагается наличие каких-то специфических предметов, у которых будет большое количество разных параметров (которые могут отличаться от предмета к предмету), то, наверное, имеет смысл брать nosql-базы. (тоже самое касается других сохраняемых аспектов_
Если же этого не требуется - берите любую sql-бд.