4.20.2013

RamGore - [Update - 07] - JumpPads



A magical stone, step on it and you'll bounce.
It'll help you reach higher.grounds, attack from above, or have a look to the landscape from up there.

4.13.2013

RamGore - [Update 06] - Lazarus Spear

Added a new weapon, the legendary Lazarus Spear, it can shoot projectiles faster than any other spells in RamGore, the thing is that to be able to use it a Lazarus Tree must be near by your location, at least that's the theory, let's see what happens if you try to use it somewhere forbidden.

Also, screenshots:

3.24.2013

RamGore - [Update 05] - CiderTank

"CiderTank", a relaxing magic sauna place where you can drink Cider, a home made beverage, of wonderful tastes and energizing properties.

This makes CiderTank a perfect place, except if you are not human. In that case you better leave, avoid the Erizos and the Moeba Pat. And don't drink the Cider!, it'll be poisonous to you.


Added:

* Water particles effects.
* Steps sound fx's.
* Gravity Trigger for underwater.
* A second hand.
* Door Animations
* Decals.
* Health pickups.

Updated:

* Moeba Pat Enemy texture.
* Moeba Pat Enemy AI.
* Hand shader.

2.16.2013

Main Menu and Box Art

I think is a bit early to be working on the graphic design of RamGore, but to submit it to IndieDB I needed a MainMenu screen and a Box Art, I can tell you it was fun to take a break from coding. So meanwhile here's some mock up versions.


2.09.2013

RamGore screenshots

RamGore is a FPS made during my free time. The result might be fun. At least it is while is being made.

Here are some WIP screenshots:







11.16.2012

FPS on the lab

There's something cooking with Unity 4, Ultimate FPS Camera. Took a screenshot and painted it over for experimentation purposes, possibles art directions. It ain't going to be easy or cheap to achieve that look in realtime but I could give it a try.


8.27.2012

Kzu



A girl named Kzu must run, jump and shoot.

CONTROLS:

WASD  =  Move.
Mouse = Aim.
Space bar = Jump.
Left Click = Shoot.
Q = Cycle through weapons.

Version 0.01:

- 5 levels
- Placeholder art.
- lots of bugs.

BUILD:

Webplayer:

http://dl.dropbox.com/u/15319229/KullGore/WebPlayer/WebPlayer.html

Windows:

https://dl.dropbox.com/u/15319229/KullGore/Kzu.zip

7.22.2012

KullGore 2.5D gameplay prototype video


Testing out gameplay, animation, level design, and art.

Please ignore FPS counter shown; while recording, FRAPS cuts the frame rate in half. It should be twice of the amount represented.

KullGore Screenshots

I uploaded some stuff for Screenshot Saturday , KullGore is the code name for this 2.5D adventure.




5.14.2012

Isometric Camera !



Isometric games have their charm, mainly because it is home to many great old-school RPG and adventures games.

From a designer perspective, its charm is also due to their tile based nature, neat graphical advantages of refining modular pieces.

Inspired by that I started working on a Camera script for Unity3d. It uses an orthographic cam with the following script(JavaScript) attached:

var target : Transform;
var distance = 45.0;
var height = 45.0;
var distanceDamping = 3.0;
var heightDamping = 1.0;
function LateUpdate () {
     
    if (!target)
        return;
     
    var wantedHeight = target.position.y + height;
    var wantedDistance = target.position.x + distance;
    var wantedDistanceZ = target.position.z - distance;
    var currentHeight = transform.position.y;
    var currentDistance = transform.position.x;
    var currentDistanceZ = transform.position.z;
     
    currentHeight = Mathf.Lerp (currentHeight, wantedHeight, heightDamping * Time.deltaTime);
    currentDistance = Mathf.Lerp (currentDistance, wantedDistance, distanceDamping * Time.deltaTime);
    currentDistanceZ = Mathf.Lerp (currentDistanceZ, wantedDistanceZ, distanceDamping * Time.deltaTime);
    transform.position.y = currentHeight;
    transform.position.x = currentDistance;
    transform.position.z = currentDistanceZ;
     
    transform.LookAt (target);
}
Currently it's a very basic script, to have a true orthographic view, both distance and height variables should have the same number. It also has damping for each parameters.

5.07.2012

Hazel Dazzle Game Art

Here's a screenshot of a game that I'm currently working on at WakeStudios, Hazel Dazzle,a space adventure inspired by old school zelda games. It was important (and fun !) to achieve that dungeon mood.

4.28.2012

Street Update 2

Some screenshots from unity 3D wit lightmapping and a slightly levels correction in photoshop. Currently it's just the same cloned building, remember that I'm working with modules and tileables prefabs to allow flexibility on construction, still needs more props and variations.

3.21.2012

Street tiles [wip]

UPDATE

 Brand new spooky building starts to appears, so spooky that it feels empty. I'm looking forward to a more detailed scene, need to add props, decals, better lighting, etc.
Check out the wire of the tile based street, modules of 4x4, 2x2 and 1x1 so far. Also most of textures are tileable, very handy.

I started to add some trees, currently no leaves but I'm working on it. It's still winter here !.
The idea is that those trees grow in pairs, maybe a female and a male stuff going on there. Check out some early concept:



Real Time Blender Game Engine. Obviously there some issues running here, it doesn't feel seamless yet but that's what I'm currently working on, I felt like sharing some progress.



3.18.2012

RamGore - Camera System Test


Maybe an open world, small open world so I can achieve something. Actually it's a small terrain done with unity's terrain tool.

The point of this video is to show an idea of the camera system.

It combines 2 simples scripts:
One is SmoothLookFrame:
http://www.unifycommunity.com/wiki/index.php?title=SmoothLookFrame

Which works with 2 game objects and tries to keep them both on frame, pretty cool.

The other one is LookAtMouse I think:
http://www.unifycommunity.com/wiki/index.php?title=LookAtMouse

"This script will cause an object to rotate towards the mouse cursor along it's y axis."

That object I choose to follow is going to be framed by the SmoothLookFrame script along with the player, bingo, it'll look something like this:

Camera ---------> Player
             ---------> Cursor

With that I can make the player control the camera in a 2D plane. When it comes to Third Person Cameras, there's a lot of options, depending of the type of game, but in open world games, like for example, WoW, there is less control from the designer and more control to the player. So to make you pay attention to a specific spot or area of the terrain, it's very difficult.

On the other hand, non open world games allow more designer control, and direction. Examples like God Of War 3 are among the greatest I've ever seen in modern games. Not so modern games like the first Tomb Raider, combined these approach of "keep 2 thing in camera frame", when Lara enters attack mode. Check the video:


This type of Camera in TR, it's not only used when focusing on enemies, sometimes it's also used to hint something to the player, a path or a item.

Back to the idea of RamGore and my plan to combine these 2 types of camera system from 2 genres of third person games. There are many bugs to be fixed, for example, the cursor stays at the same height in which starts, so when the player wanders around the top of the canyon or mountains, the camera goes eagle view, top view, trying to keep in frame the cursor below. I want to be able to exploit that on some parts because it looks awesome.


Music from the video: Doug Laurent from Half-Life 1 soundtrack.

2.25.2012

Global GameJam 2012

MpLabs presence in the GGJ 2012 took place @ Barcelona - Spain, I joined forces with WakeStudios members to design a: auto scroller samurai game (in less than 48hrs.).

It's called Samuraider, it was made on Unity3d and features 2D art with some 3D art.
I was looking for a quick way to make 2D animation sprites so I worked with Flash for this project. The use of vector art as a master file makes it resolution independent which is a plus. Here's a sprite sheet:

Run, jump, attack, land, hit.
An early run animation loop (6 frames):



The unfinished look of the animation, with lack of clean up, etc., was decided to be able to finish the game in a short time. We weren't able to achieve the exact game we wanted, but maybe with more time this could turn into a nice game, at least the idea was born and raised a bit, the Samuraiders. Oh and we made a prologue for a background story:






Overall the gamejam it's a great experience to know different kind of people sharing a same objective, to pass out in front of the computer to make a great game !. 

You can play the game here:

download:SamuRaider_0.2.zip
more info: http://globalgamejam.org/2012/samuraider


12.24.2011

KullGore Low Poly

I'm creating this character, it's supposed to be a demon with a glowing skull but still needs some work, currently it looks like is wearing a chicken head.

I started the concept on photoshop (quick sketch, nothing fancy), then took it to blender but since I'm learning how to model on 3d studio max I decided to give it a try. So the character was modeled in 3ds max, rigged and animated in blender. A way to learn the work-flow between those softwares.

Finally Unity 3d, a quick build of a third person character, a couple of animations, mouse orbit camera and a terrain done with unity3d itself.

Here's the video:


Some images and animations:






video's music: http://soundcloud.com/3uho/untested-xpecimen

Until next time !

12.04.2011

Platform Piano test

An experimental platform gameplay test, using one sample sound and altering the pitch properties on of each audio source. Something quick and simple.
Maybe it could turn into a music game.


















12.03.2011

New Model

Allright, I'm working on a new 3D model for a game, I don't know if I'll use it for "Kzu" or for another project in mind called "RamGore", I'll show off some images and animation loops.




11.19.2011

Terminal2D bombing gameplay test


Gameplay test for the drop bomb weapon and terrain art.
Too tired to write any further.

Till next update.

10.22.2011

Terminal 0.1 Log 07

A prototype for a boss fight. Currently feels very chaotic and messy but I want it to feel like an intense battle.

10.15.2011

Terminal 0.1 Log 06


* Added new Main Menu prototype
* Space level
* Performance increased due to massive debugging.

10.09.2011

Scripting: Shooting a double cannon from a flying ship.

About the blaster gun on Terminal 0.1:
The idea I had in mind was a gun that fires each shot from 2 different positions, but not at the same time, it had to be one and then the other, kind of like a switch (defined by a boolean) that changes between 2 positions every time you press the fire button.

The script requires you to set 2 transform for each instantiate position, also requires you to assign the main Rigidbody of the parent object (spaceship or whatever you have) for a very important reason: to detect the speed of the flying character (using RigidShip.velocity.sqrMagnitude) and sum that amount to the speed of the bullet, so firing doesn't look slow and inaccurate while flying.

Here's the script, feel free to use it:



var BulletSpeed = 0;
var bulletPrefab:Transform;
var fireRate = 1.0;
private var nextFire = 0.0;
private var OnOff : boolean = false;
var TurretPos1 : Transform;
var TurretPos2 : Transform;
private var ShipSpeed = 0;
var ShipRigid : Rigidbody;

function Update (){


    var RigidShip = ShipRigid.GetComponent(CharacterController);
    var ShipSpeed = RigidShip.velocity.sqrMagnitude;

  
  
//     print(ShipSpeed);
     Shoot ();
 
   }


function Shoot(){

    if(Input.GetButton ("Fire1")&& (Time.time > nextFire))
    {
  
        OnOff = !OnOff;
           
        var Tpos : Transform;
               
        if(OnOff){
       
            Tpos = TurretPos1;

            }if(!OnOff){
  
            Tpos = TurretPos2;
       
            }
        BulletSpeed += ShipSpeed;
       
        nextFire = Time.time + fireRate / 20;
       
        var bullet = Instantiate(bulletPrefab, Tpos.position, transform.localRotation );
       
        bullet.rigidbody.AddRelativeForce(transform.forward * BulletSpeed);
       
    }
}
Of course, there's probably other ways to do that, even better ways, this was my first approach so it might change.
Till next time!

}


Terminal 0.1 Log 06

New video
Plenty of updates here:

* Added new gun, rapid fire blasters.
* Added animations to the ship so it leans to the side.
* Added infinite terrain (credits to quickfingers below).
* New sound effects and music.
* Spaceship now has 2 energy engines below the wings.
* Added "Run key" when pressing "shift", this increases the field of view of the camera in order to look more speedy shot. * Now with HD support (720p).

Till next time.

10.02.2011

Terminal 0.1 Log 05

The updates:
  • Added infinite terrain (credits to quickfingers here)
  • Explosion prefabs with debris
  • Paint job to the spaceship
  • City Landscape
  • Higher Res support
  • Space tunnel
  • Radar (from unify)
  • Particles on bullets
  • New sound effects and music
  • Spaceship now has 2 energy engines below the wings
  • Added "Run key" when pressing "shift", this increases the field of view of the camera in order to look more speedy shot.

click on the image to expand

That's it so far.

9.18.2011

Terminal 0.1 Log 04

I made a video this time:


some parts of the video have a bit of lag due to the screen recorder software (gotta fix that).
gameplay runs smoothly on my pc.

the updates:

* added animations to the spaceship
* better sound fxs
* black grid for testing gameplay
* hp above enemies
* a radar that detects friendlies and foes. this script can be found here

screenshots:





















an awesome .gif:





I guess that's it so far.

peace !




9.13.2011

Scripting an Enemy

A common idea for a enemy in a shooter: 
In a very abstract form, an Enemy must reach the Player, stop at a certain distance, consider this a shooting range, then avoid Player's shooting by rotating around its. 

I did a sketch on paper before going into the computer to break down the idea:
- the "P" stands for player
- "E" enemy
- and the circle around "P" is the desired range where the "E" should stop and start rotating.

A keyword here is "distance", that's where this function on Unity3d becomes in handy

Below I will share with you the script and how it looks on gameplay.



 in action:
Basically it is switch between 2 functions, ChasePlayer and if the distance desired is correct (3.5 in this example) RotateAroundPlayer.
Mind that I'm not a programmer master so, if you find this script crappy, sorry I'm a learning n00b.

Also I got some help with a part of my script from this guy here
Moving the Player














My script currently looks something like this (javascript):

var Player : Transform;
var ChaseSpeed = 1.0;
var RotateAroundSpeed = 20;
var timeToChange: float = 0;
var minTime: float = 1; // min time to revert direction
var maxTime: float = 5; // max time to revert direction
private var direction: float = 1;

function Update (){
DetectDistance ();
}

function DetectDistance () {
      
    var dist = Vector3.Distance(Player.position, transform.position);
    Debug.Log ("Distance to player: " + dist);
      
    if(dist <= 3.5){
   
    RotateAroundPlayer();
           
    }    else {
        ChasePlayer ();
        }
    }

function ChasePlayer () {
    transform.position = Vector3.Lerp(transform.position, Player.position, Time.deltaTime / ChaseSpeed);

}    
function RotateAroundPlayer () {
     if (Time.time > timeToChange){
        timeToChange = Time.time + Random.Range(minTime, maxTime);
        direction = -direction;
    }
    var Rotate_Speed = Random.Range(1,RotateAroundSpeed);
    transform.RotateAround (Player.position, Vector3.up, direction * Rotate_Speed  * Time.deltaTime);
    }

Thanks for reading !