Re: [Audyssey] Programming Games was Re: Response From Bavisoft To MyInquiry

2010-12-19 Thread Ben
Ok
 That's fine


-Original Message-
From: gamers-boun...@audyssey.org [mailto:gamers-boun...@audyssey.org] On
Behalf Of Hayden Presley
Sent: 18 December 2010 22:57
To: 'Gamers Discussion list'
Subject: Re: [Audyssey] Programming Games was Re: Response From Bavisoft To
MyInquiry

Hi Ben,
Get in touch with me; I may not be the local BGtexpert (wink at Phillip) but
I may be able to halp you with small er projects.

Best Regards,
Hayden


-Original Message-
From: gamers-boun...@audyssey.org [mailto:gamers-boun...@audyssey.org] On
Behalf Of Ben
Sent: Saturday, December 18, 2010 3:23 PM
To: 'Gamers Discussion list'
Subject: Re: [Audyssey] Programming Games was Re: Response From Bavisoft To
MyInquiry

its not that.  i mean i tried to start small but didn't know where to
begin.,

-Original Message-
From: gamers-boun...@audyssey.org [mailto:gamers-boun...@audyssey.org] On
Behalf Of Thomas Ward
Sent: 18 December 2010 14:35
To: Gamers Discussion list
Subject: Re: [Audyssey] Programming Games was Re: Response From Bavisoft To
MyInquiry

Hi Ben,

Any time you learn something new like a programming language always
start out small before moving on to bigger projects.  For example,
when I was taking C++ in college we didn't start out with something
like a calculator or similar app we started with a simple Hello
World program and went from there. We wrote hundreds of small
practice programs that demonstrated some aspect of the language before
pulling all that together to write something like a simple ATM
machine, calculator, sample Cash Register program, whatever. So
instead of thinking of some big complex game like a real time Star
Wars game or another Shades of Doom think about writing small practice
programs like Guess the Number or an Eight Ball program that
demonstrates some aspect of the language before working your way upt
to that end project. That's the only way you will ever learn to know
when or where to start.

I'll say this. I've been oon the internet for several years and have
shared my insightes with a lot of people. The most common problem I
find with people interested in programming is a distinct lack of
patients. They want to pick up a book like Teach Yourself C++ in 21
Days, and expectt to start writing something as complex as Shades of
Doom the next day. That's just unrealistic. There are so many aspects
of the language they need to master before they get from point A to
point B that it may mean months of practical general purpose
programming, and writing simple programs before they have enough skill
to even attempt at writing anything remotely like Shades of Doom. Even
though BGT shaves lots of time off programming games etc you still
have to spend some time writing simple programs before moving on to
bbigger more complex ones.

Cheers!


On 12/18/10, Ben gamehead...@aol.co.uk wrote:
 all of you lot,
 lol.  i'm thinking of creating a project that has gone for 3 years without
a
 hint of activity programming wise.  trouble is, i don't know where to
begin.
 i've read bgt's manual around 30 times and i still don't know where to
 start.  i've been writing the game's story though, so thats someting...

---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to
gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to
gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to
gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have

Re: [Audyssey] Programming Games was Re: Response From Bavisoft To MyInquiry

2010-12-19 Thread Thomas Ward
Hi Ben,

Well, there is a certain amount of logic involved in where to start.
For example, if I was going to start writing a game today I would
declare or create all the base classes containing all the variables
and functions required by the people, places, and things used in my
project. Next, I would create all the global objects that references
those classes. After that I'd have to have some initialization
function that initializes those objects, and so on. Since every C++
application starts with the main function I would have to define the
main function, and place in it all of my initialization code to load
and start the program and launch the main loop, etc. As you might have
guessed everything is built upon everything else. Before you can build
the house, in this case the program, you have to build the foundation
first. Here is a C++ example using my G3D engine to demonstrate what I
mean.

// Declare audio and window class objects
G3D::Audio g_audio;
G3D::Window g_window;

// Name: main (void).
// Description: Entry point for the application.
int main ()
{

// Draw the application window
g_window.InitializeWindow (800, 600, 32);

// Set the window title
g_window.SetTitle (Tomb Hunter I,tomb.ico);

// Initialize keyboard support
g_window.InitializeKeyboard ();

// Initialize joystick support
g_window.InitializeJoystick ();

// Initialize mouse support
g_window.InitializeMouse ();

// Initialize the audio support
g_audio.InitializeAudio (g_window.GetHandle ());

// Enter the master game loop
while (running)
{
// Process game events
}

// Exit the program
return EXIT_SUCCESS;
}

What we have here is a typical main function that initializes various
subsystems like the application window, input, audio, etc. However,
obviously if those classes such as the Window and Audio class did not
exist I could not initialize them with the main function. Therefore
the logical place to start would be to go ahead and write the Window
and Audio classes so I could actually initialize them with main(). It
really isn't difficult to figure out where to start if you think about
programming the same way you would build a house, car, or anything
else. You have to make the smaller parts, the little pieces, before
you can tie it all together and make something out of it. Does that
make sense?

HTH


On 12/18/10, Ben gamehead...@aol.co.uk wrote:
 its not that.  i mean i tried to start small but didn't know where to
 begin.,

---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Programming Games was Re: Response From Bavisoft To MyInquiry

2010-12-18 Thread Ben
all of you lot,
lol.  i'm thinking of creating a project that has gone for 3 years without a
hint of activity programming wise.  trouble is, i don't know where to begin.
i've read bgt's manual around 30 times and i still don't know where to
start.  i've been writing the game's story though, so thats someting...

-Original Message-
From: gamers-boun...@audyssey.org [mailto:gamers-boun...@audyssey.org] On
Behalf Of Damien Pendleton
Sent: 17 December 2010 00:51
To: Gamers Discussion list
Subject: Re: [Audyssey] Programming Games was Re: Response From Bavisoft To
MyInquiry

Hi Kelly,
To be honest, in my opinion, source code is very scarce, few and far between

as far as audio games are concerned. The source code that generally is 
available is coded in Visual Basic 6, most of that is either rather messy or

very simple and in my experience doesn't teach a lot of important concepts, 
especially on major projects.
To give you an example, I have the VB6 source code to Danger City, Self 
Destruct, Giftanum, Chopper Patrol, and of course my own games. However, 
most of them games are demonstrating the same concepts, I.E. how to use 
timers and simple sound panning. The really major ones that touch on more 
important concepts like environments, sound panning based on the player's 
position in relation to other characters and objects within the game world, 
level mappings and AI's tend to be the more messy ones.
In my opinion the best resource for open source/example games are currently 
those available on the BGT page and forums, and certainly if anybody needs 
any BGT help I'm willing to help in whatever ways I can.
Regards,
Damien.





- Original Message - 
From: Kelly Sapergia ksaper...@sasktel.net
To: gamers@audyssey.org
Sent: Friday, December 17, 2010 12:21 AM
Subject: [Audyssey] Programming Games was Re: Response From Bavisoft To 
MyInquiry


 Hi Tiffany,

 I agree with Dark. I think it's best to learn and experiment with a 
 programming language, or anything for that matter, before starting to work

 on a major project. For a long time now, I've been interested in writing 
 text adventure games (just for myself), but it took awhile before I found 
 a language I liked to code in. With that in mind, I also think it's always

 good to look at as much source code as possible to see how an author 
 programs something in a certain way.

 Hope this helps.

 Yours Sincerely,
 Kelly John Sapergia
 For information regarding my Internet radio shows, links to my favorite 
 sites, and more, visit my personal website at http://www.ksapergia.net/.
 If you need jingles, voiceovers and music for your project at an 
 affordable price, visit KJS Productions at: 
 http://www.kjsproductions.com/.


 ---
 Gamers mailing list __ Gamers@audyssey.org
 If you want to leave the list, send E-mail to 
 gamers-unsubscr...@audyssey.org.
 You can make changes or update your subscription via the web, at
 http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
 All messages are archived and can be searched and read at
 http://www.mail-archive.com/gamers@audyssey.org.
 If you have any questions or concerns regarding the management of the 
 list,
 please send E-mail to gamers-ow...@audyssey.org. 


---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to
gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Programming Games was Re: Response From Bavisoft To MyInquiry

2010-12-18 Thread Thomas Ward
Hi Ben,

Any time you learn something new like a programming language always
start out small before moving on to bigger projects.  For example,
when I was taking C++ in college we didn't start out with something
like a calculator or similar app we started with a simple Hello
World program and went from there. We wrote hundreds of small
practice programs that demonstrated some aspect of the language before
pulling all that together to write something like a simple ATM
machine, calculator, sample Cash Register program, whatever. So
instead of thinking of some big complex game like a real time Star
Wars game or another Shades of Doom think about writing small practice
programs like Guess the Number or an Eight Ball program that
demonstrates some aspect of the language before working your way upt
to that end project. That's the only way you will ever learn to know
when or where to start.

