Dizzy - Night at the Museum v2.21 [DOWNLOADABLE]

Post information about your own Dizzy creations.
dr.Titus
Hard Boiled Egg
Posts: 180
Joined: Tue May 27, 2008 11:19 am

Postby dr.Titus » Sat Jan 19, 2013 11:47 pm

xelanoimis wrote:One more thing, at one point it would be nice to remove the protection from the pak, so other can learn from your scripting.

Password: rindex01

For another information welcome to dizzyage.flybb.ru )

Neil79
Free Range Egg
Posts: 58
Joined: Tue Nov 13, 2012 12:00 am

Postby Neil79 » Sun Jan 20, 2013 12:46 am


DizzyFanUK
Hard Boiled Egg
Posts: 606
Joined: Tue Mar 18, 2008 11:20 am
Location: Brentwood, Essex, UK

Postby DizzyFanUK » Sun Jan 27, 2013 12:02 pm

OK so I picked this up thinking Id be playing something based on the Ben Stiller film.Even so I wasnt disappointedThanks guys for an amazing game!!!Is this the first collaborative effort we've had for a Dizzy game?The scrolling is the smoothest Ive experienced on Dizzy AgeI like the atmospheric music and sfx, tho sometimes it feels a little too dark (like at the police station)The gameplay and graphics are superbThe rain cloud and lightning worked greatOk so the text translation is not 100%, but this adds to the charm, and I can imagine that Russian is not the easiest language to translate to English.This it would be a contender for my game of the year so farGreat stuff thanks guys!!
:v2_dizzy_thumbsup:Long Live Dizzy - May his boxing gloves never shrink in the wash :v2_dizzy_biggrin:

dr.Titus
Hard Boiled Egg
Posts: 180
Joined: Tue May 27, 2008 11:19 am

Postby dr.Titus » Mon Jan 28, 2013 3:14 am

DizzyFanUK, thanx! )

User avatar
Rindex
Hard Boiled Egg
Posts: 434
Joined: Thu Apr 16, 2009 10:48 am
Location: Khimki, Moscow Regions, Russia

Postby Rindex » Mon Jan 28, 2013 6:48 am

New Dizzy will be in Ring of Zaks. Also there will be six-channel AY TurboSound. Wait for continuation.

trz
Free Range Egg
Posts: 62
Joined: Tue Apr 10, 2012 2:31 pm

Postby trz » Wed May 29, 2013 6:07 pm

Version updated in the first post.

User avatar
Adz.M
Team Yolkfolk
Team Yolkfolk
Posts: 2955
Joined: Tue Jan 16, 2007 7:43 am
Location: Cornwall, UK
Contact:

Postby Adz.M » Sat Jun 01, 2013 5:29 pm

v1.03 now up on Yolkfolk. :)

I couldn't upload the Russian version because both the English and Russian versions are 40MB each and my Internet is struggling with downloading and uploading big files at the moment.

Pogie
Hard Boiled Egg
Posts: 142
Joined: Thu Aug 06, 2009 9:39 am

Postby Pogie » Wed Jun 05, 2013 11:56 am

dr.Titus wrote:Password: rindex01

For another information welcome to dizzyage.flybb.ru )



This password doesn't seem to work for v1.3

I would like to study the code for this brilliant game (especially the rain cloud that follows dizzy around.) Is there any chance somebody could pm me a password so I can unpak it?

dr.Titus
Hard Boiled Egg
Posts: 180
Joined: Tue May 27, 2008 11:19 am

Postby dr.Titus » Wed Jun 05, 2013 10:06 pm

Pogie wrote:I would like to study the code for this brilliant game (especially the rain cloud that follows dizzy around.) Is there any chance somebody could pm me a password so I can unpak it?


Rain cloud i wrote 4 years ago for not released game 'Escape from the Magicland'.

Code: Select all

//***********************************
//
//     Rain Cloud
//
//***********************************

#def   BLOBS_COUNT   24
#def   RAINCLOUD_ID   5100
#def   BLOBS_ID   5101
#def   CL_SPEEDX   32
#def   CL_SPEEDY   32
#def   O_FLOATX   32
#def   O_FLOATY   33
#def   CL_BRIGHT   0xC0
#def   BL_BRIGHT   0xE0


