Среда, 24 Апреля 2024, 05:22

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » C/C++ » Одновременное выполнение 100 программ в игре.
Одновременное выполнение 100 программ в игре.
afqДата: Среда, 15 Января 2020, 08:28 | Сообщение # 1
Разработчик
Сейчас нет на сайте
Как думаете, нормально ли будет играть в такую игру, где в фоне запущено 100 программ. Объясню ситуацию по подробней. Например я создал язык ассемблера для игры и компилятор в типа машинный код. Также создал подобие языка си, чтобы можно было перевести в ассемблер, а потом и в машинный код. В игре например я захватываю компьютеры и вешаю на них свой софт, который в игре написал. Это будет например программы, которые создают цепочки серверов. Также например есть боты, которые свои команды выполняют. Например в каждой программе будет доступно за раз выполнить например 8 ассемблерных команд, и потом переходит к следующей программе в массиве. Если сделать так как я думаю, а это отдельные компьютеры со своими программами, то например чтобы сами программы выполнялись в отдельном потоке. И вот я не знаю как посчитать, будет ли нормально игра работать при объемных данных? Хотя если сделать это в отдельном потоке, то проблем думаю не будет, были бы проблемы с работой в том же потоке, где происходит цикл рисования графики. Но ещё этот объем работы очень сложный как я думаю, но хочу понять, правильно ли так делать? Для меня как бы логично делать так, что каждый компьютер это отдельный объект ( класс ), а не как то по другому. Хотя если делать по другому, то возможно можно сократить нагрузку на процессор или на память. Ещё сложность в реализации программы в игре, надо скорее всего ещё какой то буфер, в который будет сохраняться какие то сетевые данные, ведь в отдельном потоке эта программа пока выполниться со своим кодом. Блин, абсурд. Это не годиться. Чтобы была правильная работа отдельных компьютеров, нужно каждый компьютер запускать в отдельном потоке, и там уже чтобы выполнялись программы, которые работают на этом компьютере. А работу потоков уже возложить на ос своего компьютера ( настоящего ). Но это тоже проблема, много потоков это вроде плохо. Так что наверное надо рассматривать другой вариант какой-то.
drcrackДата: Среда, 15 Января 2020, 15:27 | Сообщение # 2
старожил
Сейчас нет на сайте
Цитата
Как думаете, нормально ли будет играть в такую игру, где в фоне запущено 100 программ.

в любой игре сложнее тетриса так или иначе есть сотни сущностей которые что-то постоянно делают
просто если в обычной игре это например нпс который бродит по карте, то у тебя будет "программа" которая что-то там исполняет

Цитата
Но это тоже проблема, много потоков это вроде плохо.

100 потоков это в вобщем-то ерунда
щаз запустил для теста CSGO, и в ней уже 74 потока, при том что я в главном меню
вопрос в общей нагрузке на комп, учитывай что у многих людей 2 ядерные (4 поточные) процы и 8 гб памяти

Цитата
Для меня как бы логично делать так, что каждый компьютер это отдельный объект ( класс )

так и делай, нечего тут пока оптимизировать
вот если их будет 10000, тогда будешь думать


Сообщение отредактировал drcrack - Среда, 15 Января 2020, 15:28
Форум игроделов » Программирование » C/C++ » Одновременное выполнение 100 программ в игре.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг