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.

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.

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.

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.

When you ask a question, be prepared to tell us: what have you tried? If you think you don't need to try anything, we will never be interested in helping you. If you agree with the link, and you refuse to answer that question, you are being a hypocrite.

Need help with broken code? Your question should be like a good bug report: (1) It has the smallest number of steps to reproduce the problem you see (2) It tells us precisely what you expected to see and (3) It tells us what you saw and how it differed from what you expected. We need all three to help you.Want better answers? Tell us what you Googled for and what steps you took to answer your own question.

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.

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?

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.

When you ask a question, be prepared to tell us: what have you tried? If you think you don't need to try anything, we will never be interested in helping you. If you agree with the link, and you refuse to answer that question, you are being a hypocrite.

Need help with broken code? Your question should be like a good bug report: (1) It has the smallest number of steps to reproduce the problem you see (2) It tells us precisely what you expected to see and (3) It tells us what you saw and how it differed from what you expected. We need all three to help you.Want better answers? Tell us what you Googled for and what steps you took to answer your own question.

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?

Going back to Java, Does this quote from my host mean it will still be possible to create an online multiplayer game using Java?

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.

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

Depends on the operating system. In windows, you double click the exe...

When coding with C# does the server have to have the .NET Framework on?

If the server is trying to run C# code, it will need the .NET frameworks that correspond to whatever the code requires.

I don't know about getting C# and XNA to work together. Haven't worked with XNA at all. XNA is just another library of code. You should be able to manually add in the references in C# to the XNA libraries, and then make use of them. I don't know the details, and that's really up to you to research. Before you can use XNA, you should be able to work with C# anyway.

When you ask a question, be prepared to tell us: what have you tried? If you think you don't need to try anything, we will never be interested in helping you. If you agree with the link, and you refuse to answer that question, you are being a hypocrite.

Need help with broken code? Your question should be like a good bug report: (1) It has the smallest number of steps to reproduce the problem you see (2) It tells us precisely what you expected to see and (3) It tells us what you saw and how it differed from what you expected. We need all three to help you.Want better answers? Tell us what you Googled for and what steps you took to answer your own question.