In the past few months I’ve been starting projects, only to abandon them after a while. It was a bit overwhelming to handle design, 3d modeling, animation, code, and sound all at the same time. But now I’m taking another shot at what I consider the best piece of software for game devs ever made. So here’s to a new beginning.
I’d like to thank the immensely helpful community here by giving some of my abandoned projects, starting with MicroRacers:
In the package you’ll find:
3ds Max/FBX models for racer, nitro canister, and road parts.
GUI elements for menus and buttons
Script for a cascading menu, like you see in the video
Scripts for floating object, player controls, and nitro boost
Script for enemy racer AI, with customizable difficulty level.
Script for enemy path detection based on the created track.
basically whatever you saw in the video is in the download package
3ds Max/FBX models for ships, tower,wall, treasure, cannon, and houses.
GUI and 3ds Max/FBX elements for menus and buttons
Script for ship keyboard controls
Script for mouse controlled cannons, shooting with angle, force, delay etc
Script for enemy ships, chasing the player when in range, and rotating to shoot at him with broadside cannons, stop chasing when player is out of range
Script for enemy towers that shoot at the player when in range, and collapse when destroyed
Script for mini-map showing enemy/treasure/player positions
basically whatever you saw in the video is in the download package
3ds Max/FBX models for ships, tower,wall, treasure, cannon, and houses.
GUI and 3ds Max/FBX elements for menus and buttons
Script for ship keyboard controls
Script for mouse controlled cannons, shooting with angle, force, delay etc
Script for enemy ships, chasing the player when in range, and rotating to shoot at him with broadside cannons, stop chasing when player is out of range
Script for enemy towers that shoot at the player when in range, and collapse when destroyed
Script for mini-map showing enemy/treasure/player positions
basically whatever you saw in the video is in the download package
Here’s another abandoned project. This one was dear to me and I really thought I would make something cool out of it:
In the package you’ll find:
3ds Max/FBX models for rocketman, rock obstacle, and maybe some other unrelated things
GUI and 3ds Max/FBX elements for menus and buttons
Script for mouse controller player
Script for player movement with forward/side speed, boost, picking up itemsetc
Script for ring item that opens up when the player is close, and can be picked up
Script for obstacle which the player can crash into
Script for obstacle/item dispenser which alternates between creating rings and rocks
basically whatever you saw in the video is in the download package
Just note that this one is truly a jumble. You may find leftover assets from other projects, and the scripts have minimal comments. I may organize it later to make it more useable.
Here’s another old project I’ve abandoned. This one was supposed to be a real time strategy starter kit. It sort of got stuck near the time where I realized making a pathfinding script is no simple task
In the package you’ll find:
3ds Max/FBX placeholder models for units and buildings, and maybe some other unrelated things
GUI and 3ds Max/FBX elements for menus and buttons
Script for unit controls, moving, attacking,gathering resources, repair, guard, etc
Script for camera movement, scroll, pan, zoom, focus on unit
Script for minimap which you can click on to move the camera there
Script for buildings with build list and queue
basically whatever you saw in the video is in the download package
Here’s another one I found ( Some spring cleaning for my computer ). This one was supposed to be a BeachHead type of game with planes going over, sometimes shooting or dropping bombs ( Obviously, I didn’t make it to the shooting part ).
In the package you’ll find:
3ds Max/FBX placeholder models for units and maybe some other unrelated things
Script for anti air gun rotation and shootin
Script for planes that approach, then escape and approach again
basically whatever you saw in the video is in the download package
Note: The height map in the project wasn’t created by me. It was a placeholder I found on Google, but now I just can’t find its source again. If someone knows where this is from, tell me so I can give proper credit.
I don’t know where else to put this so I’m putting it here for any potential game dev who may find it useful. I’m giving away my Flash games. Time to put that part of my dev-life in the past. I’ll still be using Flash CS3 (religiously) for all my vector art, but no more game development.
Another neat script I started using recently, this allows you to animate an object even when Time.timeScale is set to 0 ( ie when the game is paused ). Just attach the script to the object you want to be animated, and it will always animate when enabled.
using UnityEngine;
using System.Collections;
public class CFGAnimateUI:MonoBehaviour
{
// The current real time, unrelated to Time.timeScale
internal float currentTime;
// The previous registered time, this is used to calculate the delta time
internal float previousTime;
// The delta time ( change in time ) calculated in order to allow animation over time
internal float deltaTime;
[Tooltip("The intro animation for this UI element")]
public AnimationClip introAnimation;
// The animation component that holds the animation clips
internal Animation animationObject;
// The current animation time. This is reset when starting a new animation
internal float animationTime = 0;
// Are we animating now?
internal bool isAnimating = false;
[Tooltip("Should the animation be played immediately when the UI element is enabled?")]
public bool playOnEnabled = true;
// Use this for initialization
void Awake()
{
// Register the current time
previousTime = currentTime = Time.realtimeSinceStartup;
// Register the animation component for quicker access
animationObject = GetComponent<Animation>();
}
// Update is called once per frame
void Update()
{
// We are animating
if ( introAnimation && isAnimating == true )
{
// Get the current real time, regardless of time scale
currentTime = Time.realtimeSinceStartup;
// Calculate the difference in time from our last Update()
deltaTime = currentTime - previousTime;
// Set the current time to be the same as the previous time, for the next Update() check
previousTime = currentTime;
// Calculate the current time in the current animation
animationObject[introAnimation.name].time = animationTime;
// Sample the animation from the time we set ( display the correct frame based on the animation time )
animationObject.Sample();
// Add to the animation time
animationTime += deltaTime;
// If the animation reaches the clip length, finish the animation
if ( animationTime >= animationObject.clip.length )
{
// Set the animation time to the length of the clip ( make sure we get to the end of the animation )
animationObject[introAnimation.name].time = animationObject.clip.length;
// Sample the animation from the time we set ( display the correct frame based on the animation time )
animationObject.Sample();
// We are not animating anymore
isAnimating = false;
}
}
}
void OnEnable()
{
// If the object has been enabled. play the animation
if ( playOnEnabled == true )
{
PlayAnimation();
}
}
public void PlayAnimation()
{
if ( introAnimation )
{
// Reset the animation time
animationTime = 0;
// Register the current time
previousTime = currentTime = Time.realtimeSinceStartup;
// Start animating
isAnimating = true;
animationObject.Play();
}
}
}
I use this to make some UI elements animate into view rather than just pop in, like this: