Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 

News:



Author Topic: [Game Maker] Important things to know! (English version)  (Read 2229 times)

Ukyuu

  • **
  • Posts: 47
    • View Profile
    • Email
[Game Maker] Important things to know! (English version)
« on: May 25, 2013, 03:03:48 AM »
Hello !

I'm making this tutorials for all of people who are planing to make games. I'll be updating it frequently (since I can't possibly write it on a single streak!)

(I'll will link to this post on the forums I am as a game maker myself to receive feedback)

First of all a short explanation of what this tutorial will be about:

- Basics for creating an online game
--hosting needs & things to consider in choosing your hosting plan
--how to plane out the game's launch

-Advanced needs to make a game
--How to chose between web-browser game or web-distributed game
--Some tips to make the game interesting
« Last Edit: May 25, 2013, 09:02:10 PM by Ukyuu »

Ukyuu

  • **
  • Posts: 47
    • View Profile
    • Email
Introduction
« Reply #1 on: May 25, 2013, 03:20:15 AM »
Note that I'm not going to speak about multi-player games here, much less MMO or MMORPG, but rather about casual games that have online features such as high scores, log-in for a per-user setting with online profile as a gamer, perhaps even a FEAT table for them.

Why won't I speak of the type I specified I don't: because only handful people can create them. And those who create them better have an in-house battery of servers, or contact directly Arxive to see with them their own needs. Let's get real it takes entire teams in every and each aspect of a game's division to create them, and if you're going to make one, you certainly don't need a tutorial about how to host it and so on.

So well, this tutorial is for those of you who want to create a game that's called a casual game:
What you'll need (if you want to make one without much knowledge on game programming) are about the following:
  • Game Maker (version HTML5) or equivalent.
  • A web hosting in par with your needs (see further section)
  • Patience (tons of it actually)
  • Some knowledge in : html and either PHP or any .net web language (I will speak about C# Razor since I know this one better but people can give any other language advice and I'll add them up gladly to further the tutorial)
  • An idea of what your game will be (this tutorial will guide you from this idea to a full-fledged game later on)

If you have the following, I think you'll be ready to read this tutorial to the end.

Mourad D.

  • Shift Manager
  • *****
  • Posts: 1200
    • View Profile
Re: [Game Maker] Important things to know! (English version)
« Reply #2 on: May 25, 2013, 03:31:58 AM »
Hello,

Thank you for the post. If this is going to be some form of a friendly tutorial, I recommend that you create one on our blog site: http://blog.arvixe.com . That site is the best place for a better way of publishing a guide or tutorial and you can add images to explain the steps.

Let us know if you need further help in this regard.
Mourad Dmeiri
Shift Manager
mourad.dmeiri@arvixe.com
1-888-927-8493 [Ext.863]

Ukyuu

  • **
  • Posts: 47
    • View Profile
    • Email
Re: [Game Maker] Important things to know! (English version)
« Reply #3 on: May 25, 2013, 03:40:35 AM »
Oh thanks for telling me early! I'll see that immediately and keep this topic as a place to discuss the tutorial then.

update: I'm sorry I don't see where I can create the tutorial in this ! I'm making a ticket about this then. Tiket number is : #AXX-159-84772
« Last Edit: May 25, 2013, 05:13:01 AM by Ukyuu »

Ukyuu

  • **
  • Posts: 47
    • View Profile
    • Email
hosting needs & things to consider in choosing your hosting plan
« Reply #4 on: May 25, 2013, 03:48:52 AM »
NOTE: This is still a draft, I'm going to make a separate post where we can discuss this tutorial and change things as needed if I see something said that should be mentioned here, therefore it's not final in any way !
So you are actually willing to make either a web-browser game an online-distributed game with some online feature? Great !

Let's see if you have your checking list right:

  • Did you consider how much physical space your whole website will take?
  • Did you consider how much bandwidth your monthly traffic will take?
  • Did you consider what features you want online?
  • Did you consider what features you want local?
  • Did you consider what features you want off-game?

Those are just some of the questions you'll want to think about in making a game, but I believe they are the most relevant if you want to think about making a game... why so?

The physical space:

Through even the Personal plan is unlimited on the physical space your website takes, if you're going to do a web-browser based game, access to files such as images and third party on will be taken into account in the CPU usage and I/O usage of the game, so this will enter into account in your hosting plan's choice. There are limitations to every plan that a member of Arxive Staff kindly pointed out to me: Resource Usage Explained.

If you are working with Game Maker, you'll want to make sub-domains for your games. Also, if your game has tons and loads of sprites, background, sounds and fonts, instead of using build-in assets, you should consider loading them from external source (i.e: from a "asset" folder and sub-folders for each type of asset) which will take disk usage anytime one is loaded / shown to the user.

Note: Remind that you must multiply the bandwidth taken for those access by the number of players doing it. Saving a game will take CPU and I/O disk usage too if you upload it on a /save folder or stream it to the database as binary. Make sure that your system don't mix people's saves unless you want a angry user mobster at your doorstep!

The bandwidth:

Most of the above reasons are also valid for this, but I'll add a few things that make it worth giving a full-fledged section to the bandwidth's problematic... atop of the resources usages, there's other type of calls inside your game that will actually make bandwidth go higher:

- Log-in calls : if you send a request for check of a specific log-in / password pair; the fact it's validated or not isn't pure magic, it's because it calls up to the website and get its answer back, be it synchronous or asynchronous, the call is made, and the website answer, therefore, there will be a  bandwidth usage generated from this. I may seems insignificant if you have 1 or 10 users doing it, but if your game becomes more popular, it's going to get pretty high at some point.
- All information calls : same as with the log-in call, but on a much greater purpose, if you call for 100 or 1000 data at a time, you're making the website, the database and the bandwidth take the toll for answering, so be cautious of your system not to call for useless data. If you need the last 10 highest scores, use a "top 10" in your query, don't go asking them all, and sorting it on your application!

There are surely others, but those two are the main things that the beginners considers "not using all that much" when in fact, there is a high traffic generated from them. It's not for nothing that the biggest games have a separated log-in server from the data one, it's because it takes the toll of your game's popularity. So if you have a shared hosting, make sure that you are choosing something that can fit your game just fine.

Online features:

This is a very important question that will determine your website's structure so be extremely attentive to that question. Let's think a bit, if your game is an online-game you might think "I want everything to be online" that answer isn't really the way you should think.

By online here, we don't mean whether your game will be web-browser or not, we mean what features will make use of an online system. If your game keep on a file for itself the log-in and passwords of your user, that's not "online log-in" that just "in-game log-in". However, if, for example, your website and your game both have a common database for the log-in, then yes, this is an online feature.

This question could very well be called: what are the "external, web-accessible," features of my game?

It will lampshade whether or not you'll need a web-service, or some kind of json-communication with your game (thankfully for you game maker actually support both as well as md5 features) and determine the orientation your website will have to take.

This is very important, but at this step, you shouldn't worry about "can I make it?" but rather about "do I need it?" Why don't you care about whether you can make it? That is because there's a tons of things available in the web that will tell you how to make it possible, and I'm not as cruel as to let you down. As soon as my website is up and running for good, I'll put all the problems I faced and the solutions I was helped with online too, so people who aren't knowledgeable on the matter will be able to make their own of course.

So really, at this stage, put everything down on paper, and write carefully what you need / don't need online, and then look at each one, and determine how you can minimize the number of call to the online features yet still get your users happy and data as the need arise !

Local features

Local feature refers to whatever your game use as either build-in resource or the resources it has without transacting over the web. Even if your game is online, all that's on your game folder is local (because the website is on a physical hard drive, and those files are local from your game's physical place if they're on its same folder structure).

Log-in / password in a file that is on your game folder, it is a local feature, even if your game is web-based but Note that I clearly am AGAINST this method NO MATTER the reason, and only give this as a simple example.[/u]

For two reasons actually, it's easier to hack (all so more if the file is on people's computer) and really, that's the worst type of round-about solution you can get for a log-in system imao. That said, it's given as an example I've seen recently so this warning may prevent this from happening.

Anyways, why chose local things rather than database ones? Simple: that way you don't make a double call to your web server. Let's take the high scores:

If it's online : you are playing the game (first use of the web server) you make a call to your web service (second call of your web server) it answers you (third call) and you treat it (fourth use).

if it's local: you are playing the game (first use) you read the XML file (second call) and you display it (still enters the first use since you're not re-loading the game for that) and you write down your new high score (third call).

It makes it 3 calls instead of 4, so you gain Bandwidth and CPU usage. That may not be the best example there is but it's the simplest for people to understand about local against online.

Off-game features

This is what will be only in your game's website, it is related to your game but doesn't not pertain to it directly. The user's profile for example (unless it's used / displayed on the game) or a shop selling items related to the game (but not the cash-shop of the game since this is related to the game) the news and announces specifics (through these can be displayed in your game) and other features.

