Game updates

Dantheman

Programmer
Credits
409
This is basically a topic to update you on the progress of a game I'm working on. For those who don't know, I'm making a survival fps.

Names you should know:

TerrainEdit -> Terrain making software made by me, which is easy to use.
GuiMaker -> This is an idea I'm currently working on. You make custom Gui for controls or simplicity.
ModMaker -> A modeling software I'm working on. Will be able to make textured, moving, 3D models.
Game -> doesn't have a name. How about 'Nuke Town'?

About:

The game I'm working on is all about nuclear, zombie, survival. You play as a teenage boy, who lives in his basement.

Story:

You wake up in two in the afternoon. You were listening to your MP3 player loud, so you didn't hear the noise of the incident prior to waking up. You go up-stairs, to well, no up-stairs. You see the bodies of your parents laying in the ruins. Then you hear a noise. You grab an old plank laying around. You look around, when you spot something sprinting toward you. Then you realize that, that thing, was what you've killed in your many games. A zombie.
The zombie goes to bite you, but you dodge and beat it with the plank. You feel dizzy, and confused. Then it goes blank.
You wake in a cave. There is generators everywhere, and a strange man tinkering with tools. He looks up to see you're awake. The man says,
"Ahh, you're awake now. You almost died of radiation poison, but I got you before they did. You're very lucky".
Then you reply,
"What exactly happened?"
The strange man says,
"Don't you know? There was a nuclear meltdown. Killed almost everyone. There's only a few survivors. But it's tough out there, with all the zombies. Oh, and let's not forget the mutants."
"Mutants?", you ask.
"The nuclear radiation mutated quite a few things. Pigs can fly... No I'm serious. They also try to eat you.", said the man.
"Right...", you say, before you pass out.
You wake up, alone. Not in the cave, but back in your basement. You have a hazmat suit on, and a pistol in your hand. You look over to your bed-side table, and spot a note. It says,
"I can't take care of you anymore. You're all healed up now. Keep the suit on, or you'll die. I left you a pistol, you'll need it. It's not safe to travel outside at night, so it's best to stay inside. You'll need to make barriers to protect your home, so try to scavenge during the day. You can find some survivors, and shopkeepers. They have a variety of tools, however, they charge a pretty penny. Be careful, everything's only getting worse. You can upgrade your items for a lot of money, and make weapons and armor. It's best to scavenge until you NEED to buy something. Use 'w''a''s''d' to move. Use your mouse to look around. Left click to shoot, 'r' to reload. Pressing 'p' pauses the game, where you can save, quit, and change your options. Pressing 'i' brings you to your inventory, where you can store, and use items. Be careful, your pouch only has so much space. You'll need to buy a bigger one at the store when necessary. Please, be careful.

-Dan

P.S. Check at the foot of your bed, I gave you a little something."

You find a bag of money containing 1000 credits.

Update 3:

I worked on the Gui Maker today. I re-wrote the class, and made it so when the mouse hovers, it highlights. I also made it so you can label them with centered text. The class is now more efficient, and will allow buttons to be loaded from files, or made on the spot.

Future:

The buttons will have different features, like pop up menus, more data transfer, e.t.c.

Update 2:

I've been working on Gui Maker for quite a while. So far I can make buttons, change color, apply texture, and click them. Now all I need to do is allow for scripting, receiving, sending, converting, and buffering data. I'm working on a file type, and it seems to be working real well. Perhaps I will release source, and allow for other people to script their own Gui.

On the other hand, I've been thinking of some pretty sweet ideas for enemies, characters, weapons, e.t.c. Perhaps vehicles will be in there too, and they run out of fuel.

Ideas are always accepted.

Update 1:

Re-wrote my terrain class, worked on TerrainEdit, reached a point where I needed something to make development easier, so thought of a new app idea. I'm making GuiMaker. You can make custom Gui, that allow you to make the buttons, sliders, switches, windows, e.t.c function the way you want.

Here's the Terrain Source code, not completely finished, but hey, here's what I have so far:

#include <textures.h> // Calls to my texture loader.

class Terrain { // initializes a class called Terrain.
int** Height; // pointer array for vertex height.
int** Tex_ID; // pointer array for Texture.
int *Length, *Width; // Length and Width for allocation.
int **R,**G,**B; // Several arrays for color.
public: // data you can change anytime.
Terrain(char*); // class constructor
~Terrain(); // class destructor
void Load_Terrain(char*); // loads terrain data
void Display_Terrain(); // displays terrain
};

Terrain::Terrain(char* Name){ // constructor (optional)
if(Name!=NULL){ // checks if you gave it a name
Load_Terrain(Name); // if true, tries to load file.
}
}

Terrain::~Terrain(){ // destructor, deletes all allocated memory.
for(int i = 0; i < Length[0]; i++){
delete[] Height;
delete[] R;
delete[] G;
delete[] B;
delete[] Tex_ID;
}
delete[] Height;
delete[] R;
delete[] G;
delete[] B;
delete[] Tex_ID;
delete[] Length;
delete[] Width;
}

