Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 06:12

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Game Development - How You Should Go About It

Discussion on Game Development - How You Should Go About It within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jun 2013
Posts: 5
Received Thanks: 5
Game Development - How You Should Go About It

This thread is about how you should go about developing a project related to game development.

Now first off, we need to get one thing straight. Dynamic is best. When it comes to almost everything. Nobody really is a fan of linear anything anymore. If you're confused on what I mean, we'll try to clear any confusion.

Linear vs. Dynamic
The difference between linear and dynamic is the difference between a scooter and a car. You're much more likely to begin using a scooter before a car, but once you get a hold of a car, you'll more than likely use it from now on because it is a lot more helpful and makes you look cooler.
Linear means "straight", as in from one point to another. Back in the day, the stories of games used to be very linear. There was one story, and nothing you did would change the outcome of it. However nowadays, there are at least branches of stories. Side quests that unlock more lore of the game, etc... but more often than not, games are now using dynamic story telling. If you slaughter a town in Fable III, people will know about it and fear you for it. At the end of the game, the ending will change because of what you've done.

As you can tell, there is a huge difference between linear and dynamic and this plays a huge role in developing your game, and I do not mean in terms of a story.


Linear vs. Dynamic (programming)
Dynamic programming is very very important in almost any program. What dynamic actually does is decide how much flexibility your program actually has. A dynamic program will make it very easy to add future features, make changes or remove features, because it doesn't depend on your other code (in a sense).

This can be tied to game development in the following way:

Most beginning game developers tend to assume that their game will be made in the code. They will have some graphic files, maybe some audio, and then load all that into the game at the beginning, and use it in the code. They will create a bunch of different NPCs and have their dialogue be IN THE CODE.

Quote:
(For example):
Code:
public class NPC
{
    private int xLoc = 18;
    private int yLoc = 10;
    private string dialog = "Hi, my name is Bob.";
}
... that is bad for a number of reasons. Number one is that it makes your program larger. It creates more lines of code that gets processed and built into the final executable. Number two is that if you release this as a game and you need to make changes, you have to edit the code and build a whole new version of your game and release it. This makes extremely small fixes become complex fixes and massive downloads.

Developers will put all of their maps into the game, all of their npcs, and more. This just creates a clusterfunk of a project, and is hard to make any changes to the game once it's built.

How do we fix this problem?

Dynamic development. This is also creating your own game engine.

The engine you create should only contain what is needed to load the files to play the game. It should contain all of your game logic, controls, etc., but should not contain any data related to the game itself. The engine should load files that say "Hey, this is a map and here's the data for it" and "Hey, I'm an NPC and here's my data". It should load the files every single time the game runs. This allows the developer to be very dynamic with their game. Especially if they write game logic that says "Load all game files in the 'original' folder. Then load the game files in the 'overwrite' folder. Overwrite any files that have been already loaded". That allows stuff like expansions to happen with only a simple download of some game files.

This is a good idea for many reasons. You can release fixes to bugs by doing some simple patching of a few small files. You can release expansions of your game without modifying ANY CODE AT ALL. You can even make your game without writing code at this point! You can code tools that create these game files for you.


Quote:
(For example)

Game code to load npcs

NPC File:
If you want a game with the same logic, same controls, etc as your previous game, all you have to do is copy the engine into a new folder and start creating new game files for it with new graphics, audio, etc. instead of writing a completely new engine/game from scratch.

That is why dynamic development is not only amazing, but is a necessity if you want to be a game developer.

Mi'kiro is offline  
Thanks
2 Users
Old 08/05/2013, 21:35   #2
 
​Tension's Avatar
 
elite*gold: 110
Join Date: Jun 2013
Posts: 599
Received Thanks: 510
If i've understood your post correctly, you were also able to write it in this sentence:
If you want to create a game, use external files for maps/npcs/etc. and don't put everything into the main executable
i think for a person which thinks about developing a game it's normal to use extern resources ..
​Tension is offline  
Old 08/05/2013, 22:58   #3
 
elite*gold: 0
Join Date: Jun 2013
Posts: 5
Received Thanks: 5
Quote:
Originally Posted by Ten$ion View Post
If i've understood your post correctly, you were also able to write it in this sentence:
If you want to create a game, use external files for maps/npcs/etc. and don't put everything into the main executable
i think for a person which thinks about developing a game it's normal to use extern resources ..
It's more about just telling them to do it a certain way. It's important to explain why. And actually, it's not. Nobody thinks about dynamic development when they're an amateur programmer. They all try to stuff their code in one class, and in the main method lol.
Mi'kiro is offline  
Thanks
1 User
Old 08/05/2013, 23:06   #4
 