I'll say this. I've been oon the internet for several years and have
shared my insightes with a lot of people. The most common problem I
find with people interested in programming is a distinct lack of
patients. They want to pick up a book like Teach Yourself C++ in 21
Days, and expectt to start writing something as complex as Shades of
Doom the next day. That's just unrealistic. There are so many aspects
of the language they need to master before they get from point A to
point B that it may mean months of practical general purpose
programming, and writing simple programs before they have enough skill
to even attempt at writing anything remotely like Shades of Doom. Even
though BGT shaves lots of time off programming games etc you still
have to spend some time writing simple programs before moving on to
bbigger more complex ones.

Cheers!


On 12/18/10, Ben gamehead...@aol.co.uk wrote:
 all of you lot,
 lol.  i'm thinking of creating a project that has gone for 3 years without a
 hint of activity programming wise.  trouble is, i don't know where to begin.
 i've read bgt's manual around 30 times and i still don't know where to
 start.  i've been writing the game's story though, so thats someting...

---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Programming Games was Re: Response From Bavisoft To MyInquiry

2010-12-18 Thread Thomas Ward
Hi Hayden,

There is actually a huge difference in object oriented programming in
procedural programming. Unfortunately, this is going to be tough
explaining it in a way that gets the point across without getting too
technical, and I can't explain it without showing you a bit of code
for comparison. So bare with me.

In Procedural programming most of your functions, variables, etc will
be in the public/global scope. For example, at the top of your program
you might declare a number of global variables and then use those
variables in a function something like this.

// Declare global enemy variables
float g_enemyDirection = 0;
int g_enemyHealth = 0;
bool g_enemyKilled = false;
float g_enemyX = 0;
float g_enemyY = 0;
float g_enemyZ = 0;

// Declare global player variables
float g_playerDirection = 0;
int g_playerHealth = 0;
bool g_playerKilled = false;
float g_playerX = 0;
float g_playerY = 0;
float g_playerZ = 0;

// Name: StartGame (void).
// Description: Resets the global variables and
// starts the game.
void StartGame ()
{

// Initialize enemy
g_enemyDirection = 180;
g_enemyHealth = 100;
g_enemyKilled = false;
g_enemyX = 50;
g_enemyY = 1;
g_enemyZ = 75;

// Initialize player
g_playerDirection = 0;
g_playerHealth = 100;
g_playerKilled = false;
g_playerX = 50;
g_playerY = 1;
g_playerZ = 25;
}

What we basically did above is create several global enemy and player
variables and then initialized them in or StartGame() function or
procedure.  This style of programming is called procedural programming
because instead of classifying these variables as belonging to a
specific type of person, place, or thing they are simply globally
added to the stack and used free style. For short programs this style
of programming is okay, but it is also very simplistic. There is a
more advanced and better way to design our program, and that is called
object oriented programming.

In object oriented programming we stop thinking of our enemy and
player as a set of global variables and start thinking of them as
specific objects. We begin thinking of our variables and functions as
members belonging to a type of object. In other words we begin
breaking our program down into specific people, places, and things. We
begin to organize both our variables and functions down as to
belonging to these people, places, and things and classifying them
that way. The advantage of doing it this way is we only need do it
once, and regardless how many times you use the class to create a new
object you will use the exact same functions and variables over and
over again. Here is a simple rewrite of the code above using oop.

// Declare a player class structure
// to declare our player type variables
class Player
{

public: // Public class members

float Direction;
int Health;
bool Killed;
float X;
float Y;
float z;
};

// Declare game player objects
Player g_enemy;
Player g_player;

// Name: StartGame (void).
// Description: Initializes the player objects
// and starts a new game.
void StartGame ()
{

// Initialize enemy objects
g_enemy.Direction = 180;
g_enemy.Health = 100;
g_enemy.Killed = false;
g_enemy.X = 50;
g_enemy.Y = 1;
g_enemy.Z = 75;

// Initialize player objects
g_player.Direction = 0;
g_player.Health = 100;
g_player.Killed = false;
g_player.X = 50;
g_player.Y = 1;
g_player.Z = 25;
}

