Это я сказал?Сообщение от Shadow Maker
Кто тут с головой не дружит?
Это я сказал?Сообщение от Shadow Maker
Кто тут с головой не дружит?
Я сказал. Про трассировщик. Уж лучше вообще без трассировки, да, чем когда герой утыркивается у каждого столба. А ты принял на счет всей игры что ли? Если да, то зря.
Свирепый агрессивно-депрессивный мордовец!
Не уверен - не напрягай!
Не сдавайся. Дыши?
Virtual TR-DOS
Мужики. Чем спорить напишите мне процедуру поиска пути. УмнуюСообщение от Shadow Maker
Говорить про открытость исходников "ЧВ" не стоит. Они не открыты, а выкинуты в сеть. Разобраться в них сможет только программист (Алко, например). Я же не программист, а по профессии и вовсе учитель физкультуры. Программировать учился самомстоятельно. У меня нет азов, которые дают в вузах и прграммировать для меня сложно, но интересно, почему и занимаюсь этим.
И вообще больше по существу! Что хотелось бы добавить в игру, сделать, например, на что-то похожим и т.д. и т.п. Нужны рац. предложения, а не упреки мол хреново ходит. То, что плохо ходит, это исправим
axor/Perspective
http://abzac.retropc.ru/
Axor, ну хочешь, я напишу тебе поиск пути. Давай в мыло тогда, опиши требования к нему - вход-выход, сколько памяти под буфера есть...
Заодно процедуру печати свою покажи, может чего посоветую.
Я ведь года два назад баловался, ещё до Gogin'ского марио сделал свой вариант вывода фона (один битплан, правда) с фреймовым скроллом. Так что может и твою процедуру смогу оптимизнуть хоть чуть-чуть.
по Медноноговски завтра кину листингСообщение от axor
у тебя как спрайты хранятся по тайлам или 2*16?
axor, ты расскажи хоть в чем суть игры? Раза два уже спросил... А то карта, причем какая-то странная, пропорции в смысле уж больно непонятные... Ну ходит бабуля. Чего это будет хоть? А я бы с удовольствием чего-нить напредлагал, дык ничего ж нету и неясно че будет.
Свирепый агрессивно-депрессивный мордовец!
Не уверен - не напрягай!
Не сдавайся. Дыши?
Virtual TR-DOS
Не знаю как кто, а я протащился от графики - Сафрин бог - (упавшие заборы и вывеска "ясная поляна" - просто супер). Впринципе, можно как в ЧВ менять для разных карт цвет фона и всё будет рулить и без цвета на каждое знакоместо.
1) Ходит действительно весьма неторопливо, хотя, если частоту возникновения событий увеличить, то это деже плюс - можно на карту меньших размеров больше игры вместить. И если по мере прокачки Вера станет бегать быстрее, то это тоже будет плюсом - разнообразие.
2) С трассировкой пути - это чисто технический вопрос и вполне решаемый. Хотя мне не понятны отмазки типа, я сам учился программировать, а по специальности вообще учитель физкультуры. Я тоже учился программировать сам, и это не важно где, в университете, или дома. Было бы желание можно и в исходах ЧВ разобраться. Но если Shiru поможет с этим, я думаю все будет только хорошо.
3) Не сосвем хорошо сделан скроллер: когда вера пытается уйти за пределы экрана - карта за ней неприятно дёргается, лучше всего, чтобы карта скролировалась за ней визуально плавно.
Кстати, может быть я не совсем хорошо смотрел, но не совсем понятно, это что квест, РПГ или может быть hack'n'slash вроде Diablo? Хорошо бы, если бы квест с элементами РПГ или наоборот РПГ с элементами квестов
Вот как обещал
Код:;быстрая процедура рисования тайлов 2*16 ;через стек с включенными прерываниями ;структура буфера - как экран - для примера ;ограничения: рисование только по четной Y координате ;ALASM ;модифицирование перехвата прерывания interrupt di ex de,hl ;get sprite_data ex (sp),hl ;restore damaged sprite/get return adres ld (int_0),hl ;store return adr pop hl ;restore hl ld (int_1),sp ;store stek_pointer ex de,hl ld sp,interrupt_stek_adress call interrupt_control ld sp,$ int_1 equ $-2 ei jp $ int_0 equ $-2 ;собственно рисование через стек tile_draw ;hl-tile adress ;bc-buf_adress ld e,(hl) inc hl ld d,(hl) inc hl ld (tile_0),sp ld sp,hl ld h,b,l,c ld (hl),e inc l ld (hl),d inc h pop de ld (hl),d dec l ld (hl),e inc h dup 2 pop de ld (hl),e inc l ld (hl),d inc h pop de ld (hl),d dec l ld (hl),e inc h edup pop de ld (hl),e inc l ld (hl),d inc h pop de ld (hl),d dec l ld (hl),e ;переход из знакоместа в знакоместо ld bc,-#700+#20 add hl,bc dup 3 pop de ld (hl),e inc l ld (hl),d inc h pop de ld (hl),d dec l ld (hl),e inc h edup pop de ld (hl),e inc l ld (hl),d inc h pop de ld (hl),d dec l ld (hl),e ld sp,0 tile_0 equ $-2 ;-----------------------
Я тоже раза три спросил про это... Все проигнорировали в дуст...Кстати, может быть я не совсем хорошо смотрел, но не совсем понятно, это что квест, РПГ или может быть hack'n'slash вроде Diablo? Хорошо бы, если бы квест с элементами РПГ или наоборот РПГ с элементами квестов
Свирепый агрессивно-депрессивный мордовец!
Не уверен - не напрягай!
Не сдавайся. Дыши?
Virtual TR-DOS
Вот мой вариант.Сообщение от jerri
Код:Начало работы в прерываниях. ;IM_2 Программа на вторых прерываниях ORG IM2 ;#6060 EX (SP),HL LD (adr_ret+1),HL POP HL LD (IM2_SP+1),SP PUSH BC ;процедуры печати спрайтов ;должны оперировать с регистром BC (POP BC) LD SP,IM2 ;может быть любым, только с умом! PUSH IX,IY,HL,DE,BC,AF EX AF,AF' EXX PUSH HL,DE,BC,AF ... ;Основная идея (формат) Д.Быстрова (Alone Coder) ;Реализация А. Шушкова (Xor) ;Печать идет через стек, но без запрета прерываний ;Печать спрайта 2*2 знакоместа на теневом экране ;DE-координаты в системе 2*2 знакоместа (D-Y, E-X) ;HL-номер спрайта (0-511) BLOCK22 LD A,PG_SPR CALL PAGE LD (BL22SP+1),SP LD BC,SPR ;Высчитываем адрес спрайта ADD HL,HL ;HL=HL*32 ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,BC LD C,(HL) ;Делаем именно так, чтобы прерывание ;не испортило спрайт INC HL ;поэтому в BC у нас ;уже есть первые 2 байта спрайта LD B,(HL) INC HL LD SP,HL ;Теперь стек указывает на начало спрайта SLA D ;Высчитываем адрес в теневом экране ;для печати спрайта SLA E LD HL,SHADSCR ADD HL,DE LD DE,#FF20 ;Непосредственно сам вывод спрайта LD (HL),C INC L LD (HL),B INC H POP BC LD (HL),B DEC L LD (HL),C ADD HL,DE DUP 6 POP BC LD (HL),C INC L LD (HL),B INC H POP BC LD (HL),B DEC L LD (HL),C ADD HL,DE EDUP POP BC LD (HL),C INC L LD (HL),B INC H POP BC LD (HL),B DEC L LD (HL),C BL22SP LD SP,0 RET
axor/Perspective
http://abzac.retropc.ru/
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)