"Портирование игры"

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Diamock
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 388
Зарегистрирован: 26.10.2009 (Пн) 4:19
Откуда: Кемерово

"Портирование игры"

Сообщение Diamock » 02.03.2010 (Вт) 17:06

Здравствуйте Уважаемые!
В моём далёком и счастливом детстве, когда компьютеры были большие и, бородатые дядьки в белых халатах с умным взглядом, прокалывали дырочки в перфокартах, для проведения сложных расчётов. В нашем районе, открылся первый компьютерный игровой салон. В небольшом помещении, на обычных старых школьных партах, стояло три телевизора с подключенными ATARI. Не многие счастливчики, могли себе позволить долго поиграть. Как, сейчас помню - минута 10 копеек.
Моей любимой игрой, был Monty - человечек в шляпе бегал и, собирал "алмазы", попутно уворачиваясь от черепов, пауков. Надо было проявить чудеса изворотливости, что бы не попасть в кислоту или под лазерные лучи. И... время всегда заканчивалось, когда до окончания уровня оставалось не далеко. Потом с душевными муками, приходилось смотреть, как какой-нибудь остолоп - тратил на лево и направо, заработанные бонусные жизни... :(
Вот скриншот той игры
Snap2.png
Snap2.png (4.82 Кб) Просмотров: 2154

Скачав недавно эмулятор Atari и, наигравшись в Monty. Мне захотелось портировать игру. Естественно средствами VB6. Мне кажется, что VB для этого подходит. Не такая ресурсоёмкая игра.
Подскажите с чего начать.
С уважением...
In der Beschrankung zeigt sich erst der Meister
Графоманю...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: "Портирование игры"

Сообщение Хакер » 02.03.2010 (Вт) 17:16

С чая.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Diamock
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 388
Зарегистрирован: 26.10.2009 (Пн) 4:19
Откуда: Кемерово

Re: "Портирование игры"

Сообщение Diamock » 02.03.2010 (Вт) 17:21

Хакер писал(а):С чая.

Уже! Почти литр выпил, а ясности прибавилось не много...
В голву пришло только одно - создать рисунки с элементами фона и алгоритм построения, для каждой локации.
In der Beschrankung zeigt sich erst der Meister
Графоманю...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: "Портирование игры"

Сообщение Хакер » 02.03.2010 (Вт) 17:27

Возможно ты просто не умеешь пить чай.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Diamock
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 388
Зарегистрирован: 26.10.2009 (Пн) 4:19
Откуда: Кемерово

Re: "Портирование игры"

Сообщение Diamock » 02.03.2010 (Вт) 17:38

Научи пожалуйста :?: :oops:
In der Beschrankung zeigt sich erst der Meister
Графоманю...

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Re: "Портирование игры"

Сообщение Twister » 02.03.2010 (Вт) 17:56

Хех. Портировать не выйдет, выйдет сэмулировать. Благо готовый эмулятор уже есть, по Вашим словам.
Так же выйдет написать игру с нуля (не совсем то же самое, что портировать).
А я все практикую лечение травами...

Diamock
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 388
Зарегистрирован: 26.10.2009 (Пн) 4:19
Откуда: Кемерово

Re: "Портирование игры"

Сообщение Diamock » 02.03.2010 (Вт) 17:59

Twister писал(а):Так же выйдет написать игру с нуля (не совсем то же самое, что портировать).

Вот-вот, это я и имел ввиду, Уважаемые! С чего начать, с какого края подобраться?
In der Beschrankung zeigt sich erst der Meister
Графоманю...

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Re: "Портирование игры"

Сообщение Twister » 02.03.2010 (Вт) 18:25

Ну Хакер предложил с чая, я бы посоветовал с пива ;)

Создай для начала форму, на которой будет бегать человечек.
А я все практикую лечение травами...

Diamock
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 388
Зарегистрирован: 26.10.2009 (Пн) 4:19
Откуда: Кемерово

Re: "Портирование игры"

Сообщение Diamock » 02.03.2010 (Вт) 19:00

Twister писал(а):Ну Хакер предложил с чая, я бы посоветовал с пива ;)

Создай для начала форму, на которой будет бегать человечек.

Чай - лучше! :D И, воспульзуюсь, вашим советом. Начну с формы.
С уважением...
In der Beschrankung zeigt sich erst der Meister
Графоманю...

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: "Портирование игры"

Сообщение Денис » 03.03.2010 (Ср) 11:24

