How do you make a game? (Full Version)

All Forums >> [Gaming Community] >> [Legends and Lore] >> Artists of Legend >> Art Academy



Message


Irish_Ninja -> How do you make a game? (6/20/2007 20:15:45)

I'm kind of new at coding and stuff, and I was wondering if some one could give me a good tutorial on how to write a game, or at least the code so my friend saph can help me with it

Could it be for BYOND dream maker?

No double posting. Use the Edit button. ~Grafh




Krieg -> RE: How do you make a game? (6/20/2007 20:45:04)

You'd be the second person I've ever seen on this forum to ever ask about BYOND. To tell you the truth, I don't know much about it. Most people around here use RPG Maker.

Anyway, a tutorial I found for the last person that asked for BYOND: Zilal's Beginner Tutorial

By looking at it, it should help.




Irish_Ninja -> RE: How do you make a game? (6/20/2007 20:51:37)

Actually... It dosen't work... I've tried already all of her tutorials before and she can't make good tut's at all. Thank you for trying to help though.




EragonZZZZ -> RE: How do you make a game? (6/20/2007 22:16:33)

Awww, man, that was entirely uncalled for.

Don't go trashing people's work that is meant to help YOU.
When people do YOU a favor, no need to get all uppity.

And I've actually never even heard of this program.
You might want to, as suggested above, try an RPG maker, or if you're really adventurous, Flash :D




Krieg -> RE: How do you make a game? (6/21/2007 6:19:29)

Sorry about that. The last person that asked also never came back to these forums so I didn't know the quality of the tutorial. Hopefully you won't do the same. ;)

Anyway, as EragonZZZZ said, RPG Maker and Flash are good alternatives (if you have some money). At least, some of us here can help you with them. There are a few that also use Game Maker which is free to use the basic features. Personally, I'd like to see someone even more ambitious than using these "game making wizards" and try to make something through programming; that would be really cool regardless of how lame it might seem.

So, pick a path to take. If you stick with BYOND, I don't think too many people can help you on these forums. If you switch over to another program, you might get more support.




Irish_Ninja -> RE: How do you make a game? (6/21/2007 13:59:42)

Uh... Okay. Where do you get any other programs?? Because when I used her tutorial it didn't work the first time, like a few weeks ago. I just only found out about byond, and it really dosn't work. Where do you get game maker?? Thank you for helping!! But I'll probably go over to saph's once he gets rpg maker xp so thanks thouhg. But could you tell me where to find somer please?? I know I posted that like 8 times but once again, could you??




EragonZZZZ -> RE: How do you make a game? (6/21/2007 17:33:43)

Um, Penndragon, you realize that flash is not a game making wizard; that anything you do requires programming, right?
I assume that you mean you hope someone would make a game with flash that was actually RPG Maker XP caliber, except they made it by themselves. Right?




Krieg -> RE: How do you make a game? (6/21/2007 21:14:51)

EragonZZZZ: Yeah, you're right. It was a rushed post and I didn't think it through (I was annoyed about my grades and it was an attempt to cool off without taking it out on someone). [:@]

Anyway, what I meant was that I'd like to see something different besides of Flash and RMXP-based games. Personally, I'd rather see a terrible game made in XNA Game Studio using C# rather than a good game made by RMXP. They're all nice, but something different would be good to see too IMO.

Irish_Ninja: Can you please rephrase your request?




skyboy59 -> RE: How do you make a game? (6/22/2007 1:52:33)

ohrrpgce is a good program... from what i can tell its like that rpg maker thing except free and comes from hamsters :D

but its rather old... so some things might be outdated lol and it is only good for rpgs lol

you could make a pong game from qbasic or c... ive done that before using djgpp's free compiler...




EragonZZZZ -> RE: How do you make a game? (6/22/2007 1:57:30)

Actually, you want a good free C++ or C# compiler, Microsoft is actually giving away versions of the software (with compilers) for free!
Albeit, these are hobbyist versions, but still really useful. Heck, even their Visual Basic release was powerful. And thats VB!




Krieg -> RE: How do you make a game? (6/22/2007 8:47:35)

Yeah, Microsoft's Express Editions are free and not that bad. All it takes is registering.

Has anyone reached their limits yet? These hobby versions are supposedly less powerful than the commercial ones, but I haven't hit a roadblock in C++ quite yet...




Irish_Ninja -> RE: How do you make a game? (6/22/2007 12:11:43)

The only thing I need to know is how to code a game. How do you know what goes where and how to link things to get them to work together? Do you have some book with all the parts of the code and you just put it together to work, kind of like a puzzle? It would be nice if somebody here could write a tutorial on how to use any free program, as long as it looks like a decent game.




EragonZZZZ -> RE: How do you make a game? (6/22/2007 12:14:23)


quote:

ORIGINAL: Penndragon

Yeah, Microsoft's Express Editions are free and not that bad. All it takes is registering.

Has anyone reached their limits yet? These hobby versions are supposedly less powerful than the commercial ones, but I haven't hit a roadblock in C++ quite yet...


The limits aren't on functions, or power per se, but things that commercial developers need that hobbyists WOULDN'T need.
Things like resource and network management, and the compiler is different for both versions.




Irish_Ninja -> RE: How do you make a game? (6/22/2007 12:28:06)

... Could someone answer my last question please...? Sorry, I'm not trying to be rude, I just want to learn how to script and code...




Krieg -> RE: How do you make a game? (6/22/2007 13:51:08)

EragonZZZZ: That's good to know.

Irish_Ninja: There's no set formula on how to code a game. Once you learn how to program, you'll understand your options and take what you believe the best route is.

Personally, on my C++.NET text game (RPG), I basically set it up like this (in terms of functions):

global variables: mostly player stats
main(): initializes the game
move(): allows the user to input directions
world(): the position of the user in the world
battlescreen(): options that the user can use during a battle
battle(): results of battling
monster...: what monsters the player can face and their stats

However, as I didn't plan it out well, I had screwed up in a few areas, the one most pressing being switch events (as in if one thing happens, another thing changes).

So, my advice is to plan the features of your game out well before tackling it. Making it up on the way like I did my first time would take longer than knowing what to do from the beginning.

I don't have it anymore, but if you're interested in C++, I can reprogram it and give you the code.




Irish_Ninja -> RE: How do you make a game? (6/22/2007 16:20:26)

Okay, but could it be a sprite based engine? Becuase that's what I was aiming for. And aslo, here's the code I had so far for my game, but I couldn't really do much...:

mob
Login()
world<<"[usr] has logged in"

mob
verb
smile()
world<<"[usr] grins."
jump()

world<<"[usr] jumps with glee."
laugh()
world<<"[usr] doubles over in laughter."
cry()
world<<"[usr] sobs uncontorollably."
mob
verb
say(msg as text)
world<< "[usr] says, [msg]"
turf
floor.dmi
icon= 'floor.dmi'
That was it so far, and like I said, it wasn't really much, and I don't know if it would work on anything but BYOND, so, yeah, I'd like the code please

A lot of the things were tabbed too, so it looks weird as that. I can't et it to look like the code in the script...




skyboy59 -> RE: How do you make a game? (6/22/2007 16:37:50)

yeah... and you can keep asking for the code... you wont get one :/

no one has a game code template...

each game is different... you have to learn to code then do it... so learning to code is faster than asking for a game script...





Krieg -> RE: How do you make a game? (6/22/2007 17:50:45)

I'm not that proficient of a programmer: I'm an artist. I can only do text RPGs at the very most at the moment. I never said that I would write a custom code for you, but to show you how I made my first text game with C++ in an attempt to demonstrate the basics. Graphics only come after passing this point when going through this route.

Anyway, if you're thinking of doing sprites, you may want to try Visual Basic. Although I've never tried to create a game with VB, I know it can be done (Visual Basic Game Programming For Teens by Jonathan Harbour). VB may be a bit easier to understand than C++ especially when it comes to GUI interfaces.




Irish_Ninja -> RE: How do you make a game? (6/23/2007 0:06:39)

K... I never really wanted a code... I just wanted someone to give me the head ups of coding. But, I wanted a demo for references




Krieg -> RE: How do you make a game? (6/23/2007 8:26:04)

Well, I'll see what I can do. Give me a few days (I'm a bit busy this weekend). I should be able to get it done by Tuesday.




Irish_Ninja -> RE: How do you make a game? (6/23/2007 10:03:25)

Ok, thx. But I don't know if I can do it yet, or not. I found a good tutorial and even a basic engine that I can mess with to make mine, but I'm really not sure of how to use it. Oh well, I'll figure that out sooner or later




Krieg -> RE: How do you make a game? (6/24/2007 15:40:11)

Well, whatever: I've done what I've done. I had some free time today so I worked on it. There are some bugs that I've listed on top, but it more or less shows the complexity of a simple text RPG.

To use the code, you'll have to download Visual C++ Express Edition 2005 and install it. After that, create a new project (CLR Empty Project). On the left hand side where you see folders, right click "Source Files" and select Add>New Item. Here, select "C++ File" (.cpp extension). Copy the below code and paste it into your code window.

After that, right click your source file ([filename].cpp) and select "Properties". Under C/C++:
General
Optimization
Preprocessor
Code Generation
Language
Precompiled Headers
Output Files
Browse Information
Advanced
Note: Failure to follow any of the above can cause unwanted results.

To prevent the code from stretching the window too much, I've split some of the longer lines of code.
//a simple, incomplete text game
//bugs: does not include switches, missing random function, nonstandard structure, can fall off the map

#using <mscorlib.dll>
using namespace System;

//function prototypes
void help();
void status();
void move(double);
void world(double &);
void battle(double);

//monsters
void cat(String ^&, int &, int &, int &, int &, int &, int &);
void dog(String ^&, int &, int &, int &, int &, int &, int &);
void bear(String ^&, int &, int &, int &, int &, int &, int &);

//Default Player Stats (Global Variable Declarations)
int pLevel = 1;
int pSpeed = 4;
int pHealth = 20;
int pDamage = 0;
int pDefense = 2;
int pOffense = 5;
int pExperience = 0;
int rExperience = 5;
void levelUp();

int main()
{
	String ^name = ""; //declares a string variable called "name"
	double mov = 1.0; //declares a floating/double variable called "mov"

	Console::WriteLine("Welcome to TEXT ADVENTURES!"); //displays a message line
	Console::WriteLine(); //skips a line
	Console::Write("Name: "); //prompts user for name
	name = Console::ReadLine(); //puts user input into the name variable
	Console::WriteLine();
	Console::WriteLine("Welcome, {0}. You are in front of your house on a peninsula at the south west end of a 3x3 island.", name);
	move(mov); //calls the move function and sends the mov variable by value
	return 0;
}
void move(double mov)
{
	while (mov != 10000.0) //while loop
	{
		String ^action = "";
		Console::WriteLine();
		Console::Write("What would you like to do? ");
		action = Console::ReadLine();
		if (action->CompareTo("help") == 0) help(); //if statement that compares a string
		if (action->CompareTo("status") == 0) status();
		if (action->CompareTo("n") == 0)
		{
			mov = mov + 1;
			world(mov);
		}
		if (action->CompareTo("s") == 0)
		{
			mov = mov - 1;
			world(mov);
		}
		if (action->CompareTo("e") == 0)
		{		
			mov = mov + .1;
			world(mov);
		}
		if (action->CompareTo("w") == 0)
		{
			mov = mov - .1;
			world(mov);
		}
	}
	Console::WriteLine("GAME OVER");
}
void help()
{
	Console::WriteLine("To move, type n (North), s (South), e (East), or w (West)");
}
void status()
{
	Console::WriteLine();
	Console::WriteLine("Level: {0}", Convert::ToString(pLevel));
	Console::WriteLine("Health: {0}/{1}", Convert::ToString(pHealth - pDamage), Convert::ToString(pHealth));
	Console::WriteLine("Offense: {0}", Convert::ToString(pOffense));
	Console::WriteLine("Defense: {0}", Convert::ToString(pDefense));
	Console::WriteLine("Speed: {0}", Convert::ToString(pSpeed));
	Console::WriteLine("Experience: {0}", Convert::ToString(pExperience));
}
void world(double §ion)
{
	double monster = 0.0;
	//valid movements
	if (section == 1.0) Console::WriteLine("You're now in front of your house.");
	if (section == 1.1)
	{
		monster = 1.0;
		battle(monster);
	}
	if (section == 1.2) Console::WriteLine("You have arrived to the south eastern most end of the island.");
	if (section == 2.0) Console::WriteLine("You can see the wester ocean from here.");
	if (section == 2.1) Console::WriteLine("You can hear the sound of rushing water surround you.");
	if (section == 2.2)
	{
		Console::WriteLine("You are on the east coast.");
		monster = 2.0;
		battle(monster);
	}
	if (section == 3.0)
	{
		Console::WriteLine("You have arrived to the north western most end of the island.");
		monster = 3.0;
		battle(monster);
	}
	if (section == 3.1) Console::WriteLine("You are on the north coast.");
	if (section == 3.2) Console::WriteLine("You have arrived to the north eastern most end of the island.");
	//invalid movements
	if (section < 0)
	{
		Console::WriteLine("Sorry, but you cannot go any further at this time.");
		section = section + 1;
	}
	if (section == 0.0)
	{
		Console::WriteLine("Sorry, but you cannot enter your house at this time.");
		section = section + 1;
	}
	if (section == 0.1 || section == 0.2)
	{
		Console::WriteLine("Sorry, but you cannot swim in the southern ocean at this time.");
		section = section + 1;
	}
	if (section == 4 || section == 4.1 || section == 4.2)
	{
		Console::WriteLine("Sorry, but that's as far up north you're allowed to go at this time.");
		section = section - 1;
	}
	if (section == .9 || section == 1.9 || section == 2.9)
	{
		Console::WriteLine("Sorry, but that's as far west as you can go at this time.");
		section = section + .1;
	}
	if (section == 1.3 || section == 2.3 || section == 3.3)
	{
		Console::WriteLine("Sorry, but that's as far east as you can go at this time.");
		section = section - .1;
	}
}
void battle(double monster)
{
	String ^action = "";
	//monster local variables
	String ^mName = "";
	int mLevel = 0;
	int mSpeed = 0;
	int mHealth = 0;
	int mDefense = 0;
	int mOffense = 0;
	int mExperience = 0;
	//obtain monster stats
	if (monster == 1.0) cat(mName, mLevel, mSpeed, mHealth, mDefense, mOffense, mExperience);
	if (monster == 2.0) dog(mName, mLevel, mSpeed, mHealth, mDefense, mOffense, mExperience);
	if (monster == 3.0) bear(mName, mLevel, mSpeed, mHealth, mDefense, mOffense, mExperience);
	//battle
	Console::WriteLine();
	Console::WriteLine("You have been attacked by a {0}!", mName);
	while(mHealth > 0)
	{
		if ((pHealth - pDamage) >= 0)
		{
		Console::Write("What would you like to do (a/r)? ");
		action = Console::ReadLine();
		Console::WriteLine();
		if (action->CompareTo("a") == 0)
		{
			if (pSpeed >= mSpeed)
			{
				mHealth = mHealth - pOffense + mDefense; //monster health calculation
				Console::WriteLine("You do {0} damage to {1}.  It has {2} health left.", Convert::ToString(pOffense - mDefense), mName, 
Convert::ToString(mHealth));
				if (mHealth <= 0)
				{
					Console::WriteLine("Congratulations! You have defeated a {0}!  You have gained {1} experience points.", mName, 
Convert::ToString(mExperience));
					pExperience = pExperience + mExperience; //update player experience
					levelUp();
				}
				else
				{
					pDamage = pDamage + mOffense - pDefense; //player health calculation
					Console::WriteLine("It does {0} damage to you.  You have {1} health left.", Convert::ToString(mOffense - pDefense), 
Convert::ToString(pHealth - pDamage));
				}
			}
			else
			{
				pDamage = pDamage + mOffense - pDefense; //player health calculation
				Console::WriteLine("It does {0} damage to you.  You have {1} health left.", Convert::ToString(mOffense - pDefense),
 Convert::ToString(pHealth - pDamage));
				mHealth = mHealth - pOffense + mDefense; //monster health calculation
				Console::WriteLine("You do {0} damage to {1}.  It has {2} health left.", Convert::ToString(pOffense - mDefense), mName,
 Convert::ToString(mHealth));
				if (mHealth <= 0)
				{
					Console::WriteLine("Congratulations! You have defeated a {0}!  You have gained {1} experience points.", mName,
 Convert::ToString(mExperience));
					pExperience = pExperience + mExperience; //update player experience
					levelUp();
				}
			}
		}
		else
		{
			Console::WriteLine("You have successfully run away.");
			mHealth = 0;
		}
		}
		else
		{
			Console::WriteLine("You couldn't take the pain! You've blacked out...");
			mHealth = 0;
			pDamage = pDamage / 2;
			Console::WriteLine();
			Console::WriteLine("You wake up.  The {0} seems to have left. You feel slightly better.", mName);
		}
	}
}
void levelUp()
{
	if (pExperience >= rExperience)
	{
		Console::WriteLine();
		Console::WriteLine("Congratulations! You have just leveled up!");
		rExperience = rExperience * 2;
		pLevel = pLevel + 1;
		pHealth = pHealth * 2;
		pDamage = 0;
		pOffense = pOffense * 2;
		pDefense = pDefense * 2;
		status();
	}
}
void cat(String ^&name, int &level, int &speed, int &health, int &defense, int &offense, int &experience)
{
	name = "Cat";
	level = 2;
	speed = 5;
	health = 9;
	defense = 2;
	offense = 5;
	experience = 3;
}
void dog(String ^&name, int &level, int &speed, int &health, int &defense, int &offense, int &experience)
{
	name = "Dog";
	level = 2;
	speed = 4;
	health = 8;
	defense = 3;
	offense = 5;
	experience = 3;
}
void bear(String ^&name, int &level, int &speed, int &health, int &defense, int &offense, int &experience)
{
	name = "Bear";
	level = 4;
	speed = 2;
	health = 15;
	defense = 6;
	offense = 8;
	experience = 10;
}

