Zombie

Announce (tech) demos or games releases

Moderator: Mask of Destiny

Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef »

+1
bioloid
Very interested
Posts: 184
Joined: Fri May 18, 2012 8:22 pm

Post by bioloid »

A new one, as promished. Done fastly for the december 21. weird as well.
http://www.pouet.net/prod.php?which=60832
See you!
TmEE co.(TM)
Very interested
Posts: 2452
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) »

This one had some pretty cool parts in it !
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef »

Look trashy but nicely done :)
Also you used hardware this time to produce some neats effects !
sigflup
Very interested
Posts: 111
Joined: Mon Sep 06, 2010 12:05 pm
Contact:

Post by sigflup »

Yeah, I really like the feel of this one. Nice work
bioloid
Very interested
Posts: 184
Joined: Fri May 18, 2012 8:22 pm

Post by bioloid »

Used a custom SGDK version, but here is the cylindrical effect : http://pastebin.com/2CrA5EgK
Note that it heavily depends of used textures (horizontal tubes are cool).

And here is an old playable version : http://downloads.kstorm.org/tape21_wip.7z (may not work on real hardware, unsure).
Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef »

Nice creation again, i really surprised it can handle the hint code fast enough (it seems you use 2 scanlines hint granularity).
I also really like the "end of world" weird style music ;)
bioloid
Very interested
Posts: 184
Joined: Fri May 18, 2012 8:22 pm

Post by bioloid »

Thanks Stef! Was surprised as well, it's basically coming from playing with the axelay effect, and being kind of lucky, but the one I prefer is the "circular effect", I even don't get how it works ;)

edit: and to precise, following months/years I won't be able to make other demos, cause of professional/personal life changes, but if someone needs raw musics or bitmaps, I'll be pleased to help.
Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef »

Yeah the circular effect looks pretty nice too, it seems you use the cell vertical scroll for this one.

Too bad that you won't have anymore time to make others demos for genesis, your originals creations are very appreciated :o
Christuserloeser
Very interested
Posts: 145
Joined: Sun Jan 28, 2007 2:01 am
Location: DCEvolution.net
Contact:

Post by Christuserloeser »

Someone got a copy of the Pastebin upload (cylindrical effect) ?
http://www.DCEvolution.net - Gigabytes of free Dreamcast software for you

Image
Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef »

If you mean the source code, here is it:

Code: Select all

#include "effect_cylinder.h"

void EFFECT_cylinder(int sens, int speed, int length)
{
    u16 j = 0;
    u16* scrollTable;
    u16 curY;
    int curX;
    u16 ttt=0;
    int vscroll;
    u16 scr = 0;

    void initTable()
    {
        scrollTable = (u16*)MEM_alloc(21*42*sizeof(u16));
        vscroll=0x840; 
        int k, h;
        int center = 12;
        for (k=0 ; k<42 ; ++k)
        {
            int count = (k*k)*0.02f;
            for (h=0 ; h<21 ; ++h)
            {
                int xv;
                if (k<center) xv = (h-10)*(h-10)*((center-k)*(center-k))*0.004;
                else xv = -(h-10)*(h-10)*((k-center)*(k-center))*0.004;
                scrollTable[k*21+h] = 0x840-count+xv;
            }
        }
    }

    int posY = 0;
    u16* scrollData = NULL;

    void vblank()
    {
        ++ttt;
        curY = 0;
        posY += sens*speed;
        
        scrollData = scrollTable;
    } 

    void hblank()
    {
        vu16 *pw = (u16 *) GFX_DATA_PORT;
        vu32 *pl = (u32 *) GFX_CTRL_PORT;
        int val = -posY-ttt/4;
        
        int x;
        for (x=0 ; x<21 ; ++x)
        {
            u16 addr = (x&0x1F)*4;
            *pl = GFX_WRITE_VSRAM_ADDR(addr);
            *pw = val+scrollData[x];
            *pl = GFX_WRITE_VSRAM_ADDR(addr+2);
            *pw = val/2+scrollData[x];
        }
        
        scrollData += 21;
        curY++;
    } 

    GSKE_setScrollMode(GSKE_HSCROLL_Plane, GSKE_VSCROLL_Column);
    
    initTable();
    
    u32 start = SND_getTime_PCM();
    
    int xs=0, ys=0;
    
    u16 w = cylinder[0];
    u16 h = cylinder[1];
    VDP_setPalette(PAL2, &cylinder[2]);
    VDP_loadBMPTileData((u32*) &cylinder[18], 1, w / 8, h / 8, w/8 );
    for (ys=0 ; ys<VDP_getPlanHeight()/(h/8); ++ys)
    for (xs=0 ; xs<VDP_getPlanWidth()/(w/8); ++xs)
        VDP_fillTileMapRectInc(APLAN, TILE_ATTR_FULL(PAL2, 0, 0, 0, 1), xs*(w/8), ys*(h/8), w/8, h/8);
    
    w = cylinder_back[0];
    h = cylinder_back[1];
    VDP_setPalette(PAL1, &cylinder_back[2]);
    VDP_loadBMPTileData((u32*) &cylinder_back[18], 257, w / 8, h / 8, w/8 );
    for (ys=0 ; ys<VDP_getPlanHeight()/(h/8); ++ys)
    for (xs=0 ; xs<VDP_getPlanWidth()/(w/8); ++xs)
        VDP_fillTileMapRectInc(BPLAN, TILE_ATTR_FULL(PAL1, 0, 0, 0, 257), xs*(w/8), ys*(h/8), w/8, h/8);
        
    SYS_setVIntCallback(vblank);
    SYS_setHIntCallback(hblank);
    VDP_setHIntCounter(1);
    VDP_setHInterrupt(1); 
    
    curY = 0;
    
    u32 t=0;
    do
    {
        u32 ct = SND_getTime_PCM();
        if (ct>start) t = ct-start;
        
        VDP_setHorizontalScroll(APLAN, 0, sinFix16(t*speed/20)*2);
        VDP_setHorizontalScroll(BPLAN, 0, sinFix16(t*speed/20)*2);
    }
    while(t<length);
    
    SYS_setVIntCallback(0);
    SYS_setHIntCallback(0);
    MEM_free(scrollTable);
}
alko
Very interested
Posts: 172
Joined: Thu Aug 07, 2014 9:31 am
Location: Russian Federation

Re: Zombie

Post by alko »

Stef wrote:If you mean the source code, here is it:
translate into the new version syntax please
Image
bioloid
Very interested
Posts: 184
Joined: Fri May 18, 2012 8:22 pm

Re: Zombie

Post by bioloid »

I'm not glad to post ugly code like that, I'll clean it with the new version, add controller support and post it into the sgdk subforum.
Post Reply