First time poster, need help starting off.

Started by
24 comments, last by Xai 17 years, 1 month ago
Right now I'm sitting on a Mac, so I'll have to wait to get home and run these apps with my Vista machine...but another question while I'm at it. XNA is a simple engine for me to use, right? OpenGL, DirectX and whatnot are stronger more difficult engines, correct? I guess I shoukd probably google what exactly a game engine is, but maybe you guys can explain it better. if I were to create an engine of my own, how would I go about doing it? What software and what knowledge would I already need? How would I go about using DirectX or OpenGL?
Advertisement
Looking over the 2D games on the Microsoft site, Space Blitzer to be exact. I notice that you DL a package that contains the Sprites already made...I'll do this and start learning but just so I have te knowledge, how would I create a sprite of my own?
Again, sorry for all the questions...I've seen online someone created a 2D version of Zelda:OoT for PC. To create this, was it basically usng Sprites and programming the different actions available using the Visual C# program?
Heh, I'm 15 and a sophomore, and in the same mind set as you. I too want to be a game designer/programmer. I have a few things to share with you:

First off, a fun and relatively easy 3D engine to get started on is the Source engine, the one used in Half-Life 2 and Counter-Strike: Source. I've heard people say that it's unreliable, but it's also very easy to make a game that works the way you want it to. Almost all of the programs required for developing for the Source engine can be downloaded from the Steam engine, a free online game-distribution program available from www.steampowered.com . Once you have Steam, you can buy Half-Life 2 off of it and download it, then download the Source SDK that is packaged with it. The only programs you need at that point are Microsoft Visual C++ .NET (Source SDK has a built-in system for *.vcproj and *.sln files), any program that can edit 32-bit Targa files (such as Paint Shop Pro or GIMP), Nem's Tools (Crafty, BSPViewer, VTFEdit, and TerraGen), Audacity (for sound editing), and maybe the free trial version of XSI Mod Tool or XSI|SoftImage.
Also, a good place to start with 2D programming is the ProjectFun lab, available at projectfun.digipen.edu . It's sponsored by DigiPen Institute of Technology in Redmond, Washington, the home of Nintendo of America, SCEA, Valve, Gearbox, and many other large game companies. They created a program that lets you make simple 2D games with minimal programming, and get online lessons with a professional game designer/programmer and DigiPen professor. It's really cool, but the program is a bit broken in places, such as the fact that it does not come with it's own compiler, it uses it's own engine, and the booklet that comes with it is very poorly written. And it doesn't support 3D, at least not on it's own. If you want to make a 3D game with it, expect to be using NotePad to edit the game's confusingly arranged .cpp files much more than the actual program itself. But for 2D games, it's a great place to start.
Nice to see someone around here like me, seems like you have alot more knowledge though. I'll be sure to check those things out. I had read about the Source engine, but the thing is, I don't want to create a new map for an existing game or anything, completely from scratch for me. I like to think I catch on quick, I just like to have a full understanding of everything before I do it. I know I am asking all these questions and you think I shouldn't be worrying about it right now, but that's just the way my min works. Thanks again guys. :)

What projects are you working on or have completed?
Use programs like paint to create sprites.

You could use C# to create something like this.

Gook luck! Just start learning, and it will come to you.
First, and possibly the most important, piece of advice: Slow down a little. You can be fast to catch on, but the field you're looking at is vast and intersects with a whole range of highly advanced regions of all sorts of other fields (which are at least as interesting as the game creation itself, IMMO).

I would argue that it is unreasonable for anyone to expect to have any sort of comprehensive knowledge of game development in one year. You seem to want to write a 3D game with realistic physics - this is good, and your enthusiasm in pursuing information related to this is to be commended. However, be aware that game development of this degree touches upon highly advanced regions of all sorts of different fields. Let's take 'just' the physics for example.

For the basics, you will want to be familiar with numerical methods for the solution of ordinary and partial differential equations (as well as numerical integration and differentiation), as well as knowledge of linear algebra and geometry. Of course, that's just the maths. You'll want knowledge of classical (Newtonian) dynamics and kinematics of rigid bodies. Remember that this is just a few elements of the basics of one small part of the entire game and you'll perhaps realise the scope of what you're looking at. For more advanced stuff - I don't know exactly what's involved as I wouldn't consider myself remotely there yet - you're likely to be reading university and research papers.

