DevMaster.net Forums
[[ Home | Forums | 3D Engines Database | Wiki | Articles/Tutorials | Game Dev Jobs | IRC Chat Network | Contact Us ]]

Go Back   DevMaster.net Forums > Programming & Development > General Development
User Name
Password
Register FAQ Members List Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Search this Thread Display Modes
Old 11-04-2009, 02:33 PM   #1
downwiz2
New Member
 
Join Date: Nov 2009
Posts: 1
Question web programmer trying to learn how to make games....help!

hi folks, i've been making web app's and working with various server side language like php, ruby, perl for a while now. I've always been curious about game development, it's actually what I set out to do but I ended up in web development. I am trying to transition in to GD, but I cannot help see games from a web development POV.

GD = Game Development
WD = Web Development


Technical Questions.

1. How do you design UI in games? in WD you have CSS, and need minimal graphics to create a quick menu. are there similar tools or concepts in GD ?

2. How do you deal with storing data ? Do you use flat text files? Or is there something like MySQL or sqlite that you use to store information about objects, users, and etc ?

3. What game engines is commonly used ? Are there any that use scripting languages ? I only know VB and basic understanding of C.

4. With the proliferation of Iphone and Android, is J2ME being phased out for mobile phones ?

5. open 3D web is coming. What is your thoughts on having 3d applications running natively from your browser ?

6. What tools make it easy for creating 3D objects, levels, game environment, and animating characters and so on ?

7. Where can I find out more about how server/client, client/client, and MMORPG networking works ?

8. Where can I get or find generic or commonly used game flows ? for multiplayer ?

9. How do you deal with physics? Is there freely available algorithm or library that you can use ?

10. How are real time cutscenes made in games ?

Market Questions.

1. Which market should you enter? Mobile, iphone, wii, PSP, DS, android , ps3, PC etc.
Shouldn't you always enter mobile market, as it is easy to make small games on your own yet sell a lot ? Are there any resources where i can find more about each markets ?

2. What is your thought on Steam content distribution ? Is it the distribution model of the future ? Whats wrong with the traditional publisher/distributor model ? How does the traditional model work exactly ?

3. How big is the web games market? ex) Flash games.

4. How is game development different from any other software development or web development ?


I have a lot more....but those are the ones that I have been thinking about lately.

Thank you very much for reading !
downwiz2 is offline   Reply With Quote
Old 11-04-2009, 04:03 PM   #2
starstutter
Senior Member
 
Join Date: Dec 2007
Location: charleston, west virginia
Posts: 996
Default Re: web programmer trying to learn how to make games....help!

Apologizing for sloppiness in advance, I'm in an awful hurry.

1. How do you design UI in games? in WD you have CSS, and need minimal graphics to create a quick menu. are there similar tools or concepts in GD ?
There's 2 types of GUI's you'll typically need:
1. game interface
2. editor interface
Editor interfaces can be made with windows GUI standard (which may be REALLY confusing for a web programmer). You can make a GUI with whatever renderer you're using (directX, GL, SDL, ect) but that carries with it a big extra level of complexity. Not to mention you have to build one for every type of renderer you build.

You know how easy it is to build interfaces in Visual Basic, but you should NEVER build games in VB for the following reasons:
- Its a REALLY slow language not suitible for games
- it's only supported on windows (to my knowlege)

2. How do you deal with storing data ? Do you use flat text files? Or is there something like MySQL or sqlite that you use to store information about objects, users, and etc ?
You can use text or binary files for storing world data (ie, where things are positioned, save files essentially). For a beginner, you should stick with the standards (.obj, .x, .bmp) for storing art assets.

3. What game engines is commonly used ? Are there any that use scripting languages ? I only know VB and basic understanding of C.
I'm not sure you really understand what an "engine" is. It is not related to programming languages, but can be compatable with certain ones. It's often recommended that beginners build their own simple games from scratch. While engines are useful tools, they can be quite overwhelming if you don't understand them or how all their little black boxes work.

I'm not sure what "use scripting languages" means. Are there engines that have their own scripting languages? Yes, definitley. Are some built from scripting languages? I seriously doubt any successful ones are. Scripting languages are terribly slow.

5. open 3D web is coming. What is your thoughts on having 3d applications running natively from your browser ?
Seems to work ok, but I doubt they'll ever be able to rival the graphics capabilities of offline ones, especially in the way of things like texture resolution.

6. What tools make it easy for creating 3D objects, levels, game environment, and animating characters and so on ?
"Easy" is not the term I would use. 3D modeling packages are everywhere ranging from free to hundreds of dollars. A lot of people recommend giving Blender a shot.

7. Where can I find out more about how server/client, client/client, and MMORPG networking works ?
Don't bother. Seriously, avoid the pounding headaches and ridicule now

8. Where can I get or find generic or commonly used game flows ? for multiplayer ?
game flows? Explain yourself. Is this a design question?

9. How do you deal with physics? Is there freely available algorithm or library that you can use ?
Yes, but physics is still a complex ordeal no matter what tool you use. I use Newton Game Dynamics and have a sort of love/hate relationship with it. I'm finding that the real challenge is shaping and tuning your materials and environment so that it fits the needs of the physics engine, which is far from ideal unfortunatley.

10. How are real time cutscenes made in games ?
Depends. Most are made with a combined series of animations, carefully places detail transitions, cameras, carefully positioned lights, ect. Engines like Unreal have tools to help choreograph these events into movie-like sequences. Also, special animations almost always have to be made just for that particular cutscene. The choppy animations during gameplay don't cut it during the cinematic segments.
___________________________________________
(\__/)
(='.'=)
This is Bunny. Copy and paste bunny into
(")_(") your signature to help him gain world domination.
starstutter is offline   Reply With Quote
Old 11-04-2009, 05:41 PM   #3
TheNut
Senior Member
 
TheNut's Avatar
 
Join Date: Aug 2004
Location: Thornhill, TO
Posts: 851
Default Re: web programmer trying to learn how to make games....help!

Adding onto what starstutter said,

Tech Questions

1) If you stick with web technologies such as Flash or Silverlight (WPF), you have even more powerful formats to work with. You should use what's available and build on it.

2) I prefer to work with serialized data, which is a dump of your objects to disk in whatever format you want (text, XML, binary). This saves you a lot of typing involved from writing your own importers and exporters.

3) As starstutter said, but I'll add that it is a lot more difficult to debug with. Scripting is good when you have a complete engine first and you want to externalize the calls and turn it into an SDK. I would avoid trying to build your game on a scripting language as it is counter productive.

5) Personally I hate web languages. Creating compatible code is a nightmare and debugging it is even worse. Use a real language with real tools and debugging capabilities. The time you spend to make a game using web technologies I'll have written a dozen better ones.

6) Blender is a great tool, but it's very hot-key driven. Make sure you download a cheat-sheet otherwise you'll be spending a lot of time trying to figure out how to use it. Animating with it is pretty straight forward if you have a solid understanding of skeletal animations, keyframes, interpolation algorithms, and vertex skinning.

7) I'll pretend I didn't see you write anything about MMO stuff. I think most people agree BeeJ's socket programming is pretty solid for beginners.

8) Learn the basics first before you jump into design. There are many ways to approach a problem and in all cases you need to use that mushy thing in between your ears.

9) For 3D physics, yes. ODE is one such library I use, although I dont' think you should go that far. 2D physics on the other hand is very easy and I've built my own library for that. Any physics book will give you the necessary formulas to solve such problems.


Market

1) The mobile / web platform is a lot easier to get your work out there. Though that doesn't mean guaranteed success. You have a lot more competition.

2) Things are evolving, but the concept behind Steam is quite popular. Google and some other companies are working on a complete Internet driven platform, where there is no longer a concept of downloads or owned DVDs. Your PC, which is just a trivial piece of hardware, access everything remotely. OnLive is already delivering a business model on that for video games.

