PDA

Просмотр полной версии : SGDK



ALKO
05.08.2014, 20:43
Застопорился на освоении вывода спрайта.

Текст и тайлы вывести могу. А спрайт - ни в какую.
Точнее экземпл с вики работает. А моё - не пашет. (компилит без ошибок)

Вот мой исходник.

#include <genesis.h>


struct genresTiles
{
u16 *pal; //pointer to pal data
u32 *tiles; //pointer to tiles data
u16 width; //width in tiles
u16 height; //height in tiles
u16 compressedSize; //0 in this demo, more coming soon
};
extern struct genresTiles title;

struct genresSprites
{
u16 *pal; //pointer to pal data
u32 **sprites; //pointer to sprites data
u16 count; //nb sprites
u16 width; //width of each sprite in pixels
u16 height; //height of each sprite in pixels
u16 size; //since we use width/height in pixel, useful info on sprite size
//TODO : size is not SGDK compliant, you need to use size>>8
// will be fixed in coming release
};
extern struct genresSprites bat1;


#define TILE1 1

int main( )
{
SpriteDef mySprite;

u8 frame = 0;

VDP_setPalette(PAL1, title.pal);

// load tiles in VRAM
// arg0 = tiles data
// arg1 = index for first destination tile
// arg2 = number of tiles to load
// arg3 = use DMA (1) or not (0)
VDP_loadTileData(title.tiles, TILE1, title.width*title.height, 0);

// VDP_fillTileMapRectInc(BPLAN, TILE_ATTR_FULL(PAL1, 0, 0, 0, TILE1), 0, 0, title.width, title.height);

VDP_resetSprites();
VDP_setSprite(0, 0, 0, bat1.size>>8, TILE_ATTR_FULL(PAL1,1,0,0,TILE1), 1 /* 0 */);


// define the sprite (using a _spritedef to easily make Sonic move later)
// define the sprite (using a _spritedef to easily make Sonic move later)
mySprite.posx = 40;
mySprite.posy = 40;
mySprite.size = bat1.size>>8;
mySprite.tile_attr = TILE_ATTR_FULL(PAL1,1,0,0,1);
mySprite.link = 0;
VDP_setSpriteP(0, &mySprite);



while(1)
{
VDP_setSpriteP(0, &mySprite);
VDP_updateSprites();
VDP_waitVSync();
}
return 0;
}


Содержимое файла, задающего ресурсы.

BITMAP title "data/title.bmp" 0
SPRITE bat1 "data/bat.bmp" 56 16 0

Обе битмапы 4-ёх битные.
title.bmp выводит без проблем.
bat.bmp - не отображает.

А вот исходник с вики по SGDK

http://sgdk.googlecode.com/svn/wiki/files/tut4_SpritesGenRes.zip

ALKO
14.12.2015, 01:11
Интересно было бы реализовать на сеге трёхмерный низко-полигональный мир.
Знаю, есть на форуме спецы по векторному 3д графону. Интересны алгоритмы рисования трёхмерной геометрии по точкам, с учётом оптимизации по тригонометрии и разного рода арифметическим операциями (например замена умножения\деления на регистровые сдвиги, сложение на логические операнды).

В этой СДК есть возможность рисования как отдельных точек (типа спектрумовского POINT X,Y ), так и готовая ф-ция рисования и заливки определённым цветом полигона. (идущий в комплекте с СДК пример, где вращается кубик с плоскостным тонированием, шикарен, но в исходнике сложновато разобраться. Хотя если его кто-нибудь бы подробно разжевал, то можно было бы взять за основу).

Бука
14.12.2015, 11:05
было бы реализовать на сеге трёхмерный низко-полигональный мир.

Для Сеги были неплохие авиасимы с честными 3д-полигонами (заливка цветом).

Недавно сваяли Вольфенштейн 3Д.

ALKO
14.12.2015, 12:13
Для Сеги были неплохие авиасимы с честными 3д-полигонами (заливка цветом).

Знаю. Игор с полигональной 3д графикой на сеге можно по пальцам пересчитать. Есть конечно убер-тормозные (steel taloon, mig-29). Но некоторые из них вполне шустрые по производительности, типа движка Kawasaki, в котором даже есть вращение спрайтов и слоя, что тоже довольно ресурсоёмко (вот только в Kawasaki нет учёта перспективы по оси Y, но её нет и в первом думе, и дюке нюкеме и множестве гоночек на ДОС).



Недавно сваяли Вольфенштейн 3Д.

Там не полигональный графон. Да и по принципу построения картинки сложно назвать это 3д-графикой.

- - - Добавлено - - -


с честными 3д-полигонами (заливка цветом).

Вращающийся кубик из примера СДК дежится стабильно на 20-ти FPS как при режиме wireframe,так и при режиме плоскостного тонирования и максимальном приближении камеры.
То есть тут сказывается в основном не заливка полигонов, а обновление координат вертексов в пространстве.

Вот при текстурировании - да, массив пикселей на экране даёт о себе знать.


https://youtu.be/GgQxJjP2XFc

Бука
14.12.2015, 12:32
Есть конечно убер-тормозные

Когда-то у меня был карик Ф-15, много летал. Тормозов особых не было.

https://youtu.be/bjmRm4ksYX4


Вот при текстурировании - да

Да уж, Генесис ни разу не 3дэ консоль... Под спрайты заточена, как почитал про управление её ВДП удивился что вообще хоть какие-то 3д игры были.

ALKO
14.12.2015, 12:42
как почитал про управление её ВДП удивился что вообще хоть какие-то 3д игры были.

Ну а чё, на спектруме куда геморнее выводить пиксели, да ещё и буфер кадра нужен. На сеге же буфер кадра - оператива VDP. Пусть и разбитая по тайлам, но не такая мозговыносная адресация, как на спектруме, однако при всём при этом на спектруме чуточку больше полигональных игор, вроде.

Бука
14.12.2015, 12:48
На сеге же буфер кадра - оператива VDP.

Так емнип в неё же проц напрямую писать не может, только командовать ВДП?

ALKO
14.12.2015, 18:55
Ещё вопрос по игровой логике. При программировании такой чахленькой ЭВМ нужно учитывать каждый такт.

Адекватно ли делать таким образом ? :
bool init_level_flag;
bool init_effects_flag;
bool game_over_flag;
bool effect_flag;

main()
{
...
while(TRUE)
{
if(init_effects_flag)initEffect();
if(effect_flag==TRUE)effect();
if(init_level_flag==FALSE)initLevel();
if(game_over_flag==FALSE)updateGame();
else zastavka();
...
}
}

Короче, если в главном цикле таким образом накопится куча if'ов, это не нормально же, так ведь? Как оптимальнее делать ?

- - - Добавлено - - -


Так емнип в неё же проц напрямую писать не может, только командовать ВДП?
Кажись, да.
Получается, что сперва надо рисовать в системное ОЗУ, и лишь оттуда уже перегонять в VDP... :frown:

- - - Добавлено - - -

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

- - - Добавлено - - -

Сатанизьм.
http://pastenow.ru/Upload/Paste/GO4Y.png

- - - Добавлено - - -

Сперва думал о процедурном отзеркаливании фона (зеркалка на сеге работает только по тайлам 8*8, а не по целому фону, в связи с чем надобно весь массив тайлов в обратном порядке выстраивать).

Но как я понял, компилятор ресурсов сам определяет симметрию картинки, и компрессирует в нужном направлении.
http://gendev.spritesmind.net/forum/viewtopic.php?f=19&t=2144

ALKO
15.12.2015, 19:27
Когда-то у меня был карик Ф-15, много летал. Тормозов особых не было.

Погонял малость, тормоза приличные. Особенно с видом chase view. Даже тормознее чем MIG-29. Где-то на уровне 3д-гольфов (серии PGA Tour Golf).
Причём сказывается в основном не количество полигонов, а закраска полигонов. Если даже будет один сплошной полигон террейна, то лагать будет прямо пропорционально количеству заливки.

F-117 Night Storm немножко быстрее рендерится. Там, пожалуй, самый шустрый движок среди всех 3д-полигональных сеговских авиа-симов.

А вообще, Gasega (автор вульфовского порта) начинал как-то лепить стар-фокс. Вот только давно обновлений не было. Забил, видать (активнее работает над MODE7).



https://youtu.be/UuYFmIEtLLk


