Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Save the Earth Dev Log

A topic by angeldfg created Jan 03, 2016 Views: 7,781 Replies: 9
Viewing posts 1 to 10
Submitted

DAY 1

Well, I start to develop a game in 3D.

Game name: Save the Earth.

Type of game: ·3D. Casual

History: Aliens invades the Earth You must destroy them before they arrive at Earth and kill us.


You must pilot a ship in space and destroy aliens spaceships.

First I generate the game with Libgdx Proyect Generator.

Submitted

DAY 2:

I do structure proyect following Model-View-Controller.

This is first time that I use Blender. Too many options....:(

I export model to fbx format and convert it to g3db format with fbx-conv


I render planets and sun but I have a problem with scale. Not working like I supposed.


I did it with Wings 3D and it worked correctly but with blender render different :(
Submitted

Day 3:

After 5 hours I found the reason planets didn´t see correctly.

I was multiplying matrix4 with scl operation and not with scale :(


Now I have planets rotate around Sun (not eliptic orbit, but it´s not important to me).

I obtained textures planets from http://www.solarsystemscope.com/nexus/textures/pla...

Now I have the proyect upload to github: https://github.com/angelfg/SaveTheEarth



Submitted (2 edits)

Day 4:

Progress:

  • Added point light to Sun and looking for Internet I found a entry blog that explain how do more bright the Sun: Not apply environment to the render:
modelBatch.render(instanceSun);

That´s all (for now :) )


A image:


Submitted

Day 5:

It´s 5 o´clock (a.m.)

Going to sleep :)

Progress:


A image:


That´s all (for now :) )


PD: I´ll never win a graphics prize :(

Submitted

Day 6:


Progress:

  • I added a light to the spaceship motor. It change color.
  • I changed Alienship 3D Model: http://www.3dcadbrowser.com/download.aspx?3dmodel=14165
  • I added a light to the AlienShip.
  • I added a font and now show spaceship velocity.
  • I changed World Scale (planet and spaceship). Too many big before :)
  • Now, when you move left ou right, the wing of the plane rises.


A image:

Submitted (1 edit)

Day 7:

Progress :)

  • I remove control up and control down. Too many difficult.
  • I paint a background of stars and it scroll when you move spaceship

I found this code (very usefull) :)

public static Texture texture_static_fieldStars;
texture_static_fieldStars = new Texture("fieldstars.jpg");
texture_static_fieldStars.setWrap(Texture.TextureWrap.Repeat, Texture.TextureWrap.Repeat);
private Sprite fieldStars;
fieldStars = new Sprite(texture_static_fieldStars);


private void drawFieldStars(float delta){

sprite.disableBlending();

if (spaceShip.getState()==SpaceShip.Keys.TURN_RIGHT)
scrollTimer.x += 0.05f*Gdx.graphics.getDeltaTime();
if (spaceShip.getState()==SpaceShip.Keys.TURN_LEFT)
scrollTimer.x -= 0.05f*Gdx.graphics.getDeltaTime();
if (spaceShip.getState()==SpaceShip.Keys.UP)
scrollTimer.y -= 0.05f*Gdx.graphics.getDeltaTime();
if (spaceShip.getState()==SpaceShip.Keys.DOWN)
scrollTimer.y += 0.05f*Gdx.graphics.getDeltaTime();

scrollTimer.add(0.00001f,0.00001f);

if(scrollTimer.x>1.0f)
scrollTimer.x = 0.0f;
if(scrollTimer.y>1.0f)
scrollTimer.y = 0.0f;

fieldStars.setU(scrollTimer.x);
fieldStars.setU2(scrollTimer.x+1);
fieldStars.setV(scrollTimer.y);
fieldStars.setV2(scrollTimer.y+1);

fieldStars.draw(sprite);

sprite.enableBlending();


}


  • I DRAW A RADAR to show where is Ufos and Earth position.

It was very hard to face the 3D coordinates of the UFOS and Earth to 2D coordinates of the radar.
Basically what I do is to calculate the distance to the 3D Spaceship (displayed in the center of the radar) and applying the rule of three step-radar coordinates.
After I apply the rotation angle of the ship to rotate the elements of the radar when I turn the ship.

Code:

float radar_distance_detect=World3D.SOLARSYSTEM_SIZE;

// DRAW UFOS IN RADAR
for (Ufo ufo : world3d.getUfos()){
temp1.set(ufo.getPosition());
temp2.set(spaceShip.getPosition());

float distance = temp1.dst(temp2);
temp1.sub(temp2); // SUB Ufos position from SpaceShip position

if (distance<radar_distance_detect){
float translateValue = (Radar.size_radar.width/2)/radar_distance_detect;
temp1.set(temp1.x*translateValue,0,-temp1.z*translateValue);
temp1.rotate(spaceShip.getAngle_rot().y,0,1,0);

float pointYradarcentral = camera2D.viewportHeight-(Radar.size_radar.height/2);
float pointXradarcentral = (Radar.size_radar.width/2);
temp1.z = pointYradarcentral - temp1.z;
temp1.x = pointXradarcentral - temp1.x;

sprite.draw(LoadAssets.texture_static_ufo,temp1.x-4,temp1.z-4,10,10);

}

}

I do not know why not come out exactly the right point and I had to subtract 4 to its location on the radar ....


  • Ufos creates outside Solar System. Only 5. If you kill them, I create another 5 until 20. If you kill all, YOU WIN.
  • You can minimize radar when touch it with mouse.
  • I add keyboard control (arrow left-arrow right-arrow up (accelerate)-arrow down (brake) )

Countdown started :)


A image progress:


Submitted

Day 8:

Progress:

  • Now you can shoot :)

It remains to be done:

  • Collisions.
  • Music and sound effects
  • Main Screen
  • Some details (score,....)


A image:


Submitted (1 edit)

Day 9:

That nerves !! Remaining hours to finish ...

Progress:

  • After hours, I got to right spheres scales to detect collisions....I do not understand why the Blender displayed FBX files with a certain scale, but to view these files in another program (http://www.open3mod.com/) shows a different scale .... :(
  • Added an explosion using the 3D particle engine (using the textures that come with an example https://github.com/libgdx/libgdx/wiki/3D-Particle-... (thanks SeanFelipe).


It remains to be done

  • Sound effects
  • Main screen
  • Details ...


A image with a explosion:


Submitted (1 edit)

The end :)

Too much work for the end

Progress:

  • I added presentation screen
  • I added credit screen.
  • I added information screen about controls
  • I added a small presentation when you've lost or won the game
  • I added music and sounds effects


Problems:

  • The mobile version, in a telephone stutters and the other also do not see the screen well.
    It may be because they are old ...

Poor perfomance. Too many lights, but it´s so pretty :)

  • The desktop version works well


The game: http://angeldfg.itch.io/save-the-earth


Enjoy, you only have to kill 10 ufos...:)

A principal screen image....


And a final when you lost (or win)....