So what is the big deal? Lots of things. For starts as you might have
noticed after I created the player class both the enemy and player
objects shared the same direction, health, killed, x, y, and z
variables. This is possible because when you declare a new object of
type Player it actually creates a new set of variables for that object
on the heap behind the scenes. This means you only have to declare
your variables only once and use them  for every object of type Player
that exists in your program. This way you can easily create anything
from a single object of type Player to 100 objects of type Player. It
doesn't really matter because you created a class structure to handle
an unlimited number of game players. With procedural programming if
you want 100 game players you will have to create 100 identical global
variables for 100 players manually, or use a type of structure called
a struct which is something like a class. Which brings us to our
second advantage of object oriented programming.

With a struct it allows C/C++ procedural programmers a type of object
oriented programming, but it is still limited. With structs all of the
variables are public as I did in my sample class as above, and structs
can not be inherited or extended. Both are serious disadvantages that
object oriented programming resolves.

In object oriented programming class members can be either public,
protected, or private. This has huge advantages over a struct or
global variables used in procedural programming because you can set
the access level of a member function or 

Re: [Audyssey] Programming Games was Re: Response From Bavisoft To MyInquiry

2010-12-18 Thread Ben
its not that.  i mean i tried to start small but didn't know where to
begin.,

-Original Message-
From: gamers-boun...@audyssey.org [mailto:gamers-boun...@audyssey.org] On
Behalf Of Thomas Ward
Sent: 18 December 2010 14:35
To: Gamers Discussion list
Subject: Re: [Audyssey] Programming Games was Re: Response From Bavisoft To
MyInquiry

Hi Ben,

Any time you learn something new like a programming language always
start out small before moving on to bigger projects.  For example,
when I was taking C++ in college we didn't start out with something
like a calculator or similar app we started with a simple Hello
World program and went from there. We wrote hundreds of small
practice programs that demonstrated some aspect of the language before
pulling all that together to write something like a simple ATM
machine, calculator, sample Cash Register program, whatever. So
instead of thinking of some big complex game like a real time Star
Wars game or another Shades of Doom think about writing small practice
programs like Guess the Number or an Eight Ball program that
demonstrates some aspect of the language before working your way upt
to that end project. That's the only way you will ever learn to know
when or where to start.

I'll say this. I've been oon the internet for several years and have
shared my insightes with a lot of people. The most common problem I
find with people interested in programming is a distinct lack of
patients. They want to pick up a book like Teach Yourself C++ in 21
Days, and expectt to start writing something as complex as Shades of
Doom the next day. That's just unrealistic. There are so many aspects
of the language they need to master before they get from point A to
point B that it may mean months of practical general purpose
programming, and writing simple programs before they have enough skill
to even attempt at writing anything remotely like Shades of Doom. Even
though BGT shaves lots of time off programming games etc you still
have to spend some time writing simple programs before moving on to
bbigger more complex ones.

Cheers!


On 12/18/10, Ben gamehead...@aol.co.uk wrote:
 all of you lot,
 lol.  i'm thinking of creating a project that has gone for 3 years without
a
 hint of activity programming wise.  trouble is, i don't know where to
begin.
 i've read bgt's manual around 30 times and i still don't know where to
 start.  i've been writing the game's story though, so thats someting...

---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to
gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Programming Games was Re: Response From Bavisoft To MyInquiry

2010-12-18 Thread Hayden Presley
Hi Ben,
Get in touch with me; I may not be the local BGtexpert (wink at Phillip) but
I may be able to halp you with small er projects.

Best Regards,
Hayden


-Original Message-
From: gamers-boun...@audyssey.org [mailto:gamers-boun...@audyssey.org] On
Behalf Of Ben
Sent: Saturday, December 18, 2010 3:23 PM
To: 'Gamers Discussion list'
Subject: Re: [Audyssey] Programming Games was Re: Response From Bavisoft To
MyInquiry

its not that.  i mean i tried to start small but didn't know where to
begin.,

-Original Message-
From: gamers-boun...@audyssey.org [mailto:gamers-boun...@audyssey.org] On
Behalf Of Thomas Ward
Sent: 18 December 2010 14:35
To: Gamers Discussion list
Subject: Re: [Audyssey] Programming Games was Re: Response From Bavisoft To
MyInquiry

Hi Ben,

