ZXNet эхоконференция «code.zx»


тема: Игростроение: отделение игровой логики от вывода на экран.



от: moroz1999
кому: All
дата: 08 Oct 2006
Hello, All

Пишу кой-какие заготовки, потенциально для игрушки, вот думаю, насколько
целесообразно будет сделать так:
Повесить всю логику (опрос клавы, примитивный AI, игровую физику) на
перерывания, а основной вывод на экран и копирование инфы между банками памяти
реализовывать в основное время.
Что это даст? независимость хода игры от скорости процессора и, при продуманной
реализации, так сказать, fps-систему.

У меня мало опыта в игростроении, поэтому требуются ваши мнения. Что вы можете
сказать по этому поводу? какие могут быть минусы у такой системы?

вывод идёт в оба экрана, не через стек, а используя таблицу предварительно
смещенных байтов.

от: van Yu Shinn
кому: All
дата: 08 Oct 2006
Hello, moroz1999

IG#6/code/Игровой цикл

от: Robus
кому: All
дата: 09 Oct 2006
Hello, moroz1999

mor> У меня мало опыта в игростроении, поэтому требуются ваши мнения. Что
mor> вы можете сказать по этому поводу? какие могут быть минусы у такой
mor> системы?

Очень сложно оценить данную схему, ведь всё зависит от того какая именно
графика, нужно ли синхронное изменение бордюра с экраном ... Вообщем множество
факторов, которые могут повлиять на строение кода. Я всегда стараюсь всё, что
работает с изображением делать только на прерываниях, это хоть и заставляет
постоянно искать выходы из тупиков, но в итоге приводит к оптимальному коду,
или близком к идеалу. А вне прерывания делаю всяческие депакенги и декранченги

Однако, когда-то у меня была клавиатура с кабелем длиной 1 метр, уж очень я
любил выложить ноги и программировать в развалку. И длина кабеля очень влияла
на проверку дребезга клавиатуры. Поэтому есть у меня один очень дивный
ONE-FRAME редактор текста с необычным опросом клавиш. Hо всего в этом мире не
учтёшь. Хотя это я со своим асмовским взглядом на "ВОРЛД" !!!

от: poisoned cyberjack
кому: All
дата: 09 Oct 2006
Hello, Robus

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

ну например вот наша старая игра moorhuhn;
//; на прерываниях опрос клавы, мышки и проигрывание музыки
// вывод курсора (каждый фрейм на новом месте =)

// в основное время обработка данных от органов управления (кадр строится и
выводится за 2 фрейма
// следующие процедуры:
// движение петухов (кто, где, когда, как)
// обработка выстрела (если был, то что произошло - убиваем петуха?, вычитаем
пулю?, обсчет "комбо"
// управление выстрелом
// вывод на экран

последняя процедура обрабатывает очередь спрайтов, где указаны координаты
спрайтов и номера анимаций. она абсолютно (ну теоретически=) не зависит от
остальных блоков, и опять же теоретически ее можно в любой момент поменять
и/или переписать...




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Поэтическая страничка - Представляем одно из лучших ранних произведений Mакса Громова...
Похождения rst0 - Помните великолепную Чебоксарскую газету под названием CLIME ? А помните историю о rst0 опубликованую в CLIME ? Продолжение...
События - Отчёт с посещения питерского пати CHAOS CONSTRUCTION'2000 от Andy Harchenko.
Результаты - результаты Constructions Chaos 2000.
Игрушки - описание редактора Адевентюр - PAW (часть 3).

В этот день...   1 января

SibNews #08, Woot! #01, Spectrum Magazine #01, ACNews #25, Psychoz #14, ACNews #14, Last 128 #08, Last 128 #06, Last 128 #05, Last 128 #04, Last 128 #03, Last 128 #02, Last 128 #09, Last 128 #3.5, Last 128 #8.025, Sinclair Club #05, Last 128 #M!R 01, Fantadrom #01, Buzz #20, Last 128 #01, DonNews #13, Nicron #120, Promised Land #01, Inferno #01, Marazm #25, Ultimathum #01, Marazm #21, Hooy Mag #02, KrNews #11, Marazm #22, Marazm #23, ZX Football 2000 #01, Codemania #01, Always #03, Bugs #02, IzhNews #08, Virtual Worlds #01, Listok #04, Scenergy #02, Flash Info #18, Marazm #16, Marazm #17, Zed #01, Balagan #02, ZX Format #08, ZX Power #03, Shock #01, Impulse #02, Deja Vu #03, ZX Club #08, ZX Club #06, Numberology #01, Marazm #13, Marazm #12, Marazm #14, Gorodok #02, Zodiac #01, Marazm #15, Deja Vu #07, Marazm #11, Deja Vu #07, Playboy #03, Crazy News #2, Crazy News #4, ZX Light #01, Crazy News #5, Playboy #02, ZX News #03, ZX Review #1-2, Read Me #02, Crazy News #3, Nicron #13, Read Me #01, Public Spirit #01, Faultless #06, Faultless #05, ZX Software #01, Stump #04, Speccy #07, Возраждение #0, Speccy #03, On-Line #17, Scene+ #01, Welcome Press #01, ZX Konig #04, Adventurer #01, Faultless #05, Faultless #04, Di Halt #01, Faultless #01, Playboy #01, Crazy News #1, Faultless #03, Pioneer #03, Sinclair Town #02, ZX Magazine #01, Eldorado #01, ZX Magazine #02, Spectron #01, ZX News #01, ZX Konig #02, 200 #W, Welcome Press #00, Dune #07, Subliminal Extacy #01, Subliminal Extacy #02, ZX Konig #01, Subliminal Extacy #00, Muchomor #01, Spectrofon #01, ZX Revija #02, Outlet #01, Outlet #1-3