First Time Game Developer

Started by
7 comments, last by rancineb 11 years, 2 months ago

I’ve been trying to get into game programming for awhile, but just never had the time. This is my most recent attempt, and I think I might actually get something going this time. Unfortunately, I’m new to this and looking for some help.

I use to be a programmer in the past and have some experience from school and a couple years on the job. It’s been awhile since I’ve programmed (about 8 years) so I’m definitely rusty. I have experience in Java, C/C++ and VB but it’s been awhile so a lot of the updates to these languages and new languages will be new to me and will need to learn. I’ve never done game programming, only client application programming.
My goal is to build some basic 2D games like side scrollers or RPG type games (old school Final Fantasy). I’m not sure if I want to build for iOS/Android or platform/PC. Since I’m new to this, I’d imagine the best thing to do is code for playing on the PC until I the hang of it and then venture into mobile. I figure PC would be the best since I can easily send to people to get feedback where I can’t just load something on the iOS/Android market for people to download and try. Please share your thoughts on what the best platform would be to start out with.
I’m hoping I could get some suggestions on what language I should focus on and how I go about starting to create my first game. Would C# be a good language to use? Can C# be used for mobile platform? I believe it works for XNA for xbox. Are there certain frameworks/libraries that most developers use that I should look at? I’ve heard of Allegro from the past, but not sure if that’s still the top used, or if something else has come up. Any beginner websites with step-by-step guides on building basic games?
Thanks a lot for all your help and advice.
~Brian
Advertisement
Being a newbie game developer myself, I can suggest you learn Simple DirectMedia Layer (SDL for short) to get a grasp of whats going on in a game. www.sdltutorials.com seems to explain the concepts clear enough but his coding style just doesn't fit me.

On XNA, I can just say: Don't even waste your time. It isn't even supported in Visual Studio 2012 and it is announced that all support from DirectX and XNA Gaming Studio will be cut by 2014.
Brian,


In my opinion, you seem to be in a good position to try an existing game development system such as Unity 3D or Torque 3D. You have enough programming experience that getting back into the groove will happen soon. I recommend for you in your position to choose an attractive game engine and use the language or languages which are native to it.


The C# is an excellent general purpose language. It can't do everything, but is broad in capability. Unity 3D uses some C#. There are ways to compile to or from C# in some game engines, as is true in some cases with other languages.


Here is a list:
http://en.wikipedia.org/wiki/List_of_game_engines


You can use a 3D engine to make 2D games - very important to remember that. If the 2D game is going to be very simple than a game engine made for 2D might be better. Look at PyGame, GameMaker, Blender, ... many others. Choose one and begin to get familiar with the engine, meanwhile sharpening your knowledge of the language with later online tutorials and books in the language.

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

Being a newbie game developer myself, I can suggest you learn Sample DirectMedia Layer (SDL for short) to get a grasp of whats going on in a game. www.sdltutorials.com seems to explain the concepts clear enough but his coding style just doesn't fit me.

On XNA, I can just say: Don't even waste your time. It isn't even supported in Visual Studio 2012 and it is announced that all support from DirectX and XNA Gaming Studio will be cut by 2014.

Thanks for the help. I ready about SDL and being a good place to start. Someone suggested taking a look at these tutorials: http://www.lazyfoo.net/SDL_tutorials

I'll definitely look into XNA. I believe that's what they use for xbox games so not sure what they'll replace it with. Maybe an updated version of XNA. Surprised to see it not supported with VS 2012.

I'll definitely look at the 3D engines. I've heard a lot about Unity being good. I think the newest one they've ported for Android. I'm really looking to do 2D games right now. Want to make an RPG. I'll look into using Unity for it, but if it's too much, a 2D engine might be best.

Anyone recommended any 2D engines that they've used that worked well? I want to use something that will give me some assistance, but give me a lot of control. I thought I heard that engines like GameMaker are limited on what you can do, where something else that just provides some useful functions, but opens up control to the programmer to do more customization and flexibility. No idea if that's a true statement, still learning.

I have taught middle school students to use Game Maker and I own a copy of both Game Maker HTML5 and Game Maker Studio. Game Maker is not nearly as limited as you might think. The GML language can do a lot and it can handle creating a wide variety of games.

From this link: http://forums.tigsource.com/index.php?topic=17062.0 you can see that there are a number of commercial games made with Game Maker as well.

I have also used Multimedia Fusion (1&2, And The Games Factory, KNP, and Jamagic) from Clickteam as well. Multimedia Fusion can also make a wide variety of games.

I have briefly used Construct and it is similar to Multimedia Fusion. Construct 2 can make HTML5 games.

I used Torque2D a long time ago but I have no idea as to its current state.

I was looking at Unity with one of the available 2D libraries but I ran out of time to experiment with it.

PyGame is pretty good, I like XNA, and SFML is a good c++ option.

Try a number of things and see which you like best. Pick a technology you like, stick with it, and don't give up!

How do these game engines work exactly? Is it a separate application to create a game with, or are they a set of APIs that you include in your program using Visual Studio for example? I'm sure the answer is certain engines do one and certain engines do the other. What about Game Maker and Unity? Are they applications or APIs to include in development applications.

My plan is to go through the SDL tutorials to break off all the rust and then start looking at what game engine I want to use. I definitely want to focus on 2D games like overhead RPGs and side scrollers. Probably won't venture into 3D at all since I don't have the dedicated time to invest. I'd much rather make very polished 2D games. I know it's probably not the best place to start, but my end goal is to make a really nice RPG so that's the style I'm aiming for.

Game engines do very in complexity and what they cover. One thing that they all have in common is that they eliminate much or sometimes all of the lower level coding such as the shader coding done for you, for example. Some game engines come with default end-user interfaces and some do not but leave that to you. The purpose of a game engine, after all, is to free the game developer to focus mostly or all of the effort on what the developer does best: Creating games by the coding process, so make a game source code instead of adding a game engine source code to the difficulty.



The game engine is the software and applications layer between your game coding and the runtime environment (such as Common Language Runtime or Java Runtime Environment) and/or machine/assembly language. In the case of industry or corporation APIs such as OpenGL, DirectX, Java APIs and so forth, these APIs are also a layer between your game coding and the machine/assembly level, but leave much of the tool making and other application work up to you as far as games are concerned. Consider these APIs to be more general application programming and open ended than a game engine which is made for programming a game. By the way, game engines depending on design can be an interface between a language which you use in the game engine such as C++, C#, C, or Java and APIs like OpenGL or DirectX within a framework such as Java Framework, .NET Framework, or Mono (an implementation of .NET actually). Simply remember that a game engine is the development environment layered or sandwiched between your game coding and lower level coding which you probably will never handle directly. The game engine is really a set of interfaces (at the core of it) between your coding and assembly/machine coding, but can sometimes be used with another intermediate layer such as OpenGL.

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

Thanks a lot for your advice. A game engine will definitely help, just depends on which one works best. I'll be sure to do a lot of research into which engine is good for me. I'm thinking I'll end up either doing C++ or C# and I'd like an engine that focuses on 2D since that's the types of games I want to make. I know a lot of 3D engines can make 2D games, but I assume it's easier to use an engine that specializes in 2D games if that's my focus.

This topic is closed to new replies.

Advertisement