Comments 19
Конечно хотелось бы больше технических деталей.
На мой взгляд для молодого языка у Rust очень даже большое сообщество :)
На этом фоне популярность Rust и размер его сообщества выглядят очень неплохо.
Когда RLS зарелизят, думаю, и рефакторинги появятся.
Не так давно перелистывал свои старые комменты и наткнулся там на ветку где вы говорили что пилите сетевую игру с честной физикой, и подумал — вот бы у них получилось! :)
Посмотрите на сетевые режимы в Red Faction Guerrilla, особенно на рюкзаки-усилители и реконструктор, оттуда можно почерпнуть идей для интересных решений, завязанных на физике.
Но на тот момент specs еще не сделали.
Не расскажете об этом более подробно?
Specs это ECS система, нацеленная на производительность и параллельность исполнения. Она используеться как ECS система в движке amethyst, жива и поддерижваема.
TinyECS это ECS система, сделанная мной от безысходности. В начале проекта я сформулировла свои желания к ECS, не нашёл их ни в одной готовой библиотеке и просто как мог реализовал всё, что хотел. Это мой первый rust опыт и сейчас реализация кажется мне крайне неудачной. Интерфейс же, наоборот, получился на удивление удобным.
Specs появился где-то в момент первого youtube-видео из статьи — то есть близко к началу проекта. И был серьёзный соблазн не пилить свой велосипед, а просто перейти на популярную чужую систему.
В этот момент передо мной было четыре варианта:
- продолжить использовать tinyecs
- переписать код игры под api specs и получить классную многопоточность
- переписать и api specs и код игры
- позаимствовать идеи из specs в tinyecs.
Я принял решение и дальше использовать tinyecs и возможно в будущем взять идеи из specs к себе с сохранением интерфейса.
Во первых, api tinyecs мне нравится сильно больше.
Во вторых, у меня были идеи на будущее tinyecs и они не совпадали с тем, куда двигался specs.
В третьих — оно работало, работает — не трогай :D
Сейчас я уверен, что поступил правильно. У меня есть большие планы на TinyECS v2, но и та самая первая версия прошла проверку временем, пережила добавление целой кучи фичей и продолжает исправно работать.
Разработка игр на Rust. Моя история