Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Для начинающих (http://zx-pk.ru/forumdisplay.php?f=43)
-   -   C чего начать геймдэв для горбатыша? (http://zx-pk.ru/showthread.php?t=17881)

Andrew771 17th January 2012 12:47

Quote:

Originally Posted by ALKO (Post 456356)
Сообщение от Andrew771
LD B,Y
LD C,X

LD A,B
LD H,A
RRCA
RRCA
RRCA
AND A,224
ADD A,C
LD L,A
LD A,H
AND 24
OR 64
LD H,A
А вот перевод координат чего-то не работает.

В регистрах B и C координаты знакомест (а не точек), начиная с верхнего левого угла с 0. Должно работать. Возможно, команду AND A,224 заменить на AND 224 - так правильнее.

ALKO 18th January 2012 00:00

"AND A,224, ADD A,C" да возможно из-за этого и не компилило

Вот на этом скрине задействованы некоторые тайлы, которые я уже нарисовал.
И музон уже сделал на 2 кб (на фазе под бипер).
(тайлы пожрали 8 кб только это ещё не все нарисованы)
http://cs10320.vk.com/u53856147/98301119/y_cb67e0c8.jpg

---------- Post added at 21:27 ---------- Previous post was at 21:26 ----------

поведение врага будет сложно создать...

---------- Post added at 23:00 ---------- Previous post was at 21:27 ----------











Вот процедура, отвечающая за тайлы

Скрытый текст


org 23296
ld b,1 ; номер кадОра
ld hl, 39712 ; смещение от 40000 - размер кадОра
ld de, 288
L1 add hl, de
djnz L1

ld de,18000 ;координата куда засовывать кадЫр
ld b,48 ; пиксилы по вертикале
n1 push bc
push de
dup 6 ; кол-во знакомест по горизонтале (штоле)
ldi
edup
pop de
call de_inc
pop bc
djnz n1
ret
de_inc inc d
ld a,d
and 7
ret nz
ld a,e
add a,32
ld e,a
ret c
ld a,d
sub 8
ld d,a
ret
[свернуть]


Нужно изменить, что б фрейм складывалься по Эйлеру с бэкграундом посредством AND.

ALKO 18th January 2012 03:40

Хммммм..........Бадыль какой-то непонятный.....
Всё равно не работает этот перевод координат чего-то.


Quote:

Originally Posted by ALKO (Post 456572)
org 23296
ld b,1 ; íîìåð ñðàíîãî êàäðà
ld hl, 39712 ; ñìåùåíèå îò 40000 - ðàçìåð êàäðà
ld de, 288
L1 add hl, de
djnz L1

push HL

LD B,4 ; попытка перевода числа
LD C,4

LD A,B
LD H,A
RRCA
RRCA
RRCA
AND 224
ADD C
LD L,A
LD A,H
AND 24
OR 64
LD H,A


ld de,HL

pop HL

ld b,48
n1 push bc
push de
dup 6
ldi
edup
pop de
call de_inc
pop bc
djnz n1
ret
de_inc inc d
ld a,d
and 7
ret nz
ld a,e
add a,32
ld e,a
ret c
ld a,d
sub 8
ld d,a
ret


AndTorp 18th January 2012 05:55

Quote:

Originally Posted by ALKO (Post 456638)
Хммммм..........Бадыль какой-то непонятный.....
Всё равно не работает этот перевод координат чего-то.

Quote:

push HL

LD B,4 ; попытка перевода числа
LD C,4

LD A,B
LD H,A
RRCA
RRCA
RRCA
AND 224
ADD C
LD L,A
LD A,H
AND 24
OR 64
LD H,A


ld de,HL
pop HL

"ld de,HL" - это что за команда? Может это "EX DE,HL"?
Если перевод координат не сработает, попробуй процедуру, которую я привел в этой теме раньше.

З.Ы. Если в процедуре Andrew771 заменить все регистры "H" на "D", а "L" на "E", то PUSH HL, POP HL и EX DE,HL не понадобятся.

ALKO 18th January 2012 06:35

Quote:

Originally Posted by AndTorp (Post 456645)
Если перевод координат не сработает, попробуй процедуру, которую я привел в этой теме раньше.

пробовал, без результатно

---------- Post added at 05:24 ---------- Previous post was at 05:20 ----------

Quote:

Originally Posted by AndTorp (Post 456645)
Может это "EX DE,HL"?

О! Пашыыыыт!!!

Я давненько уже на асме ни чего не делал, уже и запамятовал кое чё.

---------- Post added at 05:35 ---------- Previous post was at 05:24 ----------

AndTorp, подскажите, как сделать слияние с задним планом при выводе по AND...

AndTorp 18th January 2012 06:53

Quote:

Originally Posted by ALKO (Post 456646)
AndTorp, подскажите, как сделать слияние с задним планом при выводе по AND...

По AND, по-моему, накладывается маска на фон, а слияние делается по OR.
Подробнее в книге "Как написать игру на ассемблере", глава 7, МУЛЬТИПЛИКАЦИЯ - пятый способ вывода.

ALKO 18th January 2012 06:56

Ах да, точно OR...

---------- Post added at 05:56 ---------- Previous post was at 05:55 ----------

очередной раз затупил :v2_dizzy_facepalm:

NovaStorm 18th January 2012 09:04

Персонажи и колонна хороши, а вот на фоне наверное пунктира как-то многовато, можно попробовать сплошной линией, может лучше будет?
:v2_thumb:

jerri 18th January 2012 09:59

NovaStorm, фон не должен вылезать на передний план

Andrew771 18th January 2012 10:39

Тогда побольше фона :)

NovaStorm 18th January 2012 14:16

jerri, конечно, потому и написал "попробовать".
Andrew771, много фона - тяжело как для железа, так и для восприятия, пиксельная каша может получиться.
А такие тайлы можно попытаться "вдавить" в фон и инвертировать, сделать их как бы "освещёнными".

ALKO 18th January 2012 17:09

Quote:

Originally Posted by NovaStorm (Post 456657)
пунктира как-то многовато

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

А вот про смешение через OR я зря надумал, так как при анимации перемещения объектов придется затирать полностью по горизонтали весь участок и поновой прорисовывать бэкграунд и персонажей.

---------- Post added at 16:05 ---------- Previous post was at 16:02 ----------

Quote:

Originally Posted by NovaStorm (Post 456711)
А такие тайлы можно попытаться "вдавить" в фон и инвертировать, сделать их как бы "освещёнными".

Ненавижу такой эффект. Смешение через OR лучше смотриться, чем через XOR (или как там..... вобщем аналог бейсиковского over'a ,если я вас правильно понял).

---------- Post added at 16:09 ---------- Previous post was at 16:05 ----------

Quote:

Originally Posted by Andrew771 (Post 456666)
Тогда побольше фона

тогда и маски надо уже делать, а ведь уже тайлами начал (как в Gay-Shot'e , если кто помнит такую игру, только там тайлы были 8*8 знакомест и всё было на васике, кроме вывода тайлов и пары звуков)

newart 18th January 2012 18:02

Quote:

Originally Posted by ALKO (Post 456774)
поскольку в спектруме однобитный графон, приходиться таким макаром делать.

На спектруме есть Bright, если ты вдруг забыл.
И он для таких целей частенько используется.

ALKO 18th January 2012 18:22

Quote:

Originally Posted by newart (Post 456805)
На спектруме есть Bright, если ты вдруг забыл.
И он для таких целей частенько используется.

А то , что я весь экран через bright сделал тёмным, что б графика была не такой НЯшной, это не очевидно?

---------- Post added at 17:22 ---------- Previous post was at 17:19 ----------

А если делать бэк и передник разными bright-ами , то будет оооочень красивый, режущий глаза, эффект - attribute clash

ALKO 21st January 2012 04:50

Взял от сюда исходник "растворения" экранной области
http://zxpress.ru/book_articles.php?id=1026

Но чего-то он не комрпилирует.
Quote:

ORG 60000
ENT $
THAW LD B,8 ;экран очищается за 8 циклов
LD DE,0 ;адрес начала кодов ПЗУ
THAW1 LD HL,#4000 ;адрес начала экранной области
PUSH DE
THAW2 LD A,(DE) ;берем «случайный» байт из ПЗУ
AND (HL) ;объединяем с байтом из видеобуфера
LD (HL),A ;помещаем обратно в видеобуфер
INC HL ;переходим к следующим адресам
INC DE
LD A,H ;проверяем, нужно ли повторять цикл
CP #58 ;если прошли еще не весь видеобуфер
; (#5800 - адрес начала области атрибутов)
JR NZ,THAW2 ; то повторяем
PUSH BC
LD BC,1
CALL 7997 ;PAUSE 1
POP BC
POP DE
LD HL,100
ADD HL,DE ;увеличиваем адрес в ПЗУ на 100
EX DE,HL ;меняем HL на DE
DJNZ THAW1 ;повторяем цикл
JP 3435 ;окончательно очищаем экран
Где тут может быть ошибка?

---------- Post added at 03:50 ---------- Previous post was at 03:45 ----------

(тяжко без подсветки синтаксиса)

AndTorp 21st January 2012 07:27

Quote:

Originally Posted by ALKO (Post 457562)
Но чего-то он не комрпилирует.
Где тут может быть ошибка

Что за компилятор? Возможно, данный компилятор не использует директиву "ENT $". Удалить ее или закомментировать.

ALKO 21st January 2012 17:29

zx assembler++
(который встроен в emuZwin)

---------- Post added at 16:16 ---------- Previous post was at 16:04 ----------

Да, это таки из-за ENT'a была ошибка.....А что это за директива такая ?



ENT наверно указывает откуда начинать программу, но разве не достаточно ORG'a ?

AER 21st January 2012 17:40

ORG указывает куда компилировать
ENT указывает ассемблеру откуда запустить

goodboy 23rd January 2012 14:49

а между тем на ebay продают распечатки исходников игры midnight resistance http://www.ebay.co.uk/itm/Sinclair-Z...item19caeab073

newart 23rd January 2012 17:21

Quote:

Originally Posted by goodboy (Post 458288)
а между тем на ebay продают распечатки исходников игры midnight resistance http://www.ebay.co.uk/itm/Sinclair-Z...item19caeab073

А давайте скинемся?

Игрушка то зачетная.

---------- Post added at 16:21 ---------- Previous post was at 15:43 ----------

Даю 200р на это дело. Кто еще?

jerri 23rd January 2012 17:50

newart, были бы файлы другое дело
а распечатанные тексты - оно надо?

newart 23rd January 2012 18:02

Quote:

Originally Posted by jerri (Post 458340)
newart, были бы файлы другое дело
а распечатанные тексты - оно надо?

Думаешь движок по ним не востановить?

jerri 23rd January 2012 18:43

newart, а зачем? в МидРес достаточно простой и грубый движок его ценность в распечатке гораздо ниже чем тоже но на диске/кассете/микродрайве ;)

newart 23rd January 2012 19:01

Quote:

Originally Posted by jerri (Post 458359)
newart, а зачем? в МидРес достаточно простой и грубый движок

Да но, иходников ничего даже близкого к этому движку нет.

NEO SPECTRUMAN 23rd January 2012 22:55

Quote:

А давайте скинемся?
Игрушка то зачетная.
Это бы в отдельную тему.

NovaStorm 24th January 2012 11:37

Неясна лицензия на движок, если это распечатка и использовать код нельзя, ею остаётся только подтереться.
Хотя игру, помню, проходил.

jerri 24th January 2012 16:19

newart, У нас есть более технологичные и качественные движки
вот тот же Wolf48 например - однако использовать их почемуто не получается?
зачем еще один никомуненужный движок?

Shadow Maker 24th January 2012 16:21

Наверное "чтобы был", это в принципе часть истории и такую же историческую ценность представляет. С другой стороны движка под 48 для 2d скролл-шутеров типа MidRes я не помню в свободном доступе.

newart 24th January 2012 16:40

Quote:

Originally Posted by jerri (Post 458743)
вот тот же Wolf48 например

Это пока не жвижок. Много ли можно придумать игр с лабиринтом без предметов и врагов?

---------- Post added at 15:39 ---------- Previous post was at 15:38 ----------

Quote:

Originally Posted by Shadow Maker (Post 458744)
С другой стороны движка под 48 для 2d скролл-шутеров типа MidRes я не помню в свободном доступе.

О чем и разговор.

---------- Post added at 15:40 ---------- Previous post was at 15:39 ----------

Quote:

Originally Posted by jerri (Post 458743)
зачем еще один никомуненужный движок?

Если его оформить должным образом то еще как нужен будет.

jerri 24th January 2012 16:49

newart,
есть уже предметы, и враги тоже есть

только вот в каком виде? если на Спеке нет желания писать
а кроме как под Аласм этот движок нигде не собирается

Ты оформлять движок будешь?


All times are GMT +4. The time now is 00:26.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.