Sign in to follow this  

a different newbie thread

This topic is 4333 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, new to the forums (contributing), but have been reading it for some time. Like so many thousands others I also want to get into gameprogramming but strictly on a casual basis. I have ample time available since I work nights only in a different industry. My days are completely free and I might as well use them constructively. I thought it might help me and others (hopefully) more if I ask more specific questions on starting game development rather than "I'm new, what should I do next". I've certainly tried reading up on game development but there's an overwhelming amount of information out there and I have no idea what's what. Here's what I understand so far. Please bare in mind that I might, and probably will be wrong. - Game Engines hold all the libraries I need to make a specific game based on that engine? Usually written in C/C++ etc. - I can use a scripting language calling up those classes? ex. Lua. - DirectX is an "engine" that hold graphics based libraries used to, well, make grahpics work? - Games don't need to be written in C++ exclusively? One could use other languages as well? Reading over this again, I realise there's a few 16yo laughing at me now :-). Anyway. I have dabbled a bit with C# and are fairly competent, meaning, I can write textbased stuff (console.writeline().) etc. But is C# any good? So I'll ask 5 random questions every week, and take a week to research the responses and hopefully I can get more specific information. 1. How does scripting languages (ex. Lua) tie into a game engine? I know that large amounts "Stalker: Shadow of Chernobyl" is being written in LUA. Is it possible to learn LUA and write games without having to know C#/C++ etc.? 2. If you had to restart learning game development today, what's the first 3 things you would learn to do? 3. How do I actually use game libraries and how do I find them? 4. Uhm, what exactly are libraries? a defintion would be helpful. 5. Do I HAVE to know C#/C/C++ to start making a game? As the more experienced readers here can see, my questions and understanding is all over the place. I guess what I (and other newbies) need is more specific pointers on where to start. I hope to get a few answers soon. In the meantime, I'll keep on reading and learning. regards ElectricJaguar

Share this post


Link to post
Share on other sites
You find game engines/libs by googling for them or using the stickies on this forum. They contain a list of a lot of them, check the alternate game lib forum.
You do not need to know C/C+/C#, I started with Visual BASIC. A lot of people think Python is a good start too. Libraries are just a lot of functions and such to do the job for you so you dont have to reinvent the wheel.

Hope this helps, sorry if I missed anything!

Share this post


Link to post
Share on other sites
Quote:
Games don't need to be written in C++ exclusively? One could use other languages as well
Sure, you could use other languages like python, C#, java, etc.
Quote:
Anyway. I have dabbled a bit with C# and are fairly competent, meaning, I can write textbased stuff (console.writeline().) etc. But is C# any good?
C# is good but only if you don't mind only writing games for windows. You can also develop things in C# faster than in some other laanguages.
Quote:
2. If you had to restart learning game development today, what's the first 3 things you would learn to do?
Buy a more updated C++ book (the one I started with was outdated)-Make a good text based game using classes (when I started I didn't use clases), Start learning earlier, eat pie!
Quote:
3. How do I actually use game libraries and how do I find them?
Well, there are things like SDL, OpenGL, allegro, and DirectX. You can get directX from the microsoft website. Your compiler probably comes with minimal opengl files but I'm not sure about that since I don't use OpenGL. SDL and allegro can be downloaded from their respective websites (neither of which I know but remember--Google is your friend). To use them just include the neccessary files in your project.
Quote:
Do I HAVE to know C#/C/C++ to start making a game?
Of course not, you could use other things like basic, python, java, etc.

Share this post


Link to post
Share on other sites
Quote:
Original post by ElectricJaguar
- Game Engines hold all the libraries I need to make a specific game based on that engine? Usually written in C/C++ etc.


Sort of. They're are supposed to speed up development by providing specific game functions. However they do usually require that you be fairly competant at programming. I'd suggest you stick to making your own code for now.

Quote:
Original post by ElectricJaguar
I can use a scripting language calling up those classes? ex. Lua.


Yes and many engines come with some sort of built-in scripting language, but again you're jumping ahead of yourself.

Quote:
Original post by ElectricJaguar
DirectX is an "engine" that hold graphics based libraries used to, well, make grahpics work?


DirectX is a group of interfaces over the PC's hardware, or an API. Direct3D provides a way for the programmer to interact with the graphics card. It does not provide any functions to help with game mechanics(like some engines do).

Quote:
Original post by ElectricJaguar
Games don't need to be written in C++ exclusively? One could use other languages as well?


That's true. You can create a game in almost any modern language. C,C++,C#,Visual Basic,Python,Java and many more.

Quote:
Original post by ElectricJaguar
Anyway. I have dabbled a bit with C# and are fairly competent, meaning, I can write textbased stuff (console.writeline().) etc. But is C# any good?


Then I suggest you stick to C#. While the language is relativly new, it is still considered to be "The wave of the future". It should be able to do anything you need to.

Quote:
Original post by ElectricJaguar
1. How does scripting languages (ex. Lua) tie into a game engine? I know that
large amounts "Stalker: Shadow of Chernobyl" is being written in LUA. Is it possible to learn LUA and write games without having to know C#/C++ etc.?


While I'm not sure about LUA, it is possible to write games using only a scripting language. See evolutional's journal for some scripting goodness.

Quote:
Original post by ElectricJaguar
If you had to restart learning game development today, what's the first 3 things you would learn to do?


Nothing. Part of learning programming is to learn by your mistakes.

Quote:
Original post by ElectricJaguar
How do I actually use game libraries and how do I find them?


I'm not sure what you mean by "game libraries". If you want some graphics on the screen, for C#(and many more) you can chose from DirectX, OpenGL(graphics only) or SDL. Many here would probably suggest SDL.

Quote:
Original post by ElectricJaguar
Uhm, what exactly are libraries? a defintion would be helpful.


I can't find one for libraries, but I suggest you visit the GDNet Dictionary.

Quote:
Original post by ElectricJaguar
Do I HAVE to know C#/C/C++ to start making a game?


No you could use something else, but since you already know C# why change?

Also if you stick to C#, have you created any Windows applications yet? I'd suggest a slow move out of the console before you jump head first into some API programming.

Edit:

Quote:
Original post by ElectricJaguar
All useful replies, but the burning question still is.

- How does scripting languages tie into a game engine.


You don't need a scripting language or a game engine. Just create a few small arcade games for now. You're trying to jump from console to Quake 5.

Share this post


Link to post
Share on other sites
Quote:
Original post by ElectricJaguar
All useful replies, but the burning question still is.

- How does scripting languages tie into a game engine.
Scripting is a very complex topic. You can use scripting to do all sorts of things. I'm know gamedev has some articles about scripting. Take a look at some of those.

Share this post


Link to post
Share on other sites
Scet, thanks a million. I can truthfully say that everything you said helped me alot. One more question before I go off to play with C#. Anyone that knows can answer really.

How do I get graphics on the screen? Could you give me an example of code that will make something appear?

thanks to everyone that answered. I'll be back with 100's more silly questions alot and trying to help others as I learn.

Share this post


Link to post
Share on other sites
"5. Do I HAVE to know C#/C/C++ to start making a game?"


I would recomend learning C && C++ || C# which runs faster and is more compact then other high level languages like basic,pascal... I have never messed with C# but i have heard that it is way easyer to debug compared to C or C++. Yeh you need to be efficient with a programming language first and then you can move in by learning windows programming, directx, OpenGL, or a library like Allegro, ect.

Share this post


Link to post
Share on other sites
Quote:
Original post by ElectricJaguar
How do I get graphics on the screen? Could you give me an example of code that will make something appear?


I can't give you any code myself, but google is your friend. "C# GDI+"(forgot to mention you could use GDI+),"C# SDL","C# OpenGL","C# Direct3D",well you get the idea. I'd suggest GDI+, it seems simple enough. It'll help you adjust to Windows programming while being able to use graphics.

Share this post


Link to post
Share on other sites
Im not a proffesional or anywhere near it but I was in the same spot you were. I know this isnt what you want to hear, but here are my suggestins:

One of your questions was: 2.If you had to restart learning game development today, what's the first 3 things you would learn to do?

1. I would get comfortable with a language. "get comforatable" means that not only are you able to code in the language but you've practiced alot and bascily know what your doing. This was one of my problems when I was begginig. I wasnt comfortable with my language of choice before I tried to move on and I ended up wasting weeks torturing myself with directx and after that I quit programming all together. I didnt end up comming back to programming for a year and I really regret that.

2. I would learn that "learning" is way more than reading books and tutorials. You have to practice what you read or it will all be wasted. I wasted alot of my time reading books but not practicing what I read. I ended up learning nothing.

3. I would learn to never quit. If there is one thing that will keep you from learning its if you get frustrated and quit. This may not be a problem for others but it was a big one for me. I would spend hours typing code and then when I tried to compile it it would never work. You may very well spend more time fixing your code than you do typing it (especially if you use C++ like me), but make sure you stick through and complete your projects.

BTW: I sugest learning SDL. I think its fairly easy and I wouldnt use anything else.

Share this post


Link to post
Share on other sites
Quote:
Original post by ForeverNoobie
Im not a proffesional or anywhere near it but I was in the same spot you were. I know this isnt what you want to hear, but here are my suggestins:

One of your questions was: 2.If you had to restart learning game development today, what's the first 3 things you would learn to do?

1. I would get comfortable with a language. "get comforatable" means that not only are you able to code in the language but you've practiced alot and bascily know what your doing. This was one of my problems when I was begginig. I wasnt comfortable with my language of choice before I tried to move on and I ended up wasting weeks torturing myself with directx and after that I quit programming all together. I didnt end up comming back to programming for a year and I really regret that.

2. I would learn that "learning" is way more than reading books and tutorials. You have to practice what you read or it will all be wasted. I wasted alot of my time reading books but not practicing what I read. I ended up learning nothing.

3. I would learn to never quit. If there is one thing that will keep you from learning its if you get frustrated and quit. This may not be a problem for others but it was a big one for me. I would spend hours typing code and then when I tried to compile it it would never work. You may very well spend more time fixing your code than you do typing it (especially if you use C++ like me), but make sure you stick through and complete your projects.

BTW: I sugest learning SDL. I think its fairly easy and I wouldnt use anything else.



Thanks for that. I know what you mean with getting fed up and frustrated. Happened to me a few times and I lost interest. This time however, I have an iron resolve and will stick with it. Everyone keep on mentioning SDL, GDI+ etc. What exactly are they and how do I use them?

Share this post


Link to post
Share on other sites
SDL and GDI+ are graphics API. Basicaly they are a collection of functions that draws shapes and bitmaps to the screen. SDL can be used with alot of different programming languages on different operating systems. (im not sure about GDI+)

edit:As for how to get these APIs working on your compiler. Google SDL or GDI+ and the name of your compiler and you can probably find instructions. Setting up an API is different depending on what compiler you use.

Share this post


Link to post
Share on other sites
Quote:

Everyone keep on mentioning SDL, GDI+ etc. What exactly are they and how do I use them?

As ForeverNoobie already mentioned SDL and GDI+ are grapchics API. Now DirectX and OpenGL are also graphics APIs so you might be wandering where's the difference. The difference is that the former are high level APIs while the later are low level APIs. A high level API does not access hardware directly, it is uses an intermediary layer for this (i.e. SDL uses OpenGL to display graphics). Low level APIs talk with your hardware directly. If you are looking to squeeze the last drop of performance from your hardware you will probably want to use a low level API. For quick/easy results high level APIs are best suited.

Share this post


Link to post
Share on other sites
Quote:
Original post by LostSource
When should some start learning a scripting language? Is Lua one of the best ones to learn because I hear about it alot? Or what about XML?


xml isn't a scripting language. think of it as a flexible way to organize information. it's nice because it is a simple task to parse an xml file.

it relates to scripting in that it could be used to store level data, entity data, whatever.

an engine is the "hard archetecture" of a game. it handlse the rendering, culling, io, timers, sound etc. everything associated with hardware. it might also have libraries for collision detection, physics, etc.

then you can use a scripting language for gameplay. tell the engine what to do.

Share this post


Link to post
Share on other sites
Quote:
Original post by ElectricJaguar
How do I get graphics on the screen? Could you give me an example of code that will make something appear?


Well using GDI+(Which isn't something you should learn to rely on for graphics) you can do something like this:

private void DrawPicture(System.IntPtr WinHandle)
{
Grahpics g = Graphics.FromHwnd(WinHandle);

Bitmap Picture = new Bitmap(@"C:\\Images\\Picture.bmp");
g.DrawImage(Picture, 10, 10);
}


Any questions about it just look it up on Google because you will remember it much better.

Share this post


Link to post
Share on other sites

This topic is 4333 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this