Советую не использовать встроенные объекты типа PictureBox или Image. Будет всё моргать и тормозить. Если уж делать, так делай все на чистой математике: объект clsPlayer хранит в себе свои координаты и массив точек, который надо по этим координатам отрисовать (либо двумерный массив со значениями цвета (это SetPixel) либо битмап-спрайт (это BitBlt). И так же все остальные объекты. Во главе всех этих массивов стоит таймер, который N раз в секунду выводит на форму содержимое всех массивов.
Движение персонажа: по нажатию кнопки ты изменяешь математические координаты, отрисовкой займется таймер. Наш герой должен шагать, так? Значит этому процессу должны соответствовать два "спрайта", с левой ногой и с правой ногой, и ты их меняешь при двжении. а еще есть движение влево-вправо, это еще +2 спрайта. А еще есть движение вверх-вниз по лестницам, это еще +2, а еще прыжки (если есть) еще +2.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Re: "Портирование игры"

Сообщение Twister » 03.03.2010 (Ср) 12:18

Я бы не стал делать таймер. Это получится, что в одном потоке у нас и оконные сообщения обрабатываются (включая нажатия кнопок), и графика рисуется. Не очень гуд.
А я все практикую лечение травами...

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: "Портирование игры"

Сообщение Денис » 03.03.2010 (Ср) 13:28

Twister писал(а):Я бы не стал делать таймер. Это получится, что в одном потоке у нас и оконные сообщения обрабатываются (включая нажатия кнопок), и графика рисуется. Не очень гуд.


Давай обсудим? Я в этом вопросе не разбираюсь. Если таймер будет вызывать функцию _Paint того объекта на котором все должно рисоваться? (например, формы) При этом так как параметр FPS не критичен, значение интервала в районе 50 мс (имеем 20 кадров в секунду). Почему это не гуд?

Какие могут быть другие, более правильные варианты? Диспетчер... эээ... как он называется? Когда:

Код: Выделить всё
do while not boolGameOverFlag
    'код-код-код
    doevents
loop


вот этот диспетчер чего-то-там на VB еще тормознее выходит.
Последний раз редактировалось Денис 03.03.2010 (Ср) 13:31, всего редактировалось 1 раз.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: "Портирование игры"

Сообщение Proxy » 03.03.2010 (Ср) 13:30

Мммм. Есть тысячи более гуманных способов вынести себе мозг. А главное итог везде один - начато и брошено.
Follow the white rabbit.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: "Портирование игры"

Сообщение Денис » 03.03.2010 (Ср) 13:33

Proxy писал(а):Мммм. Есть тысячи более гуманных способов вынести себе мозг. А главное итог везде один - начато и брошено.

Главное, психологически настроить человека, подвести его к самостоятельному выводу, что ему надо перенести свой топик в раздел "Работа".
:lol:

_________________

И еще. Если использовать KeyPress/KeyDown, то есть задержка между печатью первого символа и последующих, что не есть гуд также. Как это решается без применения DirectX (DirectInput)?
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: "Портирование игры"

Сообщение Antonariy » 03.03.2010 (Ср) 14:27

Proxy писал(а):Мммм. Есть тысячи более гуманных способов вынести себе мозг. А главное итог везде один - начато и брошено.
Да-да, а все потому что не удастся воспроизвести атмосферу. Я пытался поностальгировать во что-то старое под досбоксом, но понял, что уже не оно. Как минимум нужен 15" ЭЛТ-монитор. Разрешение 320х200 растянутое на 17" современных кристаллов выглядит страшно. А в реальном размере — мелко. "Аппаратное сглаживание" электронных трубок прятало лишние детали.
Лучший способ понять что-то самому — объяснить это другому.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: "Портирование игры"

Сообщение iGrok » 03.03.2010 (Ср) 14:47

Antonariy писал(а):Разрешение 320х200 растянутое на 17" современных кристаллов выглядит страшно. А в реальном размере — мелко. "Аппаратное сглаживание" электронных трубок прятало лишние детали.

Ммм.. Ну можно подключить обычный телик к тв-ауту видяхи. )
label:
cli
jmp label

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: "Портирование игры"

Сообщение Денис » 03.03.2010 (Ср) 15:00

iGrok писал(а):Ммм.. Ну можно подключить обычный телик к тв-ауту видяхи. )


Нелл уеан! И еще спаять переходник для NES-джойстика-геймпада к ком-порту.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Diamock
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 388
Зарегистрирован: 26.10.2009 (Пн) 4:19
Откуда: Кемерово

Re: "Портирование игры"

Сообщение Diamock » 03.03.2010 (Ср) 15:36

Денис писал(а):Нелл уеан! И еще спаять переходник для NES-джойстика-геймпада к ком-порту.

Вот-вот, этим в выходные и планирую заняться :D. Перепаяю джойстик от Dendy на PC.
In der Beschrankung zeigt sich erst der Meister
Графоманю...

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Re: "Портирование игры"

Сообщение Twister » 03.03.2010 (Ср) 17:42

Давай обсудим? Я в этом вопросе не разбираюсь... Почему это не гуд?
Я тоже не гейм-мастер. Но обыкновенная логика присутствует и она подсказывает, что винду не зря сделали многопоточной. Хорошим тоном является распределение параллельных задач по разным потокам. И пусть даже в данном конкретном случае на форму можно накидать с десяток таймеров и жить спокойно, но... Неверно это с точки зрения программирования. Просто существуют некоторые каноны, соблюдение которых гарантирует эффективность результата, а несоблюдение - появление говнокода.

Во главе всех этих массивов стоит таймер, который N раз в секунду выводит на форму содержимое всех массивов.
Только сейчас вчитался до конца. Какой нафиг таймер? Он (читай: отдельный поток, не таймер) должен заправлять только независимым движением препятствий ("монстры" :) ), остальная отрисовка должна происходить только при нажатии клавиш движения. В том числе и движение "фона".
А я все практикую лечение травами...

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: "Портирование игры"

Сообщение Денис » 04.03.2010 (Чт) 9:05

Ну чтож, думаю, сказано достаточно, чтобы Автор смог написать отличную реконструкцию.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 54

    TopList