ServerDev Development Community

We Want You (Editors, Developers) Let's Code
 
HomeRegisterLog in

Share | 
 

 Game Development - How You Should Go About It

View previous topic View next topic Go down 
AuthorMessage
RON
Administrator
Administrator
avatar

Posts : 63
Join date : 2013-09-08
Age : 20

PostSubject: Game Development - How You Should Go About It   Wed Sep 11, 2013 5:36 pm

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:
Quote :

(For example):
Code:
public class NPC
{
private int xLoc = 18;
private int yLoc = 10;
private string dialog = "Hi, my name is Ronie.";
}

... 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:
Quote :
(For example)

Game code to load npcs
Spoiler:
Spoiler:
 

NPC File:
Spoiler:
Spoiler:
 
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.
Back to top Go down
http://serverdevelopment.forumtl.com
 
Game Development - How You Should Go About It
View previous topic View next topic Back to top 
Page 1 of 1
 Similar topics
-
» Android Game Development Unity3d
» So I'm interested in entering the world of video game development.....
» FTL discovered?
» Your blue sky... or not
» This game sure can be adamant about wanting players to take certain weapons

Permissions in this forum:You cannot reply to topics in this forum
ServerDev Development Community :: Coders Den :: General Coding :: Coding Tutorials-
Jump to: