Game Development
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me
Go Back   Dev Shed ForumsProgramming LanguagesGame Development

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old November 25th, 2007, 10:22 AM
Agri Agri is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Nov 2007
Posts: 72 Agri User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 Day 11 h 15 m 14 sec
Reputation Power: 1
Some basic questions.

Hello,

I know you guys probably get these questions asked about 100 times.

I have intermediate knowledge of PHP and MySQL and am pretty competent in both areas. I would be quite interested in creating a small 3D online game (nothing big). Preferably with multi-player capabilities. I know i can probably work out how to store session data and all that jazz using MySQL and php.

I have searched around for a while and read posts in these forums. I have worked out that there are many languages you can use to generate such a game. I take it you cant use php as it is browser side, yes? So basically I'm asking- What language do i use that is going to be a bit like PHP, i have read through Java tutorials, looks pretty nice.

Also i would quite like to know where to start, any good resources? and i take i will be fine with an Apache server, adobe photoshop and a text editor.

Thanks in advance.

Reply With Quote
  #2  
Old November 25th, 2007, 04:52 PM
BioSlayer's Avatar
BioSlayer BioSlayer is offline
C# Addict.
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Sep 2004
Location: Earth
Posts: 283 BioSlayer User rank is Sergeant (500 - 2000 Reputation Level)BioSlayer User rank is Sergeant (500 - 2000 Reputation Level)BioSlayer User rank is Sergeant (500 - 2000 Reputation Level)BioSlayer User rank is Sergeant (500 - 2000 Reputation Level)BioSlayer User rank is Sergeant (500 - 2000 Reputation Level) 
Time spent in forums: 4 Days 8 h 52 m 11 sec
Reputation Power: 22
You most likely won’t have a single line of PHP in a project like this.

You will want to learn about Direct3D or OpenGl or the plethora of engines that do rendering for games. Then you will need to learn about TCP/IP or UDP to do communication between your client and server.

You have a lot of learning to do.

Personally I would use the C# language and then use XNA.
Comments on this post
zynder agrees!
__________________
There are none so blind as those who will not see. — Jonathan Swift

My 2D Physics Engine.
My Remake of UQM.
Both are written in C#.

Reply With Quote
  #3  
Old November 26th, 2007, 01:31 AM
Agri Agri is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Nov 2007
Posts: 72 Agri User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 Day 11 h 15 m 14 sec
Reputation Power: 1
Okay, i always thought opengl was on a machine an not on the web, so i could develop a small 3d game using c#. That was a slight relife as i was focused on using java untill i read a article by my host saying that you cant use server side java.

I had a look at the xna website, and it looks pretty good. It goes on about creating games for windows and xbox360 but what about online? and would the xpress edition do.

Thanks i will look into them,

Reply With Quote
  #4  
Old November 26th, 2007, 10:47 AM
Oler1s Oler1s is online now
Contributing User
Dev Shed Intermediate (1500 - 1999 posts)
 
Join Date: Jul 2006
Posts: 1,540 Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level) 
Time spent in forums: 4 Weeks 1 Day 23 h 58 m 2 sec
Reputation Power: 471
It seems you don’t entirely understand the constraints you need to work with. Your game description effectively boils down to 3D, online multiplayer. That’s not much, but it still gives you some immediate constraints. Start with 3D.

3D graphics means you need to have the client computer rendering the graphics. The two graphics libraries in support by hardware are OpenGL and DirectX. Therefore, you must be using a programming language that either directly or indirectly has access to those libraries. C# gets you access to managed DirectX, and XNA is a set of game development libraries that will make your life easier. It isn’t your only option. C, C++, Java, and a number of other languages with OpenGL bindings are usable.

You can’t have 3D graphics being rendered on a server and then being sent to multiple client computers in realtime. Technology right now does not work that way. However, if you want online multiplayer, you need a server component that all the clients can connect to.

