Dragon Crowntail's Aquairum Quest

Here’s a video of a game I’ve been working on,( YouTube: :arrow: http://www.youtube.com/watch?v=q4Oted2VQog ) and finally decided to let the first release go. I plan to expand the game to be several levels, 5 of which are in progress at the moment. This is the short version of the game, first level only.

What I really want to do is to use animation sequences for the intro, and end story, but those are Unity Pro features, which I can not afford at the moment. :cry: I hope that by the time I complete the full 6 level game that I can get the pro version for real time shadows and add some video sequences. :smile:

You can get a free trial version which has 30 minutes of unrestricted game time. Just go to my website http://www.badbettagames.com and you should be able to find what you need. :!: Currently only OS X and Windows versions are available.

comments and suggestions are welcome. :sweat_smile: As I said this is a first release, and will be expanded in the next couple of months. I know that may be a long time, but I am only one person, and I’m learning all the programing and stuff as I develop the game. :shock:

Hopefully it’s not that bad of a game for my first one. :wink:

I’ll go through and see if I think any of the scripts I wrote for various things in the game might be useful for the unity community and I’ll post a link so you all can download if you want to use some of them or at least try them out.

I’ll also be posting a couple of new videos on YouTube that show more of the aquaruim and some of the other enemies and functionality of the game.

And most likely I’ll be posting most of the models on Turbosquid.com for free or nearly free for most of them. That will most likely happen a week or so from now.

I am glad to hear that u r giving away all the models and source code… It would be really nice if we can see them in Unify Community… We can learn alot from that…

Good Job

I did some SEO to my site and just wanted to post updated links to the game trials, etc. http://badbettagames.com/games/aquarium-quest

I’m in the process of getting all the models and textures loaded up to Turbosquid for people to have for free. Most are .blend and fbx files.

It doesn’t surprise me that the main fish is a Betta fish. :stuck_out_tongue: Very very nice.

The apartment we’re living in won’t let us have any pets except fish. My three year old son wanted a pet so we got several fish. Over the course of several weeks a few died so we bought two bettas a female and a male to replace them. Needless to say over the next 24 hours the bettas had killed everthing except the two shrimp in the tank(still living with the bettas). My son fell so in love with the fish, I decided to make the game so that he could get a little experience of what it’s like to swim around in an aquarium and be mean to the other little fishies int the tank. He loves the game and makes me stop working on my projects to let him swim around and look for the hidden objects and eat the other fish.

Another short video: I kill 3 or 4 fish.

Here’s a modification to a script I picked up at the unify community for an enemy radar. I’ve added variables for collectibles and power ups. It also allows for three different blips for whatever your tracking so that you can tell a difference in what’s on the radar. Another use would be to use different blips for different enemy states such as full life, hurt, dead, attacking, or whatever your game calls for. Those could easily be changed to enemy type 2 and enemy type 3, ect. Probably not useful to most, but a newbie like myself might find it of use.

@script ExecuteInEditMode()
var blip : Texture;
var blip2 : Texture;
var blip3 : Texture;
var radarBG : Texture;
var centerObject : Transform;
var mapScale = 0.3;
var mapSizePercent = 15;
var checkAIscript : boolean = true;
var enemyTag = "Enemy";
var collectibleTag = "Collectible";
var pickupTag = "Pickup";

enum radarLocationValues {topLeft, topCenter, topRight, middleLeft, middleCenter,
	middleRight, bottomLeft, bottomCenter, bottomRight, custom}

var radarLocation : radarLocationValues = radarLocationValues.topCenter;

private var mapWidth : float;
private var mapHeight : float;
private var mapCenter : Vector2;
var mapCenterCustom : Vector2;

function Start(){
	setMapLocation();}
	
function OnGUI (){
	if(!centerObject){
	return;}
	bX = centerObject.transform.position.x * mapScale;
	bY = centerObject.transform.position.z * mapScale;
	GUI.DrawTexture(Rect(mapCenter.x - mapWidth/2, mapCenter.y - mapHeight/2,
	mapWidth, mapHeight), radarBG);
	
	DrawBlipsForEnemies();
	DrawBlipsForCollectibles();
	DrawBlipsForPickups();
	}
	

function drawBlip(go, aTexture){
	centerPos = centerObject.position;
	extPos = go.transform.position;
	
	
	dist = Vector3.Distance(centerPos, extPos);
	
	dx = centerPos.x - extPos.x;
	dz = centerPos.z - extPos.z;
	
	
	deltay = Mathf.Atan2(dx,dz) * Mathf.Rad2Deg - 270 - centerObject.eulerAngles.y;
		
	bX = dist * Mathf.Cos(deltay * Mathf.Deg2Rad);
	bY = dist * Mathf.Sin(deltay * Mathf.Deg2Rad);
		
	bX = bX * mapScale;
	bY = bY * mapScale;
		
	if(dist <= mapWidth * .25/mapScale){
		GUI.DrawTexture(Rect(mapCenter.x + bX, mapCenter.y + bY, 4,4),aTexture);
		}}
		
function drawBlip2(co, aTexture){
	centerPos = centerObject.position;
	extPos = co.transform.position;
	
	dist = Vector3.Distance(centerPos, extPos);
	
	dx = centerPos.x - extPos.x;
	dz = centerPos.z - extPos.z;
	
	
	deltay = Mathf.Atan2(dx,dz) * Mathf.Rad2Deg - 270 - centerObject.eulerAngles.y;
	
	bX = dist * Mathf.Cos(deltay * Mathf.Deg2Rad);
	bY = dist * Mathf.Sin(deltay * Mathf.Deg2Rad);
	
	bX = bX * mapScale;
	bY = bY * mapScale;
	
	if(dist <= mapWidth * .25/mapScale){
		GUI.DrawTexture(Rect(mapCenter.x + bX, mapCenter.y + bY, 4,4),aTexture);
		}}
		
function drawBlip3(po,aTexture){
	centerPos = centerObject.position;
	extPos = po.transform.position;
	
	dist = Vector3.Distance(centerPos, extPos);
	
	dx = centerPos.x - extPos.x;
	dz = centerPos.z - extPos.z;
	
	deltay = Mathf.Atan2(dx,dz) * Mathf.Rad2Deg - 270 - centerObject.eulerAngles.y;
	
	bX = dist * Mathf.Cos(deltay * Mathf.Deg2Rad);
	bY = dist * Mathf.Sin(deltay * Mathf.Deg2Rad);
	
	bX = bX * mapScale;
	bY = bY * mapScale;
	
	if(dist <= mapWidth * .25/mapScale){
		GUI.DrawTexture(Rect(mapCenter.x + bX, mapCenter.y + bY, 4,4),aTexture);
		}}

function DrawBlipsForEnemies(){
	var gos : GameObject[];
	gos = GameObject.FindGameObjectsWithTag(enemyTag);
	
	var distance = Mathf.Infinity;
	var position = transform.position;
	
	for (var go : GameObject in gos){
		drawBlip(go, blip);}}
		
function DrawBlipsForCollectibles(){
	var cos : GameObject[];
	cos = GameObject.FindGameObjectsWithTag(collectibleTag);
	
	var distance = Mathf.Infinity;
	var position = transform.position;
	
	for (var co : GameObject in cos){
		drawBlip2(co, blip2);}}
		
function DrawBlipsForPickups(){
	var pos : GameObject[];
	pos = GameObject.FindGameObjectsWithTag(pickupTag);
	
	var distance = Mathf.Infinity;
	var position = transform.position;
	
	for (var po : GameObject in pos){
		drawBlip3(po, blip3);}}
		
function setMapLocation(){
	mapWidth = Screen.width * mapSizePercent/100.0;
	mapHeight = mapWidth;
	
	if ( radarLocation == radarLocationValues.topLeft){
	mapCenter = Vector2(mapWidth/2, mapHeight/2);}
	else if ( radarLocation == radarLocationValues.topCenter){
	mapCenter = Vector2(Screen.width/2, mapHeight/2);}
	else if ( radarLocation == radarLocationValues.topRight){
	mapCenter = Vector2(Screen.width - mapWidth/2, mapHeight/2);}
	else if (radarLocation == radarLocationValues.middleLeft){
	mapCenter = Vector2(mapWidth/2, Screen.height/2);}
	else if (radarLocation == radarLocationValues.middleCenter){
	mapCenter = Vector2(Screen.width/2, Screen.height/2);}
	else if (radarLocation == radarLocationValues.middleRight){
	mapCenter = Vector2(Screen.width - mapWidth/2, Screen.height/2);}
	else if (radarLocation == radarLocationValues.bottomLeft){
	mapCenter = Vector2(mapWidth/2, Screen.height - mapHeight/2);}
	else if (radarLocation == radarLocationValues.bottomCenter){
	mapCenter = Vector2(Screen.width/2, Screen.height - mapHeight/2);}
	else if (radarLocation == radarLocationValues.bottomRight){
	mapCenter = Vector2(Screen.width - mapWidth/2, Screen.height - mapHeight/2);}
	else if (radarLocation == radarLocationValues.custom){
	mapCenter = mapCenterCustom;}
	}

I have more stuff from the game, but not sure what’s useful to post here.

I grabbed the wrong image. I have one half size or a little smaller…Can I change that?