3) Web gamers like free, especially since there are a lot of free web based games out there. You will probably make your money someway else, such as through advertisements. Although if you build successful games like Popcap, you could sell something like that and turn a nice profit.

4) Game developers are, in my opinion, far more intelligent and battle seasoned as we solve complex problems and we strive to learn and apply ourselves more. Some of the people I meet in the regular industry are quite dull.
___________________________________________
http://www.nutty.ca - Being a nut has its advantages.
TheNut is offline   Reply With Quote
Old 11-10-2009, 12:29 PM   #4
alphadog
DevMaster Staff
 
Join Date: Sep 2008
Location: Left Of Albakurky
Posts: 734
Default Re: web programmer trying to learn how to make games....help!

1. How do you design UI in games? in WD you have CSS, and need minimal graphics to create a quick menu. are there similar tools or concepts in GD ?

Distantly similar, basically conceptually. But in-game GUIs are more complex than web GUIs; you either a) use functionality, if available, in a game engine, b) use a third-party library (ex: RBGUI, Qt or Scaleform) or c) roll your own.

2. How do you deal with storing data ? Do you use flat text files? Or is there something like MySQL or sqlite that you use to store information about objects, users, and etc ?

Yes. Again, it depends. Some games use simple text files, others have complex ways to serialize real-time objects into binary data that ends up in large files or even in databases. MMOs typically have multiple databases that looks like traditional SQL DBs or some more modern options.

3. What game engines is commonly used ? Are there any that use scripting languages ? I only know VB and basic understanding of C.

There are lots of different types of engines. Basically, engines are just big libraries of different amounts of "pre-cooked" functionality.

4. With the proliferation of Iphone and Android, is J2ME being phased out for mobile phones ?

For games? Yes. JavaME is a nightmare of complexity. Check out PhoneGap for phone dev, esp if you come from a web background. Depending on the "game", a simple one can run on WebKit. However, lots of cross-platform environments that allow you to target multiple mobile devices use Java.

Symbian is another player that has languished, but may yet see reviving with Nokia's purchase of Qt. In terms of numbers, it's a player...

5. open 3D web is coming. What is your thoughts on having 3d applications running natively from your browser ?

What are you referring to in particular? There are a lot of "things" coming to a browser near you. But, check local listings; they ain't coming fast and they will take time to get the penetration in the market needed to be viable for game development.

Check out emergent ideas like Xax where a browser becomes really a container for delivery and running of blocks of code.

6. What tools make it easy for creating 3D objects, levels, game environment, and animating characters and so on ?

Some big engines come with, or have other groups building, software called "editors". They allow you to build levels, terrains, etc. Or, you can turn to a plethora of 3D software out there, commercial and non-commercial.

7. Where can I find out more about how server/client, client/client, and MMORPG networking works ?

In a good book that covers MMO networking. (BTW, you have already been warned, but I'll repeat that of any type of game, MMOs are the toughest to build properly right now. Eventually, a good choice of solid engines for that particular segment will be commonplace, but it is not the case now.)

8. Where can I get or find generic or commonly used game flows ? for multiplayer ?

Huh? What do you mean by "game flows"?

9. How do you deal with physics? Is there freely available algorithm or library that you can use ?

There are lots of libraries for 2D or 3D physics, partly because those are easy libraries to architect and build, ex: Box2D, Newton, Bullet, etc...

10. How are real time cutscenes made in games ?

Some cutscenes are animations separately created in a graphic program, others are scripted using the game engine's API. Presumably, by real-time, you mean the latter. Apparently, Unity3D will feature a cutscene editor.

Market Questions.

1. Which market should you enter? Mobile, iphone, wii, PSP, DS, android , ps3, PC etc?

Two things: a) whichever has the best market for the type of game you want to build, and b) which ever market excites you the most, because if you work "against your will" you won't deliver.