Which basically you means you need a server and some logic. Since this is probably realtime logic, you ideally want a continously running program that acts as the server. This can be in any language that handles networking. C#, Java, C, C++, etc. etc. all work.
__________________
C/C++: Books, C FAQ, C++ FAQ, C/C++ Reference.
Python: Website, Beautiful Soup.

Reply With Quote
  #5  
Old November 26th, 2007, 11:03 AM
Agri Agri is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Nov 2007
Posts: 72 Agri User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 Day 11 h 15 m 14 sec
Reputation Power: 1
Ok, i have got my self "Microsoft Visual C# Developer 2008 Express Edition", must say it does look quite powerful and the language and syntax seem quite similar to php which is an advantage. I am following some of the tutorials on the XNA website, but one you have the object working on the machine how do i get it working on the web, and i take it i will need an IIS server?

Thanks very much for you advice, its really pointed me in the right direction.

Reply With Quote
  #6  
Old November 26th, 2007, 11:08 AM
Agri Agri is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Nov 2007
Posts: 72 Agri User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 Day 11 h 15 m 14 sec
Reputation Power: 1
Quote:
you need a server component that all the clients can connect to.


Hello, when you say this does this mean some form of hardware that needs to be installed on the server. Because im on a shared hosting and i cant install hardware like the.

Reply With Quote
  #7  
Old November 26th, 2007, 11:09 AM
zynder's Avatar
zynder zynder is offline
Not much of a contributor
Dev Shed Novice (500 - 999 posts)
 
Join Date: Aug 2006
Location: Hidden
Posts: 820 zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)  Folding Points: 153813 Folding Title: Super Ultimate Folder - Level 1Folding Points: 153813 Folding Title: Super Ultimate Folder - Level 1Folding Points: 153813 Folding Title: Super Ultimate Folder - Level 1Folding Points: 153813 Folding Title: Super Ultimate Folder - Level 1Folding Points: 153813 Folding Title: Super Ultimate Folder - Level 1Folding Points: 153813 Folding Title: Super Ultimate Folder - Level 1
Time spent in forums: 1 Week 3 Days 1 h 31 m 31 sec
Reputation Power: 647
Send a message via Yahoo to zynder
It's a server-client environment. Oler1s explained it most. C# can handle it.

3d online environment only sends small packets of data that includes personal info say for example on a map like character status, coordinates, buddy lists over TCP/IP and UDP for chat messages.

Reply With Quote
  #8  
Old November 26th, 2007, 11:11 AM
Agri Agri is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Nov 2007
Posts: 72 Agri User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 Day 11 h 15 m 14 sec
Reputation Power: 1
Thanks, Sigh of relief! Okay looks like a better get learning some C#.

Reply With Quote
  #9  
Old November 26th, 2007, 11:15 AM
zynder's Avatar
zynder zynder is offline
Not much of a contributor
Dev Shed Novice (500 - 999 posts)
 
Join Date: Aug 2006
Location: Hidden
Posts: 820 zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)zynder User rank is Brigadier General (60000 - 70000 Reputation Level)  Folding Points: 153813 Folding Title: Super Ultimate Folder - Level 1Folding Points: 153813 Folding Title: Super Ultimate Folder - Level 1Folding Points: 153813 Folding Title: Super Ultimate Folder - Level 1Folding Points: 153813 Folding Title: Super Ultimate Folder - Level 1Folding Points: 153813 Folding Title: Super Ultimate Folder - Level 1Folding Points: 153813 Folding Title: Super Ultimate Folder - Level 1
Time spent in forums: 1 Week 3 Days 1 h 31 m 31 sec
Reputation Power: 647
Send a message via Yahoo to zynder
Yeah, but working with client and server environment is a bit tricky. It's like working on two projects at the same time. The interaction between is the key. Goodluck on your project.

Reply With Quote
  #10  
Old November 26th, 2007, 11:17 AM
Oler1s Oler1s is online now
Contributing User
Dev Shed Intermediate (1500 - 1999 posts)
 
