Lunar Rover Expedition - Day 2 ingame screenshot

Moon Expedition With A Lunar Rover

A solo entry at this moment.

Awards

Give this entry an award

Scores

Ratings (show detail)

Overall: 3.3
Fun: 3.1
Production: 3.6
Innovation: 3.2

Respondents: 20

Files

File Uploader Date
Moon_Expedition_With_A_Lunar_Rover.tar.gz
For Linux
Master47 2013/09/08 18:27
Moon_Expedition_With_A_Lunar_Rover.zipfinal
Moon Expedition With A Lunar Rover
Master47 2013/09/08 18:22
lunar_rover_expedition_in_game_picture.JPG
Lunar Rover Expedition - Day 2 ingame screenshot
Master47 2013/09/02 08:14

Diary Entries

Game development diary: Day 1

Day 1

Settling on a game idea was quickly done this time.  Probably because of the theme "Moon".  I had the idea of making a game that takes place on the surface of the moon.  Maybe something where one has to go around and collect some materials / samples from the moon and bring it back to earth?

The words "vehicle" and "expedition" came into my mind.  I looked up how the vehicles that are used to do space exploration on other planets or moons are called or have been called.  They are called "Lunar Rover's" or "Moon Rover's" (English is not my first language).

I then decided to develop a game based on my idea.

Game overview ( Note:  This is just what I am aiming at.  Things might still change )

In this game, the player, who controls the Lunar Rover 47 has to collect samples in different areas of the moon.  Each area has different scenery and samples.  After all samples of an area have been collected, the player moves on to the next area.  (Sidenote:  An "Area" is a level).
But the player has to be aware of obstacles, such as "aliens", walls or other things.  Each area is decorated by beautiful scenery usually found on the moon (or related places).
Luckily, the Lunar Rover 47 is equipped with the GREPLAC (GREen Proton LAser Cannon), the newest invention, with which it can defend itself.
The Lunar Rover 47 is equipped with a radar, solar-panels, a board computer and a few super-bright LED's.
The Radar helps finding samples and other objects.  In fact, every object in a specified tracking area can be found.  But using it needs a lot of energy.  Luckily, the solar-panel provides energy, so the batteries can be charged up again.

Anyways, I do not want to go on and on telling fairy tales; so here is a list of what I have accomplished on day 1:


Graphics

Moon Ground / Terrain

Since the game takes place on the moon, I needed to have some sort of terrain that 'might' resemble, or at least, remind somebody of deserted places.  So I decided to draw a Moon Terrain.  I couldn't have done that without the help of this video:
How to make rock texture in GIMP - YouTube

As one can see, I used GIMP for that.  I was satisfied with the results.  I learned something new =).


Lunar Rover

I drew the "Lunar Rover 47" in Inkscape.  It took me a long time to get it the way I would like it at least a bit.  I am happy with the results.  It has solar panels, a computer, a sensor 2 lights, aswell as a few super-bright LED's.
I produced many .PNG files with the LED's on and off, as I wanted it to be animated in the game, to give the game some "life".


Control Panel

Well, it was getting late when I started working on the control panel.  But I just wanted to get a pre-version of the control panel done, so I could implement a simple "Radar System" into the game, which was what I was aiming for on day 1.
After about 1 hour it was done.  I knew I had to add stuff to it, but it was okay for what I originally intended to do.  I created 4 images, as the control panel of the Lunar Rover 47 will be animated, too.


Lunar Rover GREPLAC Projectile

Made with Inkscape:  A shimmering green projectile that can be fired by the Lunar Rover 47.  After doing that I went to bed at 4.00 AM and slept until 8.30 AM.

Programming

I created the following class and files for the game:
  • main.py - Contans the game-loop.  Starting point of the game.
  • Animated_Sprite.py - A class that supports animation.
  • Lunar_Rover.py - The class for the Lunar Rover 47
  • Lunar_Rover_Control_Panel.py - The control panel of the Lunar Rover 47
  • Lunar_Rover_Shot.py - The class for the projectiles, which can be fired by the Lunar Rover 47
  • Radar.py - The class for the radar of the Lunar Rover 47
  • Scrolling_Ground.py - The class for the scrolled background.  This represents the terrain of the different moon areas.
  • Test_Object.py - A simple pygame Sprite class, used for testing the class Radar.py
  • constants.py - Contains the settings and preferences of the game which are not likely to change.
  • helpers.py - Contains global functions that find use in many different code-files.

Okay, that is it for now.  Thanks for reading =).

Add a comment

Game development diary: Day 2

Day 2

On day 2, I managed to finish creating the control panel in Inkscape.  There will still some fields for text missing.  As soon as that was complete, I began working on the class for "Sample".  In a level, samples from the moon have to be collected.


I then started working on the class "Level", through which a map, that is saved as a text-file, can be loaded.  Through this map, I can now design some levels with obstacles, samples and scenery.

I made a simple "Sample" image in Inkscape to test a level.  Worked.  I added a collision helper function that tracks collisions between the lunar rover and all the objects of a level.

If the lunar rover now went over a sample, the sample would disappear.


Afterwards, I began working on the class "Text", with which I can display text on the window and change it throughout the game.
I first implemented the class "Text" in "Lunar_Rover_Health", that shows the health of the lunar rover.
I implemented the same class in a new class "Lunar_Rover_Sample_Meter".  This class is used for tracking the samples that have to be collected in a level and have been collected.

As soon as all samples in a level are collected, the level ends.  Since there is only 1 level now, the game ends.

And that was it for the 2nd day of the challenge :).

Add a comment