void Terrain::Display_Terrain(){ // displays terrain
float transx = (float)Width[0]*2.5,transz = (float)Length[0]*2.5; // these values translate the terrain so it's centered.
for(int i = 0; i < Length[0] - 1; i++){ // a for statement, to cycle through all values.
glBegin(GL_TRIANGLE_STRIP); // begins a triangle strip
for(int j = 0; j < Width[0]; j++){ // another for statement, to set vertices.
glColor3b(R[j],G[j],B[j]); // color in byte format
glVertex3f((j*5) - transx,Height[j]*0.04,(i*5) - transz); // vertex info
glColor3b(R[i + 1][j],G[i + 1][j],B[i + 1][j]); // color in byte format
glVertex3f((j*5) - transx,Height[i + 1][j]*0.04,((i+1)*5) - transz); // vertex info
}
glEnd(); // ends triangle strip
}
}

void Terrain::Load_Terrain(char* Filename){ // function to load terrain
int Test_End = sizeof(Filename); // tells us how long the file is in bytes.
bool Format; // a true or false statement
char Filename2[50]; // a buffer to hold filename, used for checking if it's in .ter format.
for(int i = 0; i < Test_End; i++){ // a for statement, to test file extension.
if(i + 2 < Test_End){ // to make sure we aren't testing random data.
if(i == 't' && i+1 == 'e' && i+2 == 'r'){ // checks if the end of the file ends with ter
Format = true; // if it does, format is true
}
else{
sprintf(Filename2,"%s.ter",Filename); // if not, filename2 is set to filename, with .ter at the end
}
}
}
FILE * file; // a file variable
if(!Format){ // if format isn't true, it tries to load filename2
if(fopen(Filename2,"r") == NULL){ // if filename2 doesn't exist,
exit(0); // you exit the program.
}
}
if(Format){ // if file does exist:
file = fopen(Filename,"r"); // file is opened for reading
}
else{ // if file doesn't exist, but filename2 does,
file = fopen(Filename2,"r"); // filename2 is opened for reading.
}
char buf[5]; // this is a buffer of 5 bytes, is hold some data.
fgets(buf,4,file); // we get info from our file, it determines length
Length = new int[1]; // we allocate memory for length
Length[0] = (int)buf[0]; // we set length
fgets(buf,4,file); // we get data for width
Width = new int[1]; // allocate width
Width[0] = (int)buf[0]; // set width
Height = new int*[Length[0]]; // we allocate memory for our array called Height
Tex_ID = new int*[Length[0]]; // we allocate memory for an array called Tex_ID
R = new int*[Length[0]]; // we allocate memory for an array called R
G = new int*[Length[0]]; // we allocate memory for an array called G
B = new int*[Length[0]]; // we allocate memory for an array called B
for(int i = 0; i < Length[0]; i++){ // We cycle through our arrays, and allocate more memory, for a 2D array
Height = new int[Width[0]];
Tex_ID = new int[Width[0]];
R = new int[Width[0]];
G = new int[Width[0]];
B = new int[Width[0]];
}
for(int i = 0; i < Length[0]; i++){
for(int j = 0; j < Width[0]; j++){ // we cycle through our array and write memory to each piece of data. This represents our terrain
fgets(buf,4,file); // get data
Height[j] = (int) buf[0]; // set data
fseek ( file , -2 , SEEK_CUR ); // move file cursor back to get more data, and save file-space.
fgets(buf,4,file); // repetition of above, just sets data to different variables.
Tex_ID[j] = (int) buf[0];
fseek ( file , -2 , SEEK_CUR );
fgets(buf,4,file);
R[j] = (int) buf[0];
fseek ( file , -2 , SEEK_CUR );
fgets(buf,4,file);
G[j] = (int) buf[0];
fseek ( file , -2 , SEEK_CUR );
fgets(buf,4,file);
B[j] = (int) buf[0];
fseek ( file , -2 , SEEK_CUR );
}
}
fclose(file); // closes file
}
 
Last edited by a moderator:
"Nuke Town"? Isn't that from Black Ops? How about "The Horrific Mutation"?

By the way...

Request: Golf Club
 
Weapon ideas:

Chair
Golf Club (As said before)
Femur
Keyboard
Tactical Pen
Plastic Knife
Lamp
Guitar
Hockey Stick
Toaster
 
Last edited by a moderator:
Oh, and my compiler doesn't like me, so you can only set the the mode from the start. So when you begin, you're either in game mode, or not.
 
After you kill a zombie, there could be a window of time before it fades away in which you can pick it up and use it as a weapon before it falls apart. :3
 
After you kill a zombie, there could be a window of time before it fades away in which you can pick it up and use it as a weapon before it falls apart. :3
If you use certain weapons on a zombie, you'll have the ability to pick it up while using a secondary weapon type? Ok. Then the zombie falls apart after time or use.
 
Back
Top