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