----

So well once you have these basics questions answered, you will be able to determine your bandwidth for a single game running and therefore, the CPU usage for a single running game, you will thus be able to handle your game's hosting plan safely.

With these few questions your website infrastructure will have a rough outline too, and that should give you a proper oversight of what you are going to do. At this point, you must not let yourself be discourage by the seemingly tremendous size of the task, everything looks big when you're at the beginning, but most of the tasks will be done and over before you can even get to realize it was actually done! Just tell yourself it's okay, I'll do it, because really it's worth the reward.
« Last Edit: May 25, 2013, 05:12:24 AM by Ukyuu »

Ukyuu

  • **
  • Posts: 47
    • View Profile
    • Email
Advanced needs to make a game
« Reply #5 on: May 25, 2013, 06:01:39 AM »
So here we'll discuss things a bit more generic relative to games, of course, it's not the final version of the tutorial, since I'll be awaiting questions  and so on to improve this tutorial as the need arise.

Also, as I encounter problems, I'm going to make things clearer and give the solution I chose, some other people might point out better solution that I'll put on the tutorial so people can always have the best advice possible.


Ukyuu

  • **
  • Posts: 47
    • View Profile
    • Email
How to chose between web-browser game or web-distributed game
« Reply #6 on: May 25, 2013, 06:11:15 AM »
That's both a technical and personal choice, really so I'm going to put some of the few things that can make you decide one over the other:

*What platform do you want to make your game available to?*

Of course this should be your number one question to decide one way or the other.

If you can compile your game to be available in any given platform (Windows, MAC OS, IOS, Windows Phone etc.) OR if you want it to be playable only in a few platforms that you can access to (basically your own OS platform and the windows phone since you can emulate easily for that one). Then my advice would be to chose web-distributed form of game. Why? Because your hosting needs will seriously go down. Since the game isn't hosted in your hosting account, all the local calculation will be done on your client's computer, and therefore, this is that much less stress on the web server.

On the other hand, if you want it available to all platforms without having to pay the additional licences for the other platforms and a computer for these platforms (as yes, you will need the computer for the compilations) then you will have to chose the web-browser type of game. Thankfully nowadays, and all so more with game-maker types of IDE there is no longer a big gasp with what you can do on a web-browser game and a desktop game.

*What knowledge do you possess?*

It's all good if you can easily learn things around, then you don't have to worry about anything, just chose according your preferences. But if you're someone who can't easily do things, then think carefully about what you'll be doing.

At the bare mimimum you will need to learn:

- GML (or your game-maker program's scripting language)
- A bit of HTML (for a basic website with a link to distribute a web-distributed type of game)
- How to install a pre-made forum.

If you have online feature, then things will get complicated, you'll need to learn:
- php web service
- OR .Net web service : http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api will teach you how to do that in a matters in a matters of a few hours.
- SQL and Database systems. If you're using the .Net, the tutorial above will teach you to make code that create / update / maintain the database itself without you needing to know too advanced things in it. In PHP however, there is no self-maintaining functions as far as I know.

So far I know, (I may be wrong) only Game Maker from Yoyo support well JSON queries on a build-in manner, however you will need advanced GML knowledge. Thankfully, you will have advanced help on the help file that will fully allow you to create your game and interact with your service.

With this in mind, chose whether you're going to make a web-based, or web-distributed game, and whether they'll require authentication or not.
« Last Edit: May 25, 2013, 09:06:21 PM by Ukyuu »

Scott Plunkett

  • Shift Manager
  • *****
  • Posts: 605
    • View Profile
    • Arvixe, LLC
    • Email
Re: [Game Maker] Important things to know! (English version)
« Reply #7 on: May 25, 2013, 06:29:19 AM »
Hello,

Thanks for writing this tutorial. It's greatly appreciated.

Thanks,
Scott Plunkett
Shift Manager
scott.plunkett@arvixe.com
1-888-927-8493

Ukyuu

  • **
  • Posts: 47
    • View Profile
    • Email
Re: [Game Maker] Important things to know! (English version)
« Reply #8 on: May 25, 2013, 06:48:11 AM »
If you have anything that is specific to Arxive specifications, like for example restrictions on hosting, CLUF or advises that I can also include them in it, don't hesitate to tell me about it !

Scott Plunkett

  • Shift Manager
  • *****
  • Posts: 605
    • View Profile
    • Arvixe, LLC
    • Email
Re: [Game Maker] Important things to know! (English version)
« Reply #9 on: May 25, 2013, 07:42:14 AM »
Hello,

Thanks! We'll be sure to do that.
Scott Plunkett
Shift Manager
scott.plunkett@arvixe.com
1-888-927-8493

Ukyuu

  • **
  • Posts: 47
    • View Profile
    • Email
Tips To make a good game (1) : Keep yourself in check
« Reply #10 on: May 25, 2013, 09:07:43 PM »
The one master word when you make a game is: don't overrate yourself, scale your project to your own capacities, and don't try to create the next "Doom" or a "Counter-strike like". First of because you'd have to pay more heavy of fee than you can afford from their advocates suing you, second because one person can't make these type of games, you have to be a team, a skilled team atop of that, and have to gather tons, and tons of money to pay the said team for it to work full-time on it.

A good pace for going is about 1 hour per day at least. If you can give 100% of yourself during 1 hour per day to your game, then you are going to advance. Some "game maker" tools are specific to a type of game, for example RPG-maker, some others aren't at all (IG maker) but their quality varies with the focus of the company.

Begin by small 2D games, for example the "hello world" of doing a generic game is the Tetris and is feasible in 2/3 days if you put 2 hours of real work per day into it. At first make only 1 block per 1 block fall and disappear if 3 of the same are lined up. This will teach you the required programming skills you'll need with your maker's language.

Once you're done, make a website for it, and distribute it, get your user feedback through a forum, and better it. Make more complex shape, add more color, add a "all-type" block, bombs... and some other ambush.

Once you're done with this, you'll be at ease with the basics of the physical world, make a top-down shooter: a simple plane shooting down other planes. This should take you 1 hours or so (with game maker) and advance it further. Learn to play with the axis right/left forward/backward. Same again, put it on your website, ask for people's input about this, and better it with their feedback.

Once you're done, time to make your first 2D platformed game, a guy who run on block and shoot enemies, you have all the skills and knowledge about this one since you'll have picked up the gravity system from the tetris, the shooting from the top-down shooter and the parallax background from it too.

Put it on the web, ask your players to give you input, then look better at your website, what are your players expecting regarding the website? Better all the points you can because those people who play your games on the current website are your first players, make sure they are comfortable, and treat them well, they are the ones who'll speak to the others about your games.

Take your three previous game, introduce the game-pad, (some browsers will support it some others don't, you'll learn about it from your players) make a windows version of it (or a mac version of it, or a web-browser version of it) to distribute your games more widely. Gather feedback for about a month, and you'll see that the people will come to you to tell you "I like that" or "can you fix this?" fixing bugs is a good way to improve yourself.

Be honest, if there's something that's outside of your capacity, say so to your players, honesty is important, all so more with game players who catch easily on lip service. They won't mind you saying it's clearly out of your competences for now, but they'll minds empty promises that keeps them waiting for years. Gamers are a special type of audience, they inquire TONS of TRUST and seriousness in their relationship to their game provider.

Speaking of this, I'm soon writing how to monetize your games, there are several ways, but of course, some are more appreciated than the others. For being both a gamer for years and having seen the other side of the industry, I can tell you that if your provide something fun people won't mind monetized game, however the slightest sight of abuse will create an Angry Player Mob, and you don't want that!

« Last Edit: May 26, 2013, 06:59:55 AM by Ukyuu »

Ukyuu

  • **
  • Posts: 47
    • View Profile
    • Email
Tips To make a good game (2) : The story behind the game
« Reply #11 on: May 25, 2013, 09:17:09 PM »
How to write the primary scenario for game

Note: In this section, I'll speak about how to write a story, because for most video games, you'll need a strong background story to entertain your users.

At first, of course, you get an idea. This idea can be a word (like "ice-cream") or a complete idea (a book about a murder where ice-cream is the clue to find the suspect)... I'd say that it's the easiest part of the process.

For hours and days, up to months or years for some people, the author write on a paper or other media, all the ideas he has for the story. Once he knows nothing more comes to his minds (or once the time he set off to himself have ended) he group all the ideas together, like "mass" "blunt weapon" would form a group and "stain" "blood" "ice-cream" would form another coherent group.

When this is finished, the author write a sentence for each group. For example, the weapon is a mass who is a blunt weapon and the blood stain was covered by a ice-cream stain to make it look like some normal stain.

When you're done with this, you find a few characters and you add some sense to the random sentences you have made: Julian was killed by a mass which is a blunt weapon. The murderer, Sonia, was his ex-wife and she hid the blood stain on her blue coat by an ice-cream stain with strawberry flavor so the people on the street she took to flee wouldn't know it was blood.

From this, you add a few locations. Julian was killed on his office, third floor of the Stanford Corporation headquarters, who is located remotely on the town. It had two access, one in the front street, who is a long and bright avenue and another is a small backstreet with some pubs and houses west of the front street.

Sonia, his ex-wife, live in one of the house there. A small one with a grey door, whose facade is a little dirty. She went to his office, who had white walls and big tainted glasses windows by her house's street who wasn't well lighted.

She murdered him on the right corner of the main room in his office, with one of the mass hanging in his collection. The weapon was blunt so it made the blood splash on her. She looked in the fridge and found out his favorite strawberry ice-cream, staining herself with, she covered the blood stain.

Then you look at the characters and gave them a last name, a physical appearance... and all that is needed for them to have a personality that is only theirs. At this point you have a pretty rough story but you're still months away from the final book !

Once you have finished this main phase, you introduce the secondary characters (here the maid who came to clean and found the corpse, the drunkards who will say they saw a strawberry stain on Sonia, Sonia's lover who will say she was there...), or the other primary (on our example, the detective and his team) and thus you complete your story.

From there, you make a first check yourself and add explanation on all strange details or anything the reader might not know about. (On a fantasy world, describe the spells, the creatures, the government, the economy etc.)

When this check is finished, you give the document to a proofreader. You take that checked version and you rewrite anything they changed and that you want to get back, bettering it so they would keep it on the next round. You have to make it understandable so the next proofread check, they will proofread it into a sentence that is correct on your story... don't worry, be patient, calm yourself and this phase is quite short, even if there's frequent changes that you must rewrite a lot of time, you will find the proper words if you look at what the proofreader put instead of your stuff.

The second check comes, the proofreaders (it's best if they're the same as in the first check) take your script and proofread it again. Here you have about two case who will show up. Either you have nice proofreaders that will make the book evolve and point you out that some part can't be understood due to lack of information, context and so... or you have the other type. If you have the nice ones you go on the next phase, if you have the others, just take back the document since you won't have any benefits out of the second check anyways. Ask friends to give you feedback instead.

Next step is to improve your book again. You take the comments of the proofreaders (or friends) and you write the additional missing information, describe what lacks of physical form in your book (for example, add cracks to an old building description a grayed color due to time and such) then you go next step.

Next step is the third check, where the proofreaders will correct the added content. At this point your story is about finished. Congratulations on getting your first raw story done !

But just a raw story won't do it for a game, because you'll give a physical shape to your word, you need the story to guide you a maximum on that side too so you need to take the third check and add things that are outside the scope of your idea.

For example, in the ice-cream murder book, add some memories of Sonia that were good memories. The week-end of the detective at points where you want to put some suspense to delay the delivery of an important information. Put some dialog between the drunkards at the bar they will become some background noise for your game.

Delay on a smaller scale and give life to your character by small talk, have the detective speak with the man doing the autopsy about some news, an annoying advocate who butts in the police investigation, a few reporters who want to mess up the whole thing by a flashy "ice-cream murderer case" article on their newspaper... so to say, make your world a bit more real, remember that even a king will go to toilet, breath and live.

This is a way more complete story now you need a new check of the story... once proof-read, look again into things, add details and even more importantly, add weather to your world... get it checked for a sixth time then you're about to be done with the story of your game.

Congratulation, you are done with the story !

It's a simple milestone road, a little old-fashioned way to do things, but with this, you can have a good story, and therefore a proper way to start your game with a solid background.
« Last Edit: May 26, 2013, 06:37:04 AM by Ukyuu »

Ukyuu

  • **
  • Posts: 47
    • View Profile
    • Email
Tips To make a good game (3): Invest in some useful tools
« Reply #12 on: May 26, 2013, 07:28:31 AM »
You can make a game with free tools, but seriously, the quality of the game will be just only that. You won't be getting a game you can show your friends if you're not ready to put some efforts in the proper tools.

Here is a list of things you'll need as a basis:

- A game maker : Game Maker and RPG-maker are among the top best for now.
- A mind-mapper : Artsy is among the best for making a game, it has many features the free ones don't have.
- A serious web hosting: PHP/Mysql is good, but .net / SQL server allow game-maker to use DLL (to some extent) and you'll find it easier to learn. The IDE for .net technologies are more novice-friendly (it's a personal opinion).
- If you can't make the picture, expect to put between 11 to 80 euro per picture or set of pictures (go to the deviant art community look for the people's ToS there, as freelancers are just on the lookout to squeeze you off your every bit of money.
-DAZ 3D (its pro version free) and some of the stuff from its shop (according to your needs) to make good CG if you don't want to invest in the pictures too much. You can be getting up with stuff from 30/40 euros.


Those tools will allow you to get things running properly, there's also tons of free stuff out there on the net, but make sure your read people's condition, most of time they ask you to credit them properly for their work, so make sure to have a "credit" page on your website and "credit" option on your game's menu. It's little work on your side compared to how much those resources jump-start you! Think of it, they're doing free work for you, the least you can do for them is a bit of publicity.

As a matter of good measure, I always credit people even if they don't ask for it, it's proper courtesy when you're using someone else's work, especially pictures who take hours to make !

adriancs

  • *
  • Posts: 8
    • View Profile
    • Email
Re: [Game Maker] Important things to know! (English version)
« Reply #13 on: September 10, 2013, 08:04:10 PM »
I like to write games too.
But unable to do that right now, because of lack of time.
Hopefully will be in future. Hi thanks for sharing.

Ukyuu

  • **
  • Posts: 47
    • View Profile
    • Email
Re: [Game Maker] Important things to know! (English version)
« Reply #14 on: October 14, 2013, 08:18:13 AM »
My pleasure,

Sorry for replying late, I had loads to do recently.

 

Web Hosting

Linux Hosting
ASP .NET Hosting
Business Hosting
Reseller Hosting
Dedicated Servers

Server Alerts
Acceptable Use Policy
Terms of Service
Privacy Policy

Affiliate Program
Site Map

Blog Hosting

WordPress Hosting
ExpressionEngine Hosting
Movable Type Hosting
Habari Hosting
Textpattern Hosting


CMS Hosting

Joomla Hosting
Drupal Hosting
MODX Hosting
Concrete5 Hosting
Xoops Hosting
Shopping Cart Hosting

nopCommerce Hosting
OpenCart Hosting
Magento Hosting
osCommerce Hosting
Tomato Cart Hosting


Video Sharing Software Hosting

ClipBucket Hosting
PHPMotion Hosting
ClipShare Hosting
osTube Hosting
vShare Hosting
Forum Hosting

XenForo Hosting
vBulletin Hosting
MyBB Hosting
phpBB Hosting
Simple Machines Hosting


Social Network and Community Website Hosting

SocialEngine Hosting
Elgg Hosting
SkaDate Hosting
Dolphin Hosting
phpfox Hosting
Copyright © 2003-2014 Arvixe, LLC. All trademarks are property of their legal owner.