Как создать формулу курса собственной вымышленной валюты?
Самое простое - это просто позволить игрокам покупать и продавать валюту X по любой цене за валюту Y.
Это и будет регулирование спросом и предложением.

Если же нужно всё же фиксировать курс по игровым правилам, то ты можешь посчитать сумму валюты всех игроков. И просто соотнести их.

Так если валюты X - 1000 единиц в игровом мире, а валюты Y - 2000 единиц,
то курс будет: 1 ед. X = 2 ед. Y.

То есть получается, что валюта X - более редкая, поэтому более дорогая. А дальше курс определяется соотношением. Вот и формула.

Можно добавить всякие хитрости. Например, если ты вливаешь в игру 100000 X, то курс меняется не резко, а плавно, и не обязательно линейно.

Также курс может быть подвержен мелким скачкам от каких-то игровых событий, объявлений.

Конечно, польза самой валюты (что на неё можно купить) определяется субъективно игроками. Так что если какая-то валюта будет условно бесполезной, то курс по идее должен быть иным. Ну а что ты хотел при регулировании игровыми правилами? Если хочешь полностью рыночные отношения, то решение в первом абзаце - дать игрокам полную свободу самим выбирать курс.
Первое и самое главное, нужно сформулировать конечную цель, т.е. в конечном счете это какой то игровой параметр или функцию от него, которая должна максимизироваться.

Например доходы владельца игры. Как именно доходы игры зависят от курса этой валюты? Торговля является самоцелью игры или в игре есть игровые предметы, которые по этой цене покупаются и могут являться предметом внеигрового торга? В зависимости от цели будет меняться требуемый алгоритм.

На самом деле задача не тривиальная, сервера форекс-кухонь (хороший маркер - наличие mt4/5 терминала) лицензируются и поставляются именно с таким алгоритмом, и стоит это очень дорого.

Если же курс валюты может быть абсолютно любым, то просто поставь простой rand, ежесекундно меняя курс или его дельту изменения на случайное значение (от -1 до 1).