Any time you learn something new like a programming language always
start out small before moving on to bigger projects.  For example,
when I was taking C++ in college we didn't start out with something
like a calculator or similar app we started with a simple Hello
World program and went from there. We wrote hundreds of small
practice programs that demonstrated some aspect of the language before
pulling all that together to write something like a simple ATM
machine, calculator, sample Cash Register program, whatever. So
instead of thinking of some big complex game like a real time Star
Wars game or another Shades of Doom think about writing small practice
programs like Guess the Number or an Eight Ball program that
demonstrates some aspect of the language before working your way upt
to that end project. That's the only way you will ever learn to know
when or where to start.

I'll say this. I've been oon the internet for several years and have
shared my insightes with a lot of people. The most common problem I
find with people interested in programming is a distinct lack of
patients. They want to pick up a book like Teach Yourself C++ in 21
Days, and expectt to start writing something as complex as Shades of
Doom the next day. That's just unrealistic. There are so many aspects
of the language they need to master before they get from point A to
point B that it may mean months of practical general purpose
programming, and writing simple programs before they have enough skill
to even attempt at writing anything remotely like Shades of Doom. Even
though BGT shaves lots of time off programming games etc you still
have to spend some time writing simple programs before moving on to
bbigger more complex ones.

Cheers!


On 12/18/10, Ben gamehead...@aol.co.uk wrote:
 all of you lot,
 lol.  i'm thinking of creating a project that has gone for 3 years without
a
 hint of activity programming wise.  trouble is, i don't know where to
begin.
 i've read bgt's manual around 30 times and i still don't know where to
 start.  i've been writing the game's story though, so thats someting...

---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to
gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to
gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Programming Games was Re: Response From Bavisoft To MyInquiry

2010-12-18 Thread Hayden Presley
Hi Thomas,
Yes, I think that answers my question. And thanks for answering another
question I hadn't asked...I had beenwondering about the difference between
structs and classes.

Best Regards,
Hayden


-Original Message-
From: gamers-boun...@audyssey.org [mailto:gamers-boun...@audyssey.org] On
Behalf Of Thomas Ward
Sent: Saturday, December 18, 2010 10:05 AM
To: Gamers Discussion list
Subject: Re: [Audyssey] Programming Games was Re: Response From Bavisoft To
MyInquiry

Hi Hayden,

There is actually a huge difference in object oriented programming in
procedural programming. Unfortunately, this is going to be tough
explaining it in a way that gets the point across without getting too
technical, and I can't explain it without showing you a bit of code
for comparison. So bare with me.

In Procedural programming most of your functions, variables, etc will
be in the public/global scope. For example, at the top of your program
you might declare a number of global variables and then use those
variables in a function something like this.

// Declare global enemy variables
float g_enemyDirection = 0;
int g_enemyHealth = 0;
bool g_enemyKilled = false;
float g_enemyX = 0;
float g_enemyY = 0;
float g_enemyZ = 0;

// Declare global player variables
float g_playerDirection = 0;
int g_playerHealth = 0;
bool g_playerKilled = false;
float g_playerX = 0;
float g_playerY = 0;
float g_playerZ = 0;

// Name: StartGame (void).
// Description: Resets the global variables and
// starts the game.
void StartGame ()
{

// Initialize enemy
g_enemyDirection = 180;
g_enemyHealth = 100;
g_enemyKilled = false;
g_enemyX = 50;
g_enemyY = 1;
g_enemyZ = 75;

// Initialize player
g_playerDirection = 0;
g_playerHealth = 100;
g_playerKilled = false;
g_playerX = 50;
g_playerY = 1;
g_playerZ = 25;
}

What we basically did above is create several global enemy and player
variables and then initialized them in or StartGame() function or
procedure.  This style of programming is called procedural programming
because instead of classifying these variables as belonging to a
specific type of person, place, or thing they are simply globally
added to the stack and used free style. For short programs this style
of programming is okay, but it is also very simplistic. There is a
more advanced and better way to design our program, and that is called
object oriented programming.

In object oriented programming we stop thinking of our enemy and
player as a set of global variables and start thinking of them as
specific objects. We begin thinking of our variables and functions as
members belonging to a type of object. In other words we begin
breaking our program down into specific people, places, and things. We
begin to organize both our variables and functions down as to
belonging to these people, places, and things and classifying them
that way. The advantage of doing it this way is we only need do it
once, and regardless how many times you use the class to create a new
object you will use the exact same functions and variables over and
over again. Here is a simple rewrite of the code above using oop.