Shouldn't you always enter mobile market, as it is easy to make small games on your own yet sell a lot ?

A good game will sell well on any platform and not all games on big platofrms need to be big. Anyways, the iPhone market is already saturated. The casual game/Flash market is already saturated. The Android market may not be fully saturated yet, but is pretty darn close.

Are there any resources where i can find more about each markets ?

Google? If you are prepared to pay through the nose, ComScore.

2. What is your thought on Steam content distribution ? Is it the distribution model of the future ? Whats wrong with the traditional publisher/distributor model ? How does the traditional model work exactly ?

1) Nice. 2) Yes, for games with lots of content. 3) None, except that it is more complex relatively-speaking, and survival of the fittest dictates digital distribution will win out. 4) Whoa, big question. I suggest googling this.

3. How big is the web games market? ex) Flash games.

250-350 million casual players, according to ComScore.

4. How is game development different from any other software development or web development ?

It is one of the more complex forms of development, partly because it pushes lots of envelopes, not only in coding and architecting, but also in content, the management thereof and the merging of it with code. The only thing missing are real-time, criticality pressures like software for satellites or for medical devices.
___________________________________________
Hyperbole is, like, the absolute best, most wonderful thing ever!

Last edited by alphadog : 11-10-2009 at 12:47 PM.
alphadog is offline   Reply With Quote
Old 11-10-2009, 01:57 PM   #5
fireside
Senior Member
 
Join Date: Oct 2007
Posts: 471
Default Re: web programmer trying to learn how to make games....help!

Quote:
The casual game/Flash market is already saturated.

I would argue with that because Flash games have such an extremely short life span. It's really not that hard to get an ad sponsor on a decent Flash game from what I can tell, though I haven't tried as yet. The amount of money made is generally minimal, but the games are produced in a relatively short time. It is getting a little tougher because there are some professional game companies putting out pretty high level Flash games lately, but there are still quite a few obviously amateur games out there. Going from web programming might be better to jump into Flash. I'm having some trouble with it because it's a movie editor that got used for a code machine and it's got some kind of obtuse ways about it, but As3 qualifies for a real language. It's the IDE that is getting me. The game market in general is saturated, but I think mobile games are probably one the best areas for lone developers. Iphone would be the same thing. People pay a dollar for a game and don't keep it very long so there's a huge turnover.
___________________________________________
http://fireside7games.com/
fireside is offline   Reply With Quote
Old 11-17-2009, 03:29 PM   #6
Sean H.
Member
 
Join Date: Jul 2007
Location: Silver Spring, MD
Posts: 32
Default Re: web programmer trying to learn how to make games....help!

Quote:
Originally Posted by downwiz2
4. How is game development different from any other software development or web development ?

The main difference between game dev and other software dev is the "frame" or "game loop" concept.

The frame is the end result of drawing all objects, characters, environments, and guis to the screen. Once this has completed, the end frame is presented to the user. Every game uses a high-level game loop in which every game object is processed, queued up for rendering(if its visible), and finally rendered. The "frame rate" for a game is a measure of the number of frames a game draws during 1 second. An acceptable framerate by most standards is 30 fps or higher.

For most software development, it's simply a matter of writing functions for event handling only. For instance, you have hooks to write functionality handling the case where the user clicks a button or drags a slider. There are some cases where timers are used, but for the most part most things are done using callbacks or event handlers.

But for game design theres many things going on even when the user isn't doing anything. Ai, physics, sounds, etc are continually being processed during the game loop even if the user isn't doing anything. Thus, timers are an integral part of game programming. you'll either use an engines timer class heavily, or you might end up coding your own timer object.

Another big difference between game dev and general software dev is math. Especially in the case of 3d games, expect to make heavy use of concepts in linear algebra, matrix math, and kinematics.

I hope this helps.

Last edited by Sean H. : 11-17-2009 at 03:44 PM.
Sean H. is offline   Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Forum Jump


All times are GMT -7. The time now is 01:27 PM.


Powered by vBulletin
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.