Hope this helps! If you have any questions, feel free to ask. I've tried to include some comments so that you could follow along.

Edit: Fixed links.




EragonZZZZ -> RE: How do you make a game? (6/24/2007 22:01:36)

Awww, man. Rule #1 is you don't feed anyone code D:
Oh well, maybe he WILL learn from it.

Anyway, yeah. I built games in VBA (visual basic for applications). As in, I went and created macros in excel and powerpoint to make full games, custom graphics.
Although, that was after a year of experimentation, and I'm a scripter born and bred. But yeah, look at VB.




Irish_Ninja -> RE: How do you make a game? (6/24/2007 22:41:01)

Okay, thanks for everything!! But, how do you actually run the game??




Krieg -> RE: How do you make a game? (6/24/2007 22:42:10)

Heck, it's just a sample. All it includes is an island that is 9 spots in area (excluding when you fall off the map), a simple help menu, and the capability to battle three monsters with a basic system of leveling up.

But yeah, I don't want anyone expecting me to be this nice all of the time. ;)

Anyway, tell me how it works out. I only have a basic background in C++.NET so I won't be able to answer everything (I only know how to do apps in command prompt), but it should be enough to at least get you started.

Edit:

First, you have to build the code ([F7]). There's also a link at the top. Then, you have to debug the code to run it which is also located at the top. I recommend "Start without Debugging" ([Ctrl]+[F5]) to save some seconds.




Page: [1] 2   next >   >>

Valid CSS!




Forum Software © ASPPlayground.NET Advanced Edition
0.125