// Declare a player class structure
// to declare our player type variables
class Player
{

public: // Public class members

float Direction;
int Health;
bool Killed;
float X;
float Y;
float z;
};

// Declare game player objects
Player g_enemy;
Player g_player;

// Name: StartGame (void).
// Description: Initializes the player objects
// and starts a new game.
void StartGame ()
{

// Initialize enemy objects
g_enemy.Direction = 180;
g_enemy.Health = 100;
g_enemy.Killed = false;
g_enemy.X = 50;
g_enemy.Y = 1;
g_enemy.Z = 75;

// Initialize player objects
g_player.Direction = 0;
g_player.Health = 100;
g_player.Killed = false;
g_player.X = 50;
g_player.Y = 1;
g_player.Z = 25;
}

So what is the big deal? Lots of things. For starts as you might have
noticed after I created the player class both the enemy and player
objects shared the same direction, health, killed, x, y, and z
variables. This is possible because when you declare a new object of
type Player it actually creates a new set of variables for that object
on the heap behind the scenes. This means you only have to declare
your variables only once and use them  for every object of type Player
that exists in your program. This way you can easily create anything
from a single object of type Player to 100 objects of type Player. It
doesn't really matter because you created a class structure to handle
an unlimited number of game players. With procedural programming if
you want 100 game players you will have to create 100 identical global
variables for 100 players manually, or use a type of structure called
a struct which is something like a class. Which brings us to our
second advantage of object oriented programming.

With a struct it allows C/C++ procedural programmers a type of object
oriented

Re: [Audyssey] Programming Games was Re: Response From Bavisoft To MyInquiry

2010-12-16 Thread Damien Pendleton

Hi Kelly,
To be honest, in my opinion, source code is very scarce, few and far between 
as far as audio games are concerned. The source code that generally is 
available is coded in Visual Basic 6, most of that is either rather messy or 
very simple and in my experience doesn't teach a lot of important concepts, 
especially on major projects.
To give you an example, I have the VB6 source code to Danger City, Self 
Destruct, Giftanum, Chopper Patrol, and of course my own games. However, 
most of them games are demonstrating the same concepts, I.E. how to use 
timers and simple sound panning. The really major ones that touch on more 
important concepts like environments, sound panning based on the player's 
position in relation to other characters and objects within the game world, 
level mappings and AI's tend to be the more messy ones.
In my opinion the best resource for open source/example games are currently 
those available on the BGT page and forums, and certainly if anybody needs 
any BGT help I'm willing to help in whatever ways I can.

Regards,
Damien.





- Original Message - 
From: Kelly Sapergia ksaper...@sasktel.net

To: gamers@audyssey.org
Sent: Friday, December 17, 2010 12:21 AM
Subject: [Audyssey] Programming Games was Re: Response From Bavisoft To 
MyInquiry




Hi Tiffany,

I agree with Dark. I think it's best to learn and experiment with a 
programming language, or anything for that matter, before starting to work 
on a major project. For a long time now, I've been interested in writing 
text adventure games (just for myself), but it took awhile before I found 
a language I liked to code in. With that in mind, I also think it's always 
good to look at as much source code as possible to see how an author 
programs something in a certain way.


Hope this helps.

Yours Sincerely,
Kelly John Sapergia
For information regarding my Internet radio shows, links to my favorite 
sites, and more, visit my personal website at http://www.ksapergia.net/.
If you need jingles, voiceovers and music for your project at an 
affordable price, visit KJS Productions at: 
http://www.kjsproductions.com/.



---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to 
gamers-unsubscr...@audyssey.org.

You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the 
list,
please send E-mail to gamers-ow...@audyssey.org. 



---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Programming Games was Re: Response From Bavisoft To MyInquiry

2010-12-16 Thread Thomas Ward
Hi,

Not only that but Jason, I think his name was, who wrote most of those
games was in no way a professional developer. I looked at the source
code for Giftenum one time and almost fainted it was that bad. I
wouldn't exactly recommend it for a beginner on that grounds alone.


Bottom line, the point I want to stress is if you are going to read
someone else's source code, learn from it, you really need to be sure
the person who wrote the sample really knows what he or she is doing.
Most audio games here are written by self-taught individuals rather
than professionals. In some cases that can be a bad thing as they may
teach a new programmer bad habbits, bad coding practices, that a
professional wouldn't recommend. A developer might, for example, use a
procedural programming design when an object oriented design would be
far more effective and manageable for that project.