​Tension's Avatar
 
elite*gold: 110
Join Date: Jun 2013
Posts: 599
Received Thanks: 510
Amateur programmers are 12 years old hipster kids which got too much free time because they don't pay attention to the school and think they can code world of warcraft in one weekend.. ( Most time these people are trying to "create games" in the holidays )
people which are really interested in game developing should think about performance and take a look into other games to get a view of how it works. And they should know that it's better to use extern resources . I don't want to say that your post is not helpfull but i just summarized it into one sentence
​Tension is offline  
Old 08/05/2013, 23:25   #5
 
elite*gold: 0
Join Date: Jun 2013
Posts: 5
Received Thanks: 5
Quote:
Originally Posted by Ten$ion View Post
Amateur programmers are 12 years old hipster kids which got too much free time because they don't pay attention to the school and think they can code world of warcraft in one weekend.. ( Most time these people are trying to "create games" in the holidays )
people which are really interested in game developing should think about performance and take a look into other games to get a view of how it works. And they should know that it's better to use extern resources . I don't want to say that your post is not helpfull but i just summarized it into one sentence
Not all programmers are 12 year old kids though. What people on the internet seem to forget is that there are a lot of people who are interested in game development who are about to enter college, but have had no previous experience with any sort of computer science related events. Like, I get that people who are serious should know this stuff. Believe me, because I agree completely. But sometimes people can't help not knowing this stuff, so I'm just trying to help those who don't know get an idea of what and why this way is the best. If it wasn't for this forum and a certain member, I would never have gotten as far as I did with programming, because I can't afford to continue college for my degree with CS.
Mi'kiro is offline  
Thanks
1 User
Old 08/09/2013, 15:50   #6
 
lolor2's Avatar
 
elite*gold: 135
Join Date: Oct 2007
Posts: 1,088
Received Thanks: 210
Quote:
Originally Posted by Ten$ion View Post
people which are really interested in game developing should think about performance and take a look into other games to get a view of how it works. And they should know that it's better to use extern resources . I don't want to say that your post is not helpfull but i just summarized it into one sentence
For each day Coding 1 Month polishing is not enough?
lolor2 is offline  
Old 08/11/2013, 05:16   #7
 
Conrew's Avatar
 
elite*gold: 124
Join Date: Feb 2012
Posts: 302
Received Thanks: 135
Good Information for beginners.

MFG Conrew
Conrew is offline  
Old 08/28/2013, 20:56   #8
 
»Barney«'s Avatar
 
elite*gold: 0
Join Date: May 2012
Posts: 868
Received Thanks: 947
Good stuff, someone finally made a post about it. Almost every resource in my game is xml-based.
»Barney« is offline  
Reply


Similar Threads Similar Threads
Game Development in C# using XNA
07/27/2013 - Coding Tutorials - 5 Replies
I apologize as I know this is a mostly German section. What is XNA XNA is a game development framework designed by Microsoft for use with .Net programming languages (usually C# but there is some VB support now). Using XNA we can create high quality games of all types and the framework can often be allowed to handle most of the nitty gritty details such as managing input devices, content management and interfacing with our graphics device. What Qualifies me to Teach? Short answer:...
C# Windows Phone 8 Game Development mit GameMaker
03/30/2013 - C/C++ - 1 Replies
Ich habe jetzt bei Steam ein neues Programm gefunden welches sich GameMaker: Studio nennt und wo es auch ein Zusatz für Windows Phone 8 gibt. Da ich im Internet fast überhabt nichts finde (über GameMaker: Studio Windows Phone 8) auch regulär zum Spiel Development finde ich fast nichts. Alle die sich etwas mit development oder sogar game development auskennt könnten wenn sie wollen mir ihre einschätzung zu diesem Programm. Und wenn ihr das Programm zum in die Tonne Kloppen findet habe ich auch...
I'm looking for people who have experience in coding and game Development.
05/04/2012 - Dekaron - 3 Replies
Hey people, I'm looking for people who have experience in coding and game Development. I need people for my group: andmake sure you add my FB. Thanks!https://www.facebook.com/kitluvkat or my yahoomessenger [email protected]
Best Development Game 2009
04/24/2009 - Off Topic - 16 Replies
Whats your favourite Development Game 2009?



All times are GMT +1. The time now is 06:12.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.