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

Post by 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

Post by Neil79 » Sun Jan 20, 2013 12:46 am

http://www.indieretronews.com/2013/01/d ... retro.html

Your game is up on our site too, nice work :v2_dizzy_yahoo: :v2_dizzy_yahoo:

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

Post by 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

Post by 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

Post by 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

Post by trz » Wed May 29, 2013 6:07 pm

Version updated in the first post.

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

Post by 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

Post by 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

Post by 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

Post by 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!

Post Reply