Сам движок ближе к Kawasaki (и F-1). Тоже есть наклоны бэкграунда, тоже нет перспективы по оси Y.
Только есть ещё динамический меш, тонирование в глубину и даже текстурирование (на видео нет, но в одной из демок можно увидеть. Но то текстурирование не труЪ. Просто морфящаяся картинка, как стены в Zero Tolerance или Blood Shot'e).

- - - Добавлено - - -

А вот во времена нинтендовского старфокса сеговские разрабы тоже хотели замахнуться на подобное.
Но игру так и не релизнули.


https://youtu.be/4sXgFmZ-tM0

HardWareMan
15.12.2015, 19:49
Ты не поверишь, на что замахивались именитые демомейкеры в 90х...

http://www.youtube.com/watch?v=pOWZbydnlZE

Бука
15.12.2015, 20:28
Ты не поверишь, на что замахивались именитые демомейкеры в 90х...

Есть у меня в виде дампа карика 32Х. Но это ж не Генезис на м68к, это два SH2 32-битных RISC-процессора на 23,011 МГц.

ALKO
15.12.2015, 21:51
Ты не поверишь, на что замахивались именитые демомейкеры в 90х...

Видел эту демку. Как для 32х неплохо, но для меня не актуально, ибо примочки этой нет в наличии.
------------------------------

Щас озадачен тем, как бы при помощи sgdk сделать анимированный бэкграунд (каждый кадр уникален, и разрешение каждого кадра 336*224).
Просто VDP_drawImageEx не катит, т.к. много времени уходит на распаковку и перегонку инфы в VDP-RAM.

- - - Добавлено - - -

если не использовать компрессию, то быстрее обновляется, но всё равно задержка в десятые доли секунды есть, да и сам процесс отрисовки виден.

HardWareMan
16.12.2015, 06:07
Есть у меня в виде дампа карика 32Х. Но это ж не Генезис на м68к, это два SH2 32-битных RISC-процессора на 23,011 МГц.
Вот это поворот! Поделитесь, будьте любезны! Народ в особо узких кругах уже 9 лет обсуждает, где же сей ром, что даже в одном из интервью с Jesper Kyd спросили. О чем было сказано "утеряно".

И да, я в курсе, что это 32х, но если вопрос стоит так, то посмотрите другие игры от A Scavenger Team, если не помните, я напомню:
Red Zone

http://www.youtube.com/watch?v=FZKsQ09qOk4
Sub Terrania

http://www.youtube.com/watch?v=AoMIRvDTw-w
Batman & Robin Adventures

http://www.youtube.com/watch?v=CR0MWpOK1RU

ALKO
16.12.2015, 08:44
то посмотрите другие игры от A Scavenger Team, если не помните, я напомню:
Red Zone

Графон хоть и полигональный, но не 3д же.
Вращения матрицы в одной плоскости. А повороты всяких объектов - пререндер (+ параллакс-скроллинг, для эффекта псевдо 3дэ). Есть на амиге и ДОС подобная игра "Seek and Destroy", там кол-во градусов поворота спрайтов больше.

Бука
16.12.2015, 10:48
Вот это поворот! Поделитесь, будьте любезны!

Поищу в старом ноуте. Вроде бы в 2007м качал откуда-то сборник 32х ромов.

ALKO
16.12.2015, 12:04
----------------------------
Вот интересно, как им удаётся так быстро обновлять плэйн.

https://youtu.be/qJy2yXoGJWU

но тут картинки походу совсем не сжаты, так как видео длится ~10 секунд, а весит 2 мегабайта.

А тут компрессия на звук и видео.

https://youtu.be/2vPe452cegU

Исходник на бэд-эппл есть, но сложно разобраться в нём.

HardWareMan
16.12.2015, 20:24
Поищу в старом ноуте. Вроде бы в 2007м качал откуда-то сборник 32х ромов.
Принято. А можно узнать сроки, хотя бы примерно?

Бука
16.12.2015, 20:59
А можно узнать сроки, хотя бы примерно?

Поискал. Не нашел, увы. :((((((

Стер походу и хз когда. На старом ноуте хард 160гб, и много чего было стерто. Жаль, я не знал что этот ром утерян.
Постараюсь вспомнить - вдруг еще где остался. Хотя основное воспоминание "какой отстой, 3DO и то лучше умела...".

ALKO
16.12.2015, 22:11
"какой отстой, 3DO и то лучше умела...".

И как часто пользовались её умениями ? Насколько мне известно, на ней в основном преобладали FMV-ки всякие подобно MegaCD.

Бука
16.12.2015, 22:21
на ней в основном преобладали FMV-ки всякие

Там полного 3д хватало. Wing Commander III, Starfighter, Need for Speed и многие другие.

32х реально отстой.

piroxilin
17.12.2015, 01:11
32х реально отстой.

Ну не надо сравнивать здо и 32х - сега для себя самой охренительна, другое дело что она ущербна по конструкции и её вообще в основном использовали как видео-цап с мааааленьким 3д акселем :)

HardWareMan
17.12.2015, 07:18
Поискал. Не нашел, увы. :((((((

Стер походу и хз когда. На старом ноуте хард 160гб, и много чего было стерто. Жаль, я не знал что этот ром утерян.
Постараюсь вспомнить - вдруг еще где остался. Хотя основное воспоминание "какой отстой, 3DO и то лучше умела...".
И почему я не удивлен?

ALKO
17.12.2015, 08:27
оффтоп:
прошу прощения, что вмешиваюсь в ваши 32-ух битные RISC-процессорные мутки. Просто хотел поинтересоваться, пробовали ли вы сделать анимацию из нескольких картинок на A_PLANE или B_PLANE при помощи sgdk ?

ALKO
17.12.2015, 21:24
между прочим, чего-то не припомню игор, шоб бэкграунд был шибко анимирован картинками. Довольно редко анимировали лишь небольшие участки несколькими кадрами картинок, но чаще скроллами (попиксельными\познакомест ными\по слоям) либо ухищрениями с палитрами (всякие водопады, огонь, футуристические мигалки, переливающиеся неоновые лампы и тд.)

ALKO
19.12.2015, 23:13
Захерачил такой эффект, пока по синусоиде бэкграунд "плывёт".
http://pastenow.ru/Upload/Paste/GXOQ.png


Вопрос к физикам-ядерщикам математикам, как сделать плавный переход от одной параболы к другой ?
http://cnx.org/resources/0ec2ff3818b15bb5ac4d98846d37e78abbb8952a/C09_S9-7_P46_001.jpg

BYTEMAN
20.12.2015, 11:47
К слову, быстрое 3д в f22 interceptor

ALKO
21.12.2015, 18:08
К слову, набросал скетч игры. Использовал сеговскую палитру (и то, много цветов ещё осталось неиспользованных в палитре.)

http://orig05.deviantart.net/986a/f/2015/355/9/2/annihilator_2_5d__sega_genesis_game__by_alkolove1-d9kw86f.png

Вот тут уже возникает вопрос, как зеркалить картинки, прежде чем расположить их на плэйн. Такой фишки по дэфолту автор СДК не предусмотрел.

- - - Добавлено - - -

Сега хоть и говенцо, и множество технических ограничений у неё, но это лучшая приставка, когда-либо созданная человечеством.

creator
21.12.2015, 19:33
Корабль Freddy Hardest!

ALKO
21.12.2015, 19:52
Ну да, только в сежной палитре. Его же хочу изобразить ещё в интровом ролике. Типа события происходят после Аннигилятора ТРИ ДЭ (который на данный момент у меня заглох. Надеюсь, что только на какое-то время)

HardWareMan
22.12.2015, 05:52
Вот тут уже возникает вопрос, как зеркалить картинки, прежде чем расположить их на плэйн. Такой фишки по дэфолту автор СДК не предусмотрел.
http://savepic.su/6856533.png

Сега хоть и говенцо
Рот закрой.

ALKO
22.12.2015, 08:37
Позволяют на аппаратном уровне провести зеркализацию тайла (символа)


как зеркалить картинки, прежде чем расположить их на плэйн.

Разница есть. Картинки - это массив тайлов, и тут уже надо оперировать с этим массивом. Прежде чем отзеркалить картинку, надо выстроить в обратном порядке тайлы.

- - - Добавлено - - -


Сообщение от ALKO
Сега хоть и говенцо
Рот закрой.
А я его не открывал.

ALKO
23.12.2015, 23:01
Есть идеи по поводу X или Y масштабирования за счёт скролла ?

https://youtu.be/fpuvMCpD7_w?t=1630

HardWareMan
24.12.2015, 06:19
Так же как и на заставке SEGA игры Comix Zone. Это называется "растровый эффект".

ALKO
26.12.2015, 22:16
Так же как и на заставке SEGA игры Comix Zone. Это называется "растровый эффект".

Растровые эффекты бывают разные, именно скейлинг встречается ещё много где, да вот только на sgdk его особо никто не юзал (не нашёл примеров). Разве что тут чувак чего-то пытался: http://gendev.spritesmind.net/forum/viewtopic.php?t=978

Но его пример у меня так и не запахал.
Попадались ещё асмовские примеры. Только интегрировать их в свою прогу не смогу.

А вот можете глянуть техно-демку моего Кровавого (хочу уместить максимум Сатаны в каждый байт картриджа)
https://www.dropbox.com/s/jzim53n8sri9nf2/BLOOD_BALL.bin?dl=0 (https://www.dropbox.com/s/jzim53n8sri9nf2/BLOOD_BALL.bin?dl=0.)

ALKO
27.12.2015, 19:12
Ну не надо сравнивать здо и 32х - сега для себя самой охренительна, другое дело что она ущербна по конструкции и её вообще в основном использовали как видео-цап с мааааленьким 3д акселем

А там точно 3д аксель ? В технических характеристиках как-то мутно указано: rendering 50,000 polygons per second.
А каких полигонов, сколько вершин у полигонов, затекстуреных или нет, сколько пикселей на экране заполняет полигон - на википедии ничего не написано.
Скорее всего там родственные Сатурну чипы. И вертексы в виртуальном 3д пространстве должен уже проц просчитывать (возможно с помощью внешних сопроцессоров, но всё же это уже не тянет на 3д-аксель). Отсечение бэк-фейсов наверняка процом делается. Текстурирование тоже вполне возможно махинациями с перегонкой растра из разных областей памяти, всё это наверняка на проце завязано.

Скорее всего не маааленький 3д-аксель, а огроменный 3д-костыль.

- - - Добавлено - - -

http://img02.deviantart.net/71ff/i/2015/158/4/f/sega_man_by_alkolove1-d8we5td.png

ALKO
28.12.2015, 09:45
Братья сегисты, хотел спросить вас. А существует ли ещё прога компактнее gimp'a для редактирования позиций цветов в палитровой таблице ?

ALKO
31.12.2015, 04:00
Сделал покачивающиеся цепи. Хиии... Для красоты картинки сделал, чтоб отличались в полупериод.
mayatnik= 10+sinFix16(mayatnikdx)>>4;
mayatnik2= 10+cosFix16(mayatnikdx)>>4;

А можно ли обойтись одним синусом в таком случае, чтоб лишний раз тригонометрию не вычислять? Хотя для сеги эти формулы вообще не в напряг, просадок фпс ни капли не заметно (и это при том, что параллельно ещё кучу партиклов сделал). Но полагаю, лишними вычислениями, тем более для обычного декора, не стОит раскидываться просто так , и рано или поздно, фпс начнёт заметно проседать. Но пока всё гладко.

- - - Добавлено - - -

Разве что малость смущает то, что для особого драйва пришлось сделать в 16 пикселей приращения мячика по координатам (dx dy).
Во-первых, коллизию таким образом сложнее прощупать (но от ракетки пока отбивается). Во-вторых, немного чувствуется, что дискретно перемещается мяч.
Без вертикальной синхронизации раза в два быстрее, но появляются характерные артефакты.

- - - Добавлено - - -

Работаю над менюшкой. Получается не шибко кроваво, зато сатанично.

http://orig08.deviantart.net/8d3d/f/2015/364/5/0/gaypad_by_alkolove1-d9m3m5b.png

http://pastenow.ru/Upload/Paste/HEHU.png

- - - Добавлено - - -

Исправил пол-литру.
http://pastenow.ru/Upload/Paste/HEHX.png

ALKO
31.12.2015, 20:21
Жость.
Фпс сильно скачет при появлении тех или иных частиц.
Когда на экране 30 спрайтов - всё по-сумасшедшему летает, добавить ещё 50 спрайтов - уже лаги начинаются, прямо как в сонике, когда из него кольца вываливаются.
Надо бы стабилизировать картинку.

- - - Добавлено - - -

Можете заценить обновлённую версию.
(кнопка "старт" привязана к англицкой "B" на клаве)

https://www.dropbox.com/s/368sk7k9nlcldlq/%D0%9A%D1%80%D0%BE%D0%B2%D0%B0%D0%B2%D1%8B%D0%B9.r ar?dl=0

ALKO
02.01.2016, 13:15
Православно получается хоть?
http://virink.com/storage/16/01/01/0365c40f4b2315ddd2dac85a1926f3dd.jpg

- - - Добавлено - - -

А сега умеет скроллить не всю строку\столбец плэйна, а лишь какую-то часть её ?

ALKO
04.01.2016, 19:58
К слову, быстрое 3д в f22 interceptor

Вспомнил где на сеге ещё быстрая трёхмерно-полигональная графика.
Более того, там даже есть плоскостное тонирование и типа шейдинг кабины (за счёт махинаций с палитрами).
Техно-демка Elite

https://youtu.be/0n67kGuj_-w

Не знаю, официально ли её начали портировать, или это чьё-то хоумбрю, но жаль что так и не доделали.

- - - Добавлено - - -

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

HardWareMan
04.01.2016, 20:06
HardWareMan, я как-то гуглил по VDP и напоролся на архивную тему с эму-ленда, где вы ковыряете каждый бит сеговского железа. И как-то невзначай сказанули, что якобы собрались делать игру.
Можете показать хотя бы набросок? Хотя бы скрины.
Какие ваши доказательства?!

ALKO
04.01.2016, 21:20
Ой, сорри. Читал с телефона, отображалось как архивная версия сайта. Аватарок не видно было. И краем глаза воспринял никнейм Segaman, как HardWareMan.
Хыыыы.............
http://www.emu-land.net/forum/index.php?topic=48045.0

- - - Добавлено - - -

Вот по "Окну" до сих пор не догоняю.

Есть некоторые игры, где делают более 2-ух слоёв бэкграунда-форэграунда. Это как-то связано с "окном" ?

https://youtu.be/dNPPG0IQusI?t=6

- - - Добавлено - - -

Ещё ситуация с переменным темпом игры при различном количестве спрайтов на экране очень напрягает.:v2_dizzy_phone::v2_dizzy_wall:

- - - Добавлено - - -

Из-за этого темпа игры не могу сдвинуться с места.
Ведь от этого так же зависят и растровые эффекты.
Пробовал использовать счётчик кадров - артефачит во время растровых эффектов.

ALKO
06.01.2016, 13:00
Пока что клепаю для "Кровавыша" блэк-митольный FM-синтезированный музон.
Но всё же надеюсь, что кто-нибудь подскажет, каким образом нормализировать игровой процесс при разном фпс.

Просто большинство самоделок на сегу - какие-нибудь пошаговые головоломки, либо аркады со статическим экраном и графикой как на спектруме.
Я же пытаюсь выжать драйв уровня кОнтры.

Уже пробовал отсюда (http://live13.livejournal.com/469940.html) пример "догонялки". В качестве ф-ции замера времени использовал getTick().
Практически та же фигня получается, что и при использовании счётчика кадров, только отличие - нет артефактов при растровых эффектах.
Скорость нормализуется, но первые секунд 5-10 рендерер (апдейт спрайтов) не обновляется, тогда как координаты объектов обновляются в этот момент.

ALKO
09.01.2016, 13:15
while(TRUE)
{
handleInput();
if(star_game_f==TRUE)
{
u32 current = getTick();
u32 elapsed = current - previous;
previous = current;
lag += elapsed;
while (lag >= VAR)
{
upgate_gaym();
lag -= VAR;
}
SPR_update(sprites, 80);
}

Вот если VAR равно 10-ти, то игровой процесс безупречен, картинка гладкая, но первые пару секунд спрайты не обновляются, тогда как координаты их обновляются с бешенной скоростью.
Если же VAR сделать равным 50-ти, то всё обновляется сразу, но картинка получается слайдшоу.

ALKO
10.01.2016, 21:08
http://s8.hostingkartinok.com/uploads/images/2016/01/3d6811fe884d8675a7758626d278cb00.gif

HardWareMan
11.01.2016, 04:55
Пинхэд одобряет!
http://i65.fastpic.ru/big/2014/1027/10/15eeb06f2e11ff161934b57846871510.png

ALKO
16.01.2016, 21:52
Чпок.

http://s8.hostingkartinok.com/uploads/images/2016/01/254f2b429db77641bf2d285d8e3c1d96.gif

- - - Добавлено - - -

Можете заценить одного из боссов "Кровавого мяча" - Лилит.


Верующим католико-баптисто-христианам не рекомендуется смотреть.



Я предупреждал...
http://img10.deviantart.net/092b/i/2016/003/d/9/lilith__satan_ball__by_alkolove1-d9mk7wz.png

ALKO
17.01.2016, 19:53
но мне, например, тоже многое не нравится в твои набросках.
Можете назвать хотя бы малость того множества, чего не нравится? Попробую исправить.

- - - Добавлено - - -

Попробовал сделать вращения изображения.
Думал, можно обойтись без тригонометрии, но она всё-таки нужна, иначе картинку начинает плющить, подобно тому, как mode7 плющит в псевдо-перспективе.
http://pastenow.ru/Upload/Paste/I3K2.png

- - - Добавлено - - -

В принципе, это сеговский предел.
Ни в бэтмане, ни в контре, ни в вектор-мэне, ни в puggsy, ни в gunstar heroes слои не делали полный оборот. Лишь незначительный крен. (а вращающиеся спрайты обычно пререндер, а так как на сеге есть зеркалка, то на этом пререндере можно сэкономить в 4 раза).

Единственный случай нормального вращения - https://youtu.be/w54uNAuqE1Y?t=213

Но тут, как мне кажется, своего рода mip-maps на определённые углы поворота.

ALKO
20.01.2016, 04:27
Сообщение от HardWareMan

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

ап.

- - - Добавлено - - -

Не хотелось бы, чтоб "Кровавый" по качеству исполнения уступал тому бейсиковому пошаговому паззлу со статическим бэкграундом и спрайтами 8*8.

HardWareMan
20.01.2016, 06:19
Жанр игры?

ALKO
20.01.2016, 07:58
BreakOut-клон. Только вместо блоков - демоны иудейской мифологии.

ALKO
20.01.2016, 21:16
http://s8.hostingkartinok.com/uploads/images/2016/01/6fe9ea2e8e80a876894563f657926412.gif

- - - Добавлено - - -

В ротовой полости сделаю скроллирование душ. Только не уверен, что получится.

- - - Добавлено - - -

...Не уверен, что получится реализовать это вторым плейном. Но если спрайтами - то наверняка получится (дополнительная нагрузка на проц будет тогда)

ALKO
22.01.2016, 13:30
Не уверен, что получится реализовать это вторым плейном.

Всё-таки получится.
Но какой же калечный у сеги видео-контроллер. Просто жуть.
Для вращений переднего плана нужно переключиться в режим попиксельного\16-пиксельного скролла. И этот режим распространяется сразу на два плэйна.
То есть задний фон придётся тоже скроллить сегментами. Лишняя нагрузка на проц. Незначительная, но всё же (надо двигать массив 16-ти пиксельных столбцов).

- - - Добавлено - - -

И ещё напрягает этот лишний мусор в верхних адресах памяти VDP (где хранятся карты для тайлов). Его бы отодвинуть впритык, чтоб можно было сплошняком свои ресурсы грузить. Фрагментированная бадяга получается.

- - - Добавлено - - -

Надеюсь за период разработки "Кровавого" Стэф всё же сделает оптимизацию зеркальных плэйнов. Я стараюсь максимально симметрично рисовать фоны и объекты, дабы сэкономить память раза в два\четыре.

ALKO
23.01.2016, 01:37
http://s8.hostingkartinok.com/uploads/images/2016/01/bf27ff26ae5b37d3c1dc917b884977c1.gif

ALKO
26.01.2016, 23:19
https://media.giphy.com/media/3o7ZevoBLPk1TYzrY4/giphy.gif

Бука
27.01.2016, 10:58
ALKO, дурацкий вопрос.

В мегадрайве кроме 68к стоит Z80. который может использовать 8к ОЗУ через окно из 64к процессорной памяти.
Стоит он там для аппаратной эмуляции предыдущей Сеги, мастер систем. И для ошкуривания звука - командует синтезатором.

Можно ли его припахивать еще для чего-то?

ALKO
27.01.2016, 11:59
Ну, раз шина Z80 и 68k общая, то теоретически вполне возможна совместная работа этих процессоров. Хотя на 100% я не уверен. Это ХардвареМан больше разбирается.

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

Специфический подход у gasega с его Mode7. Но он использует только внешнюю SRAM на картридже (для хранения\чтения текстуры), да и только.

Бука
27.01.2016, 12:21
не встречал случаев, где Z80 как-то особо эксплуатировался.

Он в играх музыкой командует. 8кб ОЗУ с прогой, и окно в 32кб в ПЗУ карика.

http://www.db-elec.com/home/technical-info/Genesis/memory-map

http://bigevilcorporation.co.uk/2012/09/03/sega-megadrive-10-sound-part-i-the-psg-chip/

Там же написано что он на VDP может командовать, вот и интересно стало. ;)

ALKO
27.01.2016, 12:39
Я в курсе что он в играх музыкой командует.я не в курсе, могут ли совместно два проца использовать одну память (из VDP памяти читать содержимое геморно, производительности во вред только будет).

HardWareMan
27.01.2016, 14:19
Причем из-за изначально используемой DRAM, замененной в последствии на SRAM (но сигналы так и остались RAS/CAS) Z80 не может обращаться к ОЗУ М68К, хотя может выбрать ее адрес. Данные не проходят из-за нарушения синхронизации. И это обидно: удобнее когда Z80 сам забирает себе команды а не торможение его посредством M68K.

ALKO
28.01.2016, 09:59
Доплясались иудеи со своим Кровавым, у батьки Левиафана терпение не железное.
Теперь Ной и прочее библейское иудейское отродье пузырьки только пускают в пучине морской.

http://pastenow.ru/Upload/Paste/ILQD.png

ALKO
30.01.2016, 00:15
переменные с плавающей запятой тут просто что-то мозговыносное.
Траектория мяча вычисляется интами, поэтому рикошет дискретный.
Пытаюсь переделать под fix16 (дробная переменная), шото ваще туго лезет.

ALKO
07.02.2016, 23:33
В сатане, да не в обиде.
https://proxy.imgsmail.ru/?h=vcFzEG-l8rIIRQgKX8CiHQ&e=1454921568647&url717=i.yapx.ru/kfG.gif

ALKO
12.02.2016, 11:17
Хочу научиться масштабировать спрайты.
Научите, пожаласта.
Заметил такую особенность в скейлящихся спрайтах на сеге - когда спрайт идёт по масштабу "в плюс", некоторые его пиксели становятся квадратиками состоящими из вертикальных полос.
Не везде так, но в большинстве случаев (Road Rash1-3, Scitchin, Lawnmowerman, Zero tolerance, Wolfenstein3D).
Будто применяется схожий алгоритм.
Вот в BattleFrenzy, или Cyber-Cop, или Flink такого артефакта нет.

ALKO
19.02.2016, 22:44
Обычно говорят, что разрабы вкладывают душу в игру.
Я же вкладываю душу в дьявола.

http://s8.hostingkartinok.com/uploads/images/2016/02/0fdb4a5cbb61983a04bcb1749de4751d.gif

- - - Добавлено - - -


Дэфолтный СГДКшный спрайт-движок очень глючный, к сожалению.
Автор говорит, что работает над его оптимизацией, но хз когда он закончит, и закончит ли вообще.
http://s8.hostingkartinok.com/uploads/images/2016/02/ac813211595985d33f07e1d2f2ff0626.gif


В идеале это всё должно быть статичным в памяти.
http://s8.hostingkartinok.com/uploads/images/2016/02/3762cb14da033eaf5a3210b55ec85822.gif

ALKO
21.02.2016, 21:41
Псевдо-плазма.
http://s8.hostingkartinok.com/uploads/images/2016/02/d8e3882395c9f664b5b9a3c82c2a98fe.gif

- - - Добавлено - - -

как думаете, все эти эффекты возможно повторить на сеге? Амижка с сежкой всё-таки почти родичи.
https://youtu.be/G3HUp7LH5ig

ALKO
02.03.2016, 08:17
Ещё один псевдо-недо-"эффект"

http://s8.hostingkartinok.com/uploads/images/2016/03/df9316d7e7b511566e4730997692a0fa.gif

ALKO
06.03.2016, 13:34
http://cs404416.vk.me/u351175675/docs/4121a11f45ff/7.gif?extra=ThQZYI9SSUDa29E0AOeP7HR5Z-MGhrrG-FstVz4rG7yHq0jvfr_NR1y1HOAqLr2KeAIRqG0aQi5z6sNAjQh sw3TXj7eBXL0PgIe43q8XYr-b85PRuc4tK1i34n-UA_cLGFbw-yNMBERbGA

ALKO
25.03.2016, 21:55
Кроваво получается хоть? Или не очень?
http://s8.hostingkartinok.com/uploads/images/2016/03/d132e895c82000730ee4103643048b28.gif

ALKO
17.04.2016, 22:57
Ещё один псевдо-недо-эффект в коллекцию.
http://savepic.ru/9376529.gif

- - - Добавлено - - -

Чуть менее вырвиглазный режим.
https://vk.com/doc351175675_437451702?hash=4154af309f1fc3ad93&dl=df294871aa64beeb92

ALKO
28.04.2016, 09:27
http://vk.com/doc351175675_437476949

ALKO
16.05.2016, 08:11
http://alko-art.ru/2016/05/15/screensaver-sega-megadrive/

ALKO
26.05.2016, 21:45
Один знакомый запускал Кровавыша на оригинальной сеге.
Посмотрите как таращит.
https://vk.com/video13327515_456239023

На пиратках такого глюка не наблюдается. (есть другой глюк - зависание при воспроизведении сэмплов определённой дискретизации. Но это уже другая история).

Заставка так не глючит, ибо нет привязки к таймеру.
Там когда начинается игровой процесс, я отслеживаю состояние таймера, и по нём обновляю спрайты и VSync.
Странно почему так её таращит. Непонятно. Эмуль себя нормально ведёт, пиратки тоже. А оригинал капризничает.

HardWareMan
26.05.2016, 21:58
Еще каких-то 5 лет назад за ссылки на соцсети кастрировали. Эх, вернуть бы то время назад!
http://savepic.ru/9863864.png

ALKO
26.05.2016, 22:28
Походу у того чувака приватные видосы.

Лень качать и заливать на другой видео-хостинг.

Вот, проверил в режиме инкогнито без авторизации во ВКудахте, вроде пашыт.
https://vk.com/video13327515_456239023?list=73fe7f385076a62077

Black Cat / Era CG
26.05.2016, 23:19
Хз. Есть 1 (не совсем -китаец, но из 90х) мегадрайв, но нет эвердрайва, поэтому запустить никак пока, а было бы интересно.

alk0v
27.05.2016, 16:32
А DemoScene какая-то есть на сегу?

ALKO
27.05.2016, 22:28
Разумеется есть. С десяток наберётся, если не больше. Самая продвинутая по эффектам - 0verdrive.

- - - Добавлено - - -

На pouet зайдите и вбейте сёрч с фильтром SMD.

- - - Добавлено - - -

И то, там кажись, не все демы будут. Отдельные по забугорным форумам можно найти (среди нашемских нет толковых сега-программиздов, лишь ромхакеры)

- - - Добавлено - - -

Мне ещё нравится движок трэкерной музыки в дэмке stuсk somwere in time. Там сэмплами имитируется звучание амижного SID-чипа. Дэмка по сути порт с амиги.
Это второй случай за всё существование мегадрайва, когда юзали трэкерную музыку. Первый случай - История игрушек.
Поразительно. На спектруме через бипер выжимают полифонию и даже сэмплированное музло, а на сеге с тем же процом и имеющимся 8ми битным ЦАПом сэмплированная музыка огромная редкость.

- - - Добавлено - - -

Есть так же тулза, которая вшивает MOD-трэк в меню истории игрушек. Но там ограничение 90 килобайт, вроде. Ибо надо втиснуться в игру. Отдельно движок не выдрали.

- - - Добавлено - - -


Есть так же тулза, которая вшивает MOD-трэк в меню истории игрушек.

Дабы не пустословить, вот, впендюрил первый попавшийся MOD-трак (играет в меню игры)
https://www.dropbox.com/s/h0xe2m4asrk6iv8/toy%20%283%29.bin?dl=0

goodboy
27.05.2016, 23:22
сэмплами имитируется звучание амижного SID-чипа. ???
на амиге грубо говоря четыре 8ми битных цапа и всё.
остальное делается программно.

ALKO
27.05.2016, 23:38
на амиге грубо говоря четыре 8ми битных цапа и всё.
остальное делается программно.
Ну ок. Тут аналогично. Только микшируется всё через один цып.

- - - Добавлено - - -

Амига версия:

https://youtu.be/FEG3fdV6Ra4?t=2877

Сеговская на ютубе только лайв с какого-то пати. Поэтому лучше сравнивайте у себя на эмуляторах\железе.

Звучание Амиги более мягче (видимо частота дискретизации сэмплов больше), но всё же очень похоже.

- - - Добавлено - - -

Кто не знает, где скачать:
http://www.pouet.net/prod.php?which=64438

- - - Добавлено - - -

Ах да, на Kega Fusion звук глючит. Не знаю как на других эмулях. Я эту демку гонял на железке.

ALKO
04.08.2016, 13:56
Это штота!
Физ. движок уровня Box2D на чахлых 7-ми мегагерцах вынесли мне моск.:v2_dizzy_priest:


https://youtu.be/LBzRzuAECm4

Конечно в играх подобное тоже встречалось. Тот же бильярд (тоже анимация псевдо-вращения спрайтов). Но тут гораздо больше партиклов поэтому эффект чётче кажется.

ALKO
07.08.2016, 23:00
https://youtu.be/CpaekkusrPE

Бука
09.08.2016, 19:30
Немного не в тему но -

Скачал Dune Razor Mission - шикарный аддон к любимой Дюне. В лесу на планшете играю, полная жесть. Добавили Фрименов, Сардукаров и вагон сложности.

Выносят пока, но так я не кайфовал с 1996го... ;)))

creator
09.08.2016, 21:16
Добавили Фрименов, Сардукаров
Правда что-ли не было?

Бука
09.08.2016, 21:53
Правда что-ли не было?

Бегать-то по карте они бегали, а вот кампании за них новинка.

Особенно понравилось за фрименов. "Рецепт борща по цыгански - пункт первый, стырить кастрюлю..." ;)))

creator
09.08.2016, 22:23
Бегать-то по карте они бегали, а вот кампании за них новинка.
Эээ, что, со своей базой? Ужасть.

Bobo
10.08.2016, 00:50
Эээ, что, со своей базой? Ужасть.

и с базой друзей

ALKO
11.08.2016, 13:21
Скачал Dune Razor Mission
На железе не запустилось.
Хотя автар уверяет, что с "эвердриве" должно пахать.

- - - Добавлено - - -

Мне в сеговской дюне нравится дизайн. Всяко лучше пекашного. И управление лучше, не смотря на джойстик против мыши, как ни странно.
А вот тормозной игровой процесс выбешивает.
Я когда в шкальные годы гонял в сеговскую дюну, "малость" обкекался, когда увидел, какой мегадрайв творится во втором ред алерте, когда я пришёл до кента в гости и сел за комп.

- - - Добавлено - - -

Поначалу в рэдике люто слоупочил после сеги.

ALKO
02.09.2016, 08:24
Хвастаюсь эффектом.

https://media.giphy.com/media/l2Sqd1kYsNXCT9C7e/giphy.gif

- - - Добавлено - - -

Таким образом можно рендерить на слоях сколь угодно спрайтов. И в одну линию их может быть сколько угодно.
Но есть минусы - вывод познакоместный, и при изменении координат псевдо-спрайта, нужно очищать область, где он недавно находился... Ну в общем, как Savage, Dan Dare III, Extreme и прочие игры на спектруме с подобной графой.

- - - Добавлено - - -

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

А вот в бладшоте спрайты аппаратные. И если подойдёшь в упор к крупному спрайту, начинает моргать.

ALKO
17.04.2017, 19:20
:v2_jawdr::v2_jawdr::v2_jawdr::v2_jawdr: КАКК??? :v2_jawdr::v2_jawdr::v2_jawdr::v2_jawdr:


https://youtu.be/gWVmPtr9O0g?

- - - Добавлено - - -

Особенно порвало шаблон происходящее с 4:25

- - - Добавлено - - -

Ток вот с запуском на эмулях\картриджах проблематично. Ром 8-ми метровый, и дешифрация банков как в SSF2