Plus as has been pointed a lot of the free open source accessible
games out there like Chopper Patrol, Guess the Number, whatever are
written for Visual Basic 6. That is a very bad place to start. Visual
Basic 6 is essentially a dead language, is no longer supported, and
was designed for Windows 98 era computers.  Anyone seriously thinking
of supporting Windows 7 and beyond needs to think about a different
programming language. If they want to still use Visual Basic they need
to at least use VB .NET 2008 and update their skills to the new
language and the .NET platform. There is no excuse why our existing
game developers and new game developers should continue using outdated
software to create audio games.

Cheers!



On 12/16/10, Damien Pendleton dam...@x-sight-interactive.net wrote:
 Hi Kelly,
 To be honest, in my opinion, source code is very scarce, few and far between
 as far as audio games are concerned. The source code that generally is
 available is coded in Visual Basic 6, most of that is either rather messy or
 very simple and in my experience doesn't teach a lot of important concepts,
 especially on major projects.
 To give you an example, I have the VB6 source code to Danger City, Self
 Destruct, Giftanum, Chopper Patrol, and of course my own games. However,
 most of them games are demonstrating the same concepts, I.E. how to use
 timers and simple sound panning. The really major ones that touch on more
 important concepts like environments, sound panning based on the player's
 position in relation to other characters and objects within the game world,
 level mappings and AI's tend to be the more messy ones.
 In my opinion the best resource for open source/example games are currently
 those available on the BGT page and forums, and certainly if anybody needs
 any BGT help I'm willing to help in whatever ways I can.
 Regards,
 Damien.


---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Programming Games was Re: Response From Bavisoft To MyInquiry

2010-12-16 Thread Hayden Presley
Hi Thomas
If I may ask...what is the difference between Object Oriented and
Proceederal programming?

Best Regards,
Hayden

-Original Message-
From: gamers-boun...@audyssey.org [mailto:gamers-boun...@audyssey.org] On
Behalf Of Thomas Ward
Sent: Thursday, December 16, 2010 7:12 PM
To: Gamers Discussion list
Subject: Re: [Audyssey] Programming Games was Re: Response From Bavisoft To
MyInquiry

Hi,

Not only that but Jason, I think his name was, who wrote most of those
games was in no way a professional developer. I looked at the source
code for Giftenum one time and almost fainted it was that bad. I
wouldn't exactly recommend it for a beginner on that grounds alone.


Bottom line, the point I want to stress is if you are going to read
someone else's source code, learn from it, you really need to be sure
the person who wrote the sample really knows what he or she is doing.
Most audio games here are written by self-taught individuals rather
than professionals. In some cases that can be a bad thing as they may
teach a new programmer bad habbits, bad coding practices, that a
professional wouldn't recommend. A developer might, for example, use a
procedural programming design when an object oriented design would be
far more effective and manageable for that project.

Plus as has been pointed a lot of the free open source accessible
games out there like Chopper Patrol, Guess the Number, whatever are
written for Visual Basic 6. That is a very bad place to start. Visual
Basic 6 is essentially a dead language, is no longer supported, and
was designed for Windows 98 era computers.  Anyone seriously thinking
of supporting Windows 7 and beyond needs to think about a different
programming language. If they want to still use Visual Basic they need
to at least use VB .NET 2008 and update their skills to the new
language and the .NET platform. There is no excuse why our existing
game developers and new game developers should continue using outdated
software to create audio games.

Cheers!



On 12/16/10, Damien Pendleton dam...@x-sight-interactive.net wrote:
 Hi Kelly,
 To be honest, in my opinion, source code is very scarce, few and far
between
 as far as audio games are concerned. The source code that generally is
 available is coded in Visual Basic 6, most of that is either rather messy
or
 very simple and in my experience doesn't teach a lot of important
concepts,
 especially on major projects.
 To give you an example, I have the VB6 source code to Danger City, Self
 Destruct, Giftanum, Chopper Patrol, and of course my own games. However,
 most of them games are demonstrating the same concepts, I.E. how to use
 timers and simple sound panning. The really major ones that touch on more
 important concepts like environments, sound panning based on the player's
 position in relation to other characters and objects within the game
world,
 level mappings and AI's tend to be the more messy ones.
 In my opinion the best resource for open source/example games are
currently
 those available on the BGT page and forums, and certainly if anybody needs
 any BGT help I'm willing to help in whatever ways I can.
 Regards,
 Damien.


---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to
gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.