Creating a Game Website

From GPWiki
Jump to: navigation, search

Introduction

Content

How?

When you look at a website, you see a nice, polished, pretty page. What you may not be aware of is that that page is actually made up of a text file with the actual textual contents of the page within it, but also with codes that are interpreted by a web browser to do things like changing text formatting, setting a page title, and putting an image in the page.

From Scratch

The hardest method of page creation, but probably the most rewarding and the one that gives you the most control over what you are doing, is simply writing the codes by hand. This means that the web designer will have to learn at least the basics of HTML/XHTML. But there are tons of tutorials and other resources available on the internet to learn, and it really is extremely simple to do. Anyone who has had experience programming (Which we could presume because of their reading this tutorial) then they shouldn't have any trouble learning this.

For a list of resources, see the External Links section.

WYSIWYG

WYSIWYG is a very weird acronym standing for "What you see is what you get." When used pertaining to web design, it refers to a class of programs which use an interface similar to that of a word processor like Microsoft Word, but much more advanced. They then take a completed page and transform it to an HTML page. Obviously, this takes a lot of work off of the web designer, but it can also create limitations. A particular editor may not support a desired feature, or may output code that doesn't comply to standards and pass validation (See the next section). But a skilled web designer should be able to fix any problems by editing the outputted code. Unfortunately, many users of WYSIWYG editors never learn to do what the WYSIWYG editor does without using it.

For a list of WYSIWYG editors, see the External Links section.

Design

This section is extremely important to new web designers. One of the main responsibilities of a web designer is creating pages that are easy and enjoyable to read. Otherwise, nobody will want to read your website.

Good Taste

When designing a page, it is of the utmost importance to make it adhere to good taste. This means different things to different people, but the generally accepted definition of web design etiquette is simply being unobnoxious, easy to read, and accessible. This means, among many, many other things:

  • DO NOT use extremely vivid colors.
  • DO NOT use background colors and text colors that are similar.
  • DO NOT use busy background images.
  • DO NOT use excessive pictures.
  • DO NOT use excessive animated gifs.
  • DO NOT use excessive Java applets, embedded flash programs, etc.
  • DO NOT use JavaScript "toys": mouse followers, snow, etc.
  • DO NOT use pop-up windows.
  • DO NOT use marquees or other features only supported by certain browsers.
  • DO NOT assume that the user is using a certain browser at a certain resolution, etc.
  • AVOID, if at all possible, loud and flashy banner or pop-up ads.
  • DO use simple, quiet, attractive color schemes.
  • DO use intuitive and simple navigation schemes.
  • DO use proper grammar, spelling, etc.

You get the idea. Of course, some of these are pretty demanding requirements for some people/websites. You do not have to follow any of them, nobody is making you. Just keep in mind that people would much rather read a site that adhered to these rules than one that didn't.


Standards Compliance

This is an area in which most websites fall short, even extremely large, well designed sites. But of course, it isn't exactly necessary. In fact, you can get by very well not worrying about standards compliance at all, but it is still part of good design to adhere to standards.

The standards for HTML and other web design markup languages are created by an organization called the W3C, or World Wide Web Consortium. (See External Links for a link) The standards are a lot stricter than most people are aware. They offer a tool called the validator that checks your code for errors and places where it doesn't comply with the standard. It is good practice to run all of your pages through the validator and fix any errors it sees. (Again, see External Links for a link to the validator)

Note that most browsers will cope with common errors in markup very well. Some even encourage them. It is just a good idea to comply with the standard.

Dynamic Pages

Up until now I have only talked about static pages. If your host supports it, you can also use dynamic pages, usually either PHP or ASP. In dynamic pages, the content has bits of script embedded in it that is executed by a special program on the server before it is sent to the client. This allows things like forums or wikis or simple dynamic features like printing the date on the page. People have even written web based games with dynamic pages.

Another option for dynamic pages is CGI, which is like PHP or ASP, except the script is usually perl or python or something. It is also a bit more difficult to set up.

It is also possible to embed JavaScript into an HTML page and have it executed by the browser. This can create simple dynamic effects on your pages.

Of course, you can get by very well with just static pages. This is just something to consider.

Hosting

The content of your website is completely worthless if it isn't on the internet. There are many things to consider when choosing a host.

Prerequisite Knowledge

As this is a game programming wiki, a few explanations are required, though many of our readers may be completely familiar with this.

When content is made, it is put on a server computer. A server is simply a computer connected to the internet that runs special server software. Very frequently, the server is assigned a domain name, such as www.google.com, www.gpwiki.org, etc. The domain name allows the server to be located from anywhere on the internet, without having to memorize the series of numbers that gives the server its identity on the internet, its IP address. When you type that name into a web browser, the web browser uses a system called DNS to attain the IP address from the domain name that you request. It then makes a connection over the internet to the computer at the IP address it got from the DNS lookup, and asks it to send whatever file you request. The server will send back the content of the page.

Now most people aren't capable, for whatever reason, of setting up a server in their home to host their site. So there are companies available that let you put your content on their servers so it is visible to everyone on the internet. These are called web hosts. Of course, in most cases, it is not without cost.

Cost

Cost is, as it is in most things, the nine-hundred pound gorilla of the matter. What you are willing to pay for hosting determines how good your hosting is. It's as plain as that. No matter what they tell you, you get what you pay for, especially in web hosting. Prices range from nothing to hundreds of dollars (USD) for dedicated servers.

Free Hosting

You can get a free web host, which are pretty easy to find on the internet. Most of these automatically inject their own advertising into your web pages, which varies in obtrusiveness depending upon the host. Other free hosts have no advertising, but they generally provide much worse features, webspace, service, etc... Free hosts are the best choice for someone who doesn't have the money for better options. I would recommend [1]. You can use MySQL, PHP, ASP, ASP.NET, and have 5500 MB space with 250GB bandwidth. All of that is free WOO!

Shared Hosting

The next step up from free hosting is shared hosting. This can cost anywhere from around two or three dollars USD per month, to maybe 30 to 50 dollars USD per month. Most webhosts will offer more than one plan fitting within this category. A shared host is basically just like a free host, but without ads, and many more features and more space and bandwidth. They just cost money. This would probably be the best choice for most people's needs, assuming they are able to pay. Just remember that even though you have no way of telling, you are sharing a server with many, many other websites. This could mean that the server's processing power and network transfer capacity might be occupied by serving other websites. Also, sometimes other hosts can interfere with things like SQL databases, and potentially create errors on your website that are not your fault.

Virtual Hosting

Virtual hosting is a bit different than the others and isn't offered by many hosts. It is sort of a cross between shared and dedicated hosting. In virtual hosting, the server machine is set up to have several independent systems running on it, each set up to host websites. When you pay for virtual hosting, you are given control over one of those independent systems. This means that you have the control you get with a dedicated host, but much less cost. Also, since you are still sharing one computer with others, your space and bandwidth will be limited as such.

Dedicated Hosting

Dedicated hosting is when an entire server is used to host your website exclusively, without any other websites on the server to use its processing power, hard drive space, bandwidth, etc. Obviously, this means a major increase in cost. Dedicated hosts can cost from 80 USD to maybe 150 USD per month. It should definitely be noted that dedicated hosting is overkill for anything other than sites for major games. In fact, at the time of writing, GPWiki is hosted on a dedicated server. The Grubby Games website and several others owned by Ryan Clark are also hosted on the same server. Occasionally when Grubby Games is mentioned on a much larger website, it receives many gigabytes of downloads in a matter of hours, and the server only experiences a barely noticeable slowdown.

Co-location

This option is a bit different from the others. Co-location, also called colocation, is when a company, sometimes an ISP, sometimes a normal webhost, allows you to bring them a server that you own and connect it to their network and their power, in exchange for a fee. The server can be sent in the mail, or sometimes if the data center is close enough to you, it can be brought there personally. Colocation fees are usually a bit less than dedicated hosting fees. The biggest advantage to colocation, is that you own the server, and thus are able to install on it whatever you want. The only limitation is the bandwidth provided by the colocator.

Features

Bandwidth