What I'm trying to say is - don't try to tackle it everything, in depth, all at once (programming, physics, graphics, asset creation, design - etc.). I don't know what background you do have in programming. You say you have some experience with C - what kind of projects have you done before? How much have you done, roughly (a few thousand lines total, a few tens of thousands of lines total, or more than a hundred thousand lines total)?

I'm aware that there's not much concrete advice in here - I'm simply trying to impose on you the scale of what you're undertaking: it is not something that can be learned comprehensively in a year. In a year, assuming you can already program, you can probably be turning out decent 2D games with the bare minimum 'physics' required. Of course, you can focus on one thing and improve that, but I reckon that what I've just said is a reasonably challenging target to meet well.

Now, I'll take a shot at answering your questions.

Quote:What programs do you use to create models, maps and whatnot?


I'm going to assume 3D here, just to give a full answer. Textures and other 2D art elements can be produced in just about any graphics editor - Paint Shop Pro and Photoshop (Elements) are standard editors, and I'm sure you'll have come across them anyway (because they aren't really related to games).

3D models are produced, unsurprisingly, in a 3D modelling program. These can often be used to produce and render scenes themselves - but what you'd be looking to do would be to produce a 3D model, and then export it to a file format which you could then read and reproduce in your game. A 3D model will normally have textures applied to it, so this obviously involves the previous paragraph.

Maps can be produced in a variety of ways. Some just use a 2D texture, and use colours to represent different items in-game. Others create their own file format (or borrow someone else's) and create (or borrow, again) a level editor for it. The level editor is just a friendly interface to the file format - which again, might just be that 2D texture. More complex things in maps which require interaction are often done using scripting languages - a script interpreter is often built into the game, allowing for easy expansion and debugging of some parts of the game logic.

Quote:Is the programming portion, just for the actions that take place in the game? I'm assuming yes, and then you use a compiler to put the actual game "footage" with the programming?


The programming portion is for every single thing that happens in your game. Absolutely everything - it loads, displays and manipulates your assets; it controls the game logic; it controls physics, graphics and sound. Everything that happens in your game while your game's running is decided by the programming portion (the programming portion decides whether or not your game continues to run!). However, the programming can be alleviated by using a graphics, sound, physics API or library - allowing you to deal more with high-level logic issues than the actual implementation of such things as I mentioned above when discussing the physics (note: you still need to understand what they are, what they do, when to use them, and what their results are - you just don't need to write the code to actually describe how to do them).

Quote:I'm just having trouble understanding how to creat, for example, Master Chief and then make him walk in a vast environment freely...Thank You, sorry for the long read.


That one sentence could inspire answers no longer than this one, or could be the full content of a 1000 page book.
[TheUnbeliever]
Using an exiting Game Engine / API is a GREAT way to start acomplishing things soon. To write a 3D virtual reality simulation that lets someone "walk" and pick-up things completely from scratch takes YEARS. But there are many different starting points to help you out. You can use an existing libraries like OGRE and ODE and wired them together yourself (a lot of programming to learn), or use engines like Torque, Source or Unreal to build a whole game (not terribly hard if you want to do things that it is good at), or use a full game-sdk to create a Mod (like the Source or Unreal engines, but as a Mod of an existing game instead of a full game from scratch). Creating mods are the best way to start learning about what is really involved in making a program come together and "work". It basically covers all the things besides the programming of the game. The art, models, levels, actions, AI, rules, sound, music, etc. So you can simultaneously work on making Mod as 1 project, and learning to program as another. Some day down the line, your skills will meet up in the middle.
Great advice guys, I can't thank you enough. I think for now, I'm going to focus on learning how to use Blender3D to it's capabilities and continue learning C#. My background in programming includes Visual Basic, creating program with a few hundred lines. Same goes for C...I'd love to have a 2D RPG done for my senior project, is it feasible? Assuming it's a realtively small game?

This topic is closed to new replies.

Advertisement