func AIUpdateRainCloud()
{
   scr = InventoryHasItem(4014);      // If have papirus, then script = 1, else 0

   CL_idx = ObjFind(RAINCLOUD_ID);

   if (ObjGet(CL_idx, O_DISABLE))      // If cloud disabled, then exit
      return;            //
      
   P_idx = ObjFind(4014);

   RoomW = GameGet(G_ROOMW);
   RoomH = GameGet(G_ROOMH);

   RoomX = GameGet(G_ROOM X) * RoomW;    // Absolute coordinates of
   RoomY = GameGet(G_ROOMY) * RoomH;    // top left room corner


   if (scr)            // If we have papirus, then
   {
      P_x = PlayerGet(P_ X) - 12;   // x - coordinate of Dizzy
      P_y = PlayerGet(P_Y) - 50;   // y - coordinate of Dizzy
   }
   else
   {
      P_x = ObjGet(P_idx, O_ X) - 4;   // x and y coordinates of papirus
      P_y = ObjGet(P_idx, O_Y) - 50;   //
   }
   
   
   P_y += (int) (gs_sin( (float)GameFrame() / (float)15 ) * ( (float)8 ));
   
      
   CL_x = ObjGet(CL_idx, O_ X) ;
   CL_y = ObjGet(CL_idx, O_Y);

   floatx = ObjGet(CL_idx, O_FLOAT X) ;
   floaty = ObjGet(CL_idx, O_FLOATY);
   
      
   distx = (P_x * 256) - floatx;   
   disty = (P_y * 256) - floaty;   
   
   floatx = floatx + distx/CL_SPEEDX;
   floaty = floaty + disty/CL_SPEEDY;
   
   ObjSet(CL_idx, O_FLOATX, floatx);
   ObjSet(CL_idx, O_FLOATY, floaty);

   CL_x = floatx / 256;
   CL_y = floaty / 256;
   
   ObjSet(CL_idx, O_X, CL_x);
   ObjSet(CL_idx, O_Y, CL_y);


   col = ObjGet(CL_idx, O_COLOR);
   
   if (!scr)               // If dont have papirus, then
   {
      if (col >> 24)            // Increase cloud transparency
         col = col - 0x01000000;      //
   }
   else                  // Else if have papirus, then
   {
      if ((col >> 24) < CL_BRIGHT)      // Decrease cloud transparency
         col = col + 0x01000000;      //
   }

   ObjSet(CL_idx, O_COLOR, col);

   ObjPresent(CL_idx);

   if (!IsUpdate(1)) return;   // Refresh every frame

   activecount = 0;
   freecount = 0;
   free_idx = -1;

   for (i=0; i<BLOBS_COUNT; i++)
   {
      idx = ObjFind(BLOBS_ID+i);

      if (ObjGet(idx, O_DISABLE))
      {
         freecount++;
         free_idx = idx; 
      }
      else
      {
         x = ObjGet(idx, O_ X) ;
         y = ObjGet(idx, O_Y) + 2;
         
         matx = x - RoomX;
         maty = y - RoomY + 6;
   
         if ( (matx < -200) ||
                   (matx > 240+200) ||
                  (maty < -100) ||
                  (maty > 136+100) )
                    mat = (1 << MAT_BLOCK);
             else
                 mat = MaterialRead(matx, maty, 3, 2);
         
         if ( mat & (1 << MAT_BLOCK)) 
         {
            ObjSet(idx, O_DISABLE, 1);
            freecount++;
            free_idx = idx;              
         }
         else
         {
            ObjSet(idx, O_Y, y);
            ObjPresent(idx);
            activecount++;
         }
      }
   
   }

   if (!IsUpdate(2)) return;   // New blob every second frame
   
   if (free_idx != -1)
   {
      x = CL_x + gs_rand(6)*4;
      y = CL_y + 6;
         
      matx = x - RoomX;
      maty = y - RoomY + 6;
   
      if ( (matx < -200) ||
           (matx > 240+200) ||
           (maty < -100) ||
           (maty > 136+100) )
           return;
                  
      if (!(MaterialRead(matx, maty, 3, 2) & (1 << MAT_BLOCK)))
      {
         ObjSet(free_idx, O_COLOR, (col & 0xFF000000) | 0x00FFFF);
      
         ObjSet(free_idx, O_DISABLE, 0);
         ObjSet(free_idx, O_X, x);
         ObjSet(free_idx, O_Y, y);
         ObjPresent(free_idx);
      }
      
   }

}

Pogie
Hard Boiled Egg
Posts: 142
Joined: Thu Aug 06, 2009 9:39 am

Postby Pogie » Sun Jun 09, 2013 9:51 pm

Oh thank you so much for that Titus! That saves me having to hunt around looking for the code too. Very useful for amateurs like me to study this sort of code :v2_dizzy_thumbsup:

Thank you again, I appreciate it!


cron