Bandwidth, sometimes called "file transfer" or something similar, is the amount of data that is allowed to be transferred through a server in a certain amount of time. This means that, for example, if you have a bandwidth limit of 10 GB per day, then people can only download ten gigabytes of data per day. What happens when that is surpassed depends upon the host and/or type of hosting service. For some websites, it may redirect to a page saying "This web page has surpassed its daily bandwidth allowance for the day. Come back tomorrow." or something similar. For other types of hosting, notably dedicated and colocation, you will be charged bandwidth overages. These can sometimes build up to very large amounts of money, so you've got to be careful to choose a service with a suitably large bandwidth allowance for your purposes.

Storage Space

Storage space is, unsurprisingly, the amount of data that is allowed to be stored on the server's hard drives. This varies from a matter of megabytes for free hosts, to many gigabytes for more expensive services. Of course, for something like colocation, you are only limited to the amount of space on your hard drives. A game website is unlikely to require any more space than that needed for a few pages and their associated resources (images, etc) and any downloadable files.

Other Features

You can probably get by with a game website made of regular, static pages. But some people might want more than that. Some hosts offer the ability to serve dynamic pages, usually either PHP or ASP. Sometimes, the hosting plan includes an SQL database that can be used in dynamic page creation. Other web hosts allow CGI scripts, usually written in perl. Some webhosts allow a feature called SSI that lets a separate file be included into a document before it is sent from the server.

Also, consider how the webhost allows you to manage the website. Some provide a web-based control panel, others have proprietary web-based upload forms. Still others provide FTP access to upload your website files. You might also consider built-in features, like forums, photo albums, shopping carts, blogs, etc. Some hosts provide an easy way to set them up on your website.

It is up to you to research these features and those offered by a prospective host and determine what you need and what you don't.

Speed

Many low quality hosts have extremely slow servers. This can be a major deterrent to visitors of your website. If it is a free host, then look for sites that are hosted on their servers already and make sure they are fast enough for you. Note, though, that server speed will probably fluctuate a lot throughout the day and depends a lot upon the site being served and the connection it is being accessed with. For more expensive hosting types, you probably don't need to worry so much. If you cant afford much use [2]. It has fast free servers.

Uptime

Uptime is the percentage of time that a web server is able to serve pages. It is not unusual for low quality servers to be down for a surprising amount of time surprisingly frequently. Hosts are likely to make claims like "99.99% Uptime!" or somesuch. But, of course, they aren't exactly unbiased. You would probably have to find a web host rating site where people who use a host report on it to find out something like uptime. But like speed, this really isn't something you need to worry too much about, it's just something to consider. If you cant afford much use [3]. It has truly 99.9% uptime. I use them all the time with no problems.

Service

Last but definitely not least, you need to consider the customer service record of the hosting company and plan. If you don't you're going to regret it when something goes wrong, and something will. The best way to reliably know what a host's service is like without actually signing up is to read about the host on a web host rating website, like was mentioned in "Uptime." Also, as in "Uptime," the host is likely to make claims about their customer service on their website, but take these with an enormous grain of salt. Service is probably one of the most important things to consider when choosing a host.

Domain Name

The article mentioned domain names earlier, and you may be wondering how you go about getting one. Typing in a long obnoxious address that the host gave your website, or even worse, an IP address, isn't exactly convenient. Also, if you need to change hosts for whatever reason, then your visitors won't even notice the change, because the domain name redirects them to the correct place. Additionally, domain names give your site a higher rank to certain search engines (including Google), and just plain look more professional. Domain names are definitely a nice thing to have, but, surprise surprise, they aren't free.

To get a domain name, you first have to register it. There are a ton of online companies that will do this for you, and your webhost even might do it. Registration usually costs in the neighborhood of ten USD per year. Also, you can't register a domain name that someone else has already registered, which could mean you can't use the domain you want. Next you have to set it up. This is out of the scope of the article and should be documented by the domain registrar.

External Links

Content Creation

"From Scratch" tutorials

WYSIWYG editors

  • Frontpage - Very common commercial WYSIWYG editor that may already be installed on a Microsoft Office package.
  • Dreamweaver - Another common commercial editor.
  • Nvu - Open source alternative

Standards Compliance

Hosting