Join Date: Jul 2006
Posts: 1,540 Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level) 
Time spent in forums: 4 Weeks 1 Day 23 h 58 m 2 sec
Reputation Power: 471
Quote:
but one you have the object working on the machine how do i get it working on the web, and i take it i will need an IIS server?
You’re still thinking in terms of PHP, where you write scripts and place them in a server directory. Let me give you a situation, and let’s hope it changes your paradigm.

You have IIS, but don’t feel like using it. What if you have to write your own web server? Do you understand what I’m getting at here?

Quote:
when you say this does this mean some form of hardware that needs to be installed on the server. Because im on a shared hosting and i cant install hardware like the.
No, I mean you need a program that acts as the server. Your shared hosting is probably useless. They allow for things like PHP, Perl, and have a few databases. You need to outright run a program.

Ever play the game counter strike? Or battlefield 2? Or whatever hot MP game is out there. Do you have stuff running on IIS or Apache or whatever? No. You have the game. And when you want to play multiplayer, you connect to a server which is really a computer running a program continuously. That program manages all the clients that connect to it.

Reply With Quote
  #11  
Old November 26th, 2007, 11:31 AM
Agri Agri is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Nov 2007
Posts: 72 Agri User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 Day 11 h 15 m 14 sec
Reputation Power: 1
Ok, i think i get that part of it. But if i simplify my question right down it comes to -

Where/how do i run the file that generates the gameplay on the shared server?

By watching the tutorial videos on the XNA website i can see that you build the file which loads models and textures etc. but im am confused about how to run it.

I understand that the whole multi player situation is people connecting to the server. But i don't want to get ahead of myself and confuse myself.

Reply With Quote
  #12  
Old November 26th, 2007, 12:18 PM
Agri Agri is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Nov 2007
Posts: 72 Agri User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 Day 11 h 15 m 14 sec
Reputation Power: 1
When coding with C# does the server have to have the .NET Framework on?

Reply With Quote
  #13  
Old November 26th, 2007, 01:44 PM
Agri Agri is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Nov 2007
Posts: 72 Agri User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 Day 11 h 15 m 14 sec
Reputation Power: 1
Hmm, i dont think i will be able to use XNA as it requires the following

"Microsoft Visual C# 2005 Express Edition" GOT
"Microsoft Visual Studio 2005 Express Editions Service Pack 1"

This is the problem, i download this and when i run it it says its not a valid win 32 thing. So what do i do i have the c# and the XNA but i need the service pack and it wont install without it. I just says you need Visual C# 2005 Express Edition Service pack 1. But that wont install?

Reply With Quote
  #14  
Old November 26th, 2007, 03:27 PM
Agri Agri is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Nov 2007
Posts: 72 Agri User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 Day 11 h 15 m 14 sec
Reputation Power: 1
Going back to Java, Does this quote from my host mean it will still be possible to create an online multiplayer game using Java?

Quote:
Originally Posted by http://www.streamlinesupport.net/index.php?page=show&id=95&subid=61&catid=7
Java is a programming language expressly designed for use in the distributed environment of the Internet. It was designed to have the "look and feel" of the C++ language, but it is simpler to use than C++ and enforces an object-oriented programming model. Java can be used to create complete applications that may run on a single computer or be distributed among servers and clients in a network. It can also be used to build a small application module or applet for use as part of a Web page. Applets make it possible for a Web page user to interact with the page.

Unfortunately you are unable to use java on the server side as it is not supported, however you are able to use Java Applets which is Client side, for further information on Java Applets have a look at support pages and search for Java Applets.

Reply With Quote
  #15  
Old November 26th, 2007, 03:30 PM
Oler1s Oler1s is online now
Contributing User
Dev Shed Intermediate (1500 - 1999 posts)
 
Join Date: Jul 2006
Posts: 1,540 Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Oler1s User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)