Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / New
Stats: 3,150,848 members, 7,810,267 topics. Date: Saturday, 27 April 2024 at 03:49 AM

Aspiring Video Game Programmers Lounge. - Programming - Nairaland

Nairaland Forum / Science/Technology / Programming / Aspiring Video Game Programmers Lounge. (7191 Views)

Python Programmers' Lounge / Help An Aspiring Programmer / Aspiring To Be Programmer: How To Cope (2) (3) (4)

(1) (2) (3) (Reply) (Go Down)

Aspiring Video Game Programmers Lounge. by dueal(m): 6:48pm On May 26, 2009
Hello everyone. Today i'm starting a thread on this forum strictly for people who have always wanted to get into creating video games for the PC. I'm a 7yr developing PC game programmer versed in the C++ language, lua scripting and a wide arsenal of game developers libs and tools. So what i aim to do by starting this thread is to give tips from my experience on how to really create games(2d & 3d) that play. I'll be using/exposing these tools in my discussion: OGRE3d for graphics, Cegui for GUI, ODE/TOKAMAK for physics, SDL, OIS for input, OPENAL for 3d sound, LUA for scripting, and also C++ topics. I hope this will be and inspiring exposure into the fun world of game programming. You can normally find me on the Graphics & video forum(2d/3d Art gallery thread) by the name dueal, and if u r observant u'll notice that my 3d art is 'gamey like'. See u soon.

1 Like

Re: Aspiring Video Game Programmers Lounge. by dueal(m): 8:47pm On Jun 02, 2009
Hi everyone,sorry for the delay in posting again. So since i'm assuming a large percentage of us have played a computer game whether on a PC or dedicated console i'm not going to define wat a video game is. Instead i'll state wat every video game must have.
1. A graphical representation.
2. A means of interaction with the player. And
3. The game logic.
The other aspects that games have which i call "peripherals" but can really transcend the game to a new level of excitement if done properly are; sound,physics, enemy AI,and networking. I think i forgot to mention that i'll be including game networking in my discussion. So back to what i was trying to say 4 the week. A question that beginners punder on is 'how is it that this lil man on my tv screen runs,flys,jumps,fights,and even sings?'. The truth is he doesn't do all those things and there is no lil man there. The developers of that game which has u up all night glued to the screen are simply using the computer to play tricks on ur senses. One trick which some of u may not know about is PERSISTANCE OF VISION. Which is the phenomenon of the brain to interpret a series of similar advancing images played-back one-by-one in quick succesion as one continious motion. This 'illusion' technic is used whenever the perception of motion is to be replicated on screen. As a lil exercise get a note book (not the one u use for school) open it,pick about 12 sheets and on the longer edge draw stick figures of a man jumping up and down starting from ground then advancing his jump to a height then landing. Note to draw each advancement of the jump one for each sheet and they should be stacked. When ur done flip through the sheets u'll see that ur man/woman jumps. I remember using that trick on a girl back in primary school to show how her nostril grew and shrank at her will. Have fun! See u all soon.
Re: Aspiring Video Game Programmers Lounge. by Nobody: 9:58am On Jun 03, 2009
Nailed it.you got my attention cuz you know your stuff.am all ears.am also interested in mobile gaming development(symbian,java,flash).ogre3d what api does it use direct3d or opengl
Re: Aspiring Video Game Programmers Lounge. by dueal(m): 1:26pm On Jun 03, 2009
@pc guru. Ogre3d is an open-source graphics rendering engine written in C++ with an object-oriented design. It supports both direct3d and opengl graphics API's. If any one needs a question answered u can send it to my mail. That's: dueal21@yahoo.co.uk. I'll respond asap.
Re: Aspiring Video Game Programmers Lounge. by BigStar1(m): 3:37pm On Jun 05, 2009
interesting

1 Like

Re: Aspiring Video Game Programmers Lounge. by dueal(m): 7:15pm On Jun 07, 2009
Hello everyone. Onto the meal. One might ask 'how do i create a video game?'. Firstly, u most learn to talk to a computer by learning a programming language preferably C++ which supports an object-oriented style of programming. Did i here u say what's that!? Well OOP(Object-Oriented programming) is a programming style very suitable for building complex systems by letting the programmer express the systems functionality as the interaction btw objects/concepts. Hope i didn't get anyone lost there,but if i did i'll elaborate. Consider for a second expressing the idea of a car. U'll find out b4 long that the idea of a tire,an engine,doors,brake pads,and even a driver e.t.c will come to mind. Now, in an OOP language u can express(put) that car idea directly in ur program. Secondly, u need to learn ur maths, u just can't keep running away from it. U will have to learn about Vectors,Trigonometry,Matrix,Newton dynamics, and Calculus. Which really aren't difficult if u want to get into game programming. Thirdly, u'll need to learn about diffrent game libraries like OpenGL & DirectX for 3d graphics and the lot. And finally start by creating a small game(2d preferably). Did i hear someone shout? Didn't mean to get u all sweaty(lol). The truth is u must learn a programming language and start from creating a small game. A lot of game libraries exist to help u with the math stuff but it pays if u knw the math. Now for a real enlightenment. Video games while being monstrous systems that can take from 6months to 9 years to create starting from concept to system design to lunch of the complete game all have the same mode of operation i.e they start, process, and stop. The start/initialization phase is where all needed resources like texture data,sound system,input hardware,video hardware,character model are loaded into memory and initialized. The process phase which is simply one way or another a continuous loop to update every thing that defines the scenario of the game for every other frame and 'painting' the video memory(screen) with it. To make that point clearer,look through ur window what do u see? Yes, what ever u see with ur eye is inprint/'painted' in ur memory/brain at every point in time. Take another analogy, if there was a painter with a canvas and he could paint what he sees in 1/60th of a second or less of people walking about and interacting with one another and shows u that painting every 1/60th of a second u'll perceive motion on the canvas. That's what game programmers do by using the computer as a very fast painter. The final step of a game is when it stops(destruction phase) which just does the opposite of the initialization phase. Walla! In preparation for next weeks exposure get to the net and download SDL from www.libsdl.org. See u soon.
Re: Aspiring Video Game Programmers Lounge. by Nobody: 9:09am On Jun 10, 2009
You're right always hated maths but loved programming but even readiing programming systematically brings a kinda need to supplement it with maths.Expecting your thread to continue bye.
Re: Aspiring Video Game Programmers Lounge. by dueal(m): 8:10pm On Jun 14, 2009
Welcome everyone, here's another week thank God. Now, i hope we all had the chance to get the SDL library?, GOOD! Well, what's it for u might ask. SDL (Simple Direct-Media Layer) is a low-level lib for the game developer. It helps build cross-platform game code and gives API's to a systems video, sound, cd-rom, and input hardware (all a game developer needs!).  Also if u know the OpenGL (Open Graphics Library) specification, SDL is able to create an OpenGL context (kinda a 'hardware format') for the creation of 3d media. Wow!  I'll b posting a lil code snip' demonstrating the use of SDL here:

/*
* Test code to demonstrate the use of the SDL library.
* This Source is open for modification.
* Play&Code games.
* NB: Remember to link with the SDLmain.lib and SDL.lib*/

#include "SDL.h"
#include <iostream>

//predefined colors usable by createColorBlock function.

enum Colors { Red   = 0xff0000,
              Green = 0x00ff00,
              Blue  = 0x0000ff,
              Lime   = 0x66ff00,
              Sky    = 0x9966ff,
              Pinky  = 0xff6699,
              White = 0xffffff,
              Orange = 0xff9900
};

void    createColorBlock(Uint32 hexColor, int x, int y,float width = 150,float height= 150);

int   main(int argc, char * argv[])

{
using namespace std;

if (SDL_Init(SDL_INIT_VIDEO) < 0)
{
cout << SDL_GetError();
SDL_Quit();
return -1;
}

char * gameTitle = "sdl application window.";
int  screenWidth = 650, screenHeight = 480;
int  bpp = 32;
Uint8 flag = SDL_SWSURFACE | SDL_ANYFORMAT;

//load game logo.
SDL_Surface * icon = SDL_LoadBMP("open-source-icon.bmp"wink;

//test is the load was a success.
if (icon  != 0)
SDL_WM_SetIcon(icon, 0);
else
{
SDL_Quit();
return -1;
}

//create video surface.
SDL_Surface * screen = SDL_SetVideoMode(screenWidth,screenHeight,bpp,flag);
SDL_Surface * image  = 0;

//test if we got the screen created.
if (!screen)
{
//video memory initialization failed for some reason.
cout << SDL_GetError();
SDL_Quit();
}
SDL_WM_SetCaption(gameTitle,gameTitle);

SDL_Event evt;
bool quit = false;

//button state indicators.
bool CTRL_Pressed  = false;
bool SHIFT_Pressed = false;
bool M_Pressed     = false;
bool P_Pressed     = false;

bool showCursor    = true;
bool previousCursorState = true;

while (!quit)
{
while (SDL_PollEvent(&evt))
{
switch (evt.type)
{
case SDL_QUIT:
quit = true;

break;
case SDL_KEYDOWN:
if (evt.key.keysym.mod == KMOD_LCTRL || evt.key.keysym.mod == KMOD_RCTRL)
    //mode key pressed.
//change state of  button indicators the handle in corresponding game events
CTRL_Pressed = true;

if (evt.key.keysym.sym == SDLK_m)
M_Pressed = true;
if (evt.key.keysym.sym == SDLK_p)
P_Pressed = true;
if (evt.key.keysym.sym == SDLK_p)
P_Pressed = true;

if (evt.key.keysym.sym == SDLK_w)
{
if (previousCursorState == true)
{
showCursor = false;
}
else
{
showCursor = true;
}
}

if (evt.key.keysym.sym == SDLK_ESCAPE) //quit application with ESC key.
quit = true;

break;
case SDL_KEYUP:
if (evt.key.keysym.mod == KMOD_LCTRL || evt.key.keysym.mod == KMOD_RCTRL)
    //mode key pressed.
//change state of  button indicators the handle in corresponding game
CTRL_Pressed = false;

if (evt.key.keysym.sym == SDLK_m)
M_Pressed = false;
if (evt.key.keysym.sym == SDLK_p)
P_Pressed = false;

break;
}
//handle the game corresponding events here.
if (M_Pressed && CTRL_Pressed)
{
//take action here.
}
else
{
//take opposite action here.
}

if (M_Pressed)
{
//take action here.
}
else
{
//take opposite action here.
}

if (P_Pressed)
{
//take action here.
}
else
{
//take opposite action here.
}
}

SDL_ShowCursor(showCursor);
if (argc > 1)
{
//get image file name on load of application.
image = SDL_LoadBMP(argv[1]);
}
else
image = SDL_LoadBMP("open-source.bmp"wink;

//put image in video memory.
SDL_BlitSurface(image,0,screen,0);

//create the block centered on the screen.
//you can change the color of the block by using any of the predefined color codes in hex.
createColorBlock(Orange, (screen->w / 2) - (150 / 2), (screen->h / 2) - (150 / 2));
createColorBlock(Red, (screen->w / 2) - (75 / 2), (screen->h / 2) - (75 / 2), 75, 75);
//upate the screen window.
SDL_UpdateRect(screen,0,0,screenWidth,screenHeight);
}

//application ending.
SDL_FreeSurface(image);
SDL_FreeSurface(icon);

SDL_Quit();
return 0;
}
Re: Aspiring Video Game Programmers Lounge. by dueal(m): 6:33am On Jun 15, 2009
//call this function to create a block of color.
void      createColorBlock(Uint32 color, int x, int y, float width, float height)
{

if (x + width > SDL_GetVideoSurface()->w)
{
y += 5; //place on next grid.

       x = 5;
}

//create rect accorinding to current spec.
SDL_Rect rect = {x,y,width,height};

//draw in memory.
SDL_FillRect(SDL_GetVideoSurface(),&rect,color);
}

Do remember to link with SDLmain.lib & SDL.lib files.
So that i don't leave out some of us who haven't gotten into programming with C++ i'll also talk about something i was going to leave till next time.
A very important aspect of developing games or any creative work is the DESIGN document. We all get the temptation of jumping right into a creative endeavour without taking time to plan out a strategy. This is natural but dangerous and we need to practice patience in developing an attitude towards designing first cos it helps burn out unrealistic ideas when exposed to the 'hot' investigative light. A GAME DESIGN DOCUMENT  is a kinda blueprint that shows the plan of the game been created. It tells what's going to be in the game and what won't.
This document is so important cos with the excitement that can happen while u r implementing the game u might keep on adding stuff to the game even when it doesn't fit thereby making u run around like a 'blind man' and never get the game finished. You'll have to put down stuff like, the story line and goal of the game, the genre of the game (action-arcade, strategy, puzzle, platform or a hybrid of the others), your target audience (kids, teens, dads & mums), what the game view will be (bird eye view, 1st person, 3rd person), and alot of other game specific issues like budget. With ur design document done u need to get the necessary resources like a game engine, people power (unless u r going the journey alone!), content creation tools like a modeller & image processing software, a programming language compiler/interpreter and so on (call this ur R&grin process). Later people!
NB: place these image files in the executable's directory after converting them to BMP format.

1 Like

Re: Aspiring Video Game Programmers Lounge. by Nobody: 5:51am On Jun 16, 2009
Na wa o, see as codes full here, all the newbiews go don run away by now!

1 Like

Re: Aspiring Video Game Programmers Lounge. by kennbox(m): 12:51pm On Jun 16, 2009
Game Programming is a really interesting way to learn programming from the very roots to pro level. Also to put to good use all the seemingly not so important algebra learnt in colleges, especially matrices and linear programming.

Well done guys

I 'lld post some game programming resouce when I'm more chanced.
Cheers!

1 Like

Re: Aspiring Video Game Programmers Lounge. by dueal(m): 7:22pm On Jun 21, 2009
Welcome game lovers. Here's a new week. My sincere apologie to everyone who got their hopes down in becoming a game programmer because of the last code snip' i put up. Don't mean to discourage u on ur journey to becoming one. So, i promise not to post anymore code until i'm certain a handful are up to the task. So, deviating from coding issues, i'll talk about the Cartesian Coordinate System (CCS). If u were a good listener in school, at some point u would have heard of the Cartesian Coord System which is a way of representing points/locations in  2d plane / 3-dimensional space as an ordered pair of X,Y,Z dividing space into 3 planes at right angle to each other. In game programming,this is the system used to make our life less hectic. In this system we pick any point in space and use it as a reference to describe the location of other points relative to it. Consider this, u're standing at a spot and u see this fine chick/dude walk by. If u went off to describe the marvelous event to a friend willing to listen even though he/she knows u ended up not getting the pearls number, u'll say he/she was 'N' Feet away from me. That right there is using ur position as a reference to the girl's/guy's position at that time. Every graphics library (OpenGL,Direct3D, Glide) has a means of allowing the programmer specify locations when creating virtual worlds. U can create geometry representing a monster and place it in any location in infinite virtual space. Now, there is a slight difference to the CCS used by OpenGL & D3D. This has to do with the direction which represents positive Z-axis. The Left-Handed CCS is when positive Z points into the screen away from u this is used by D3D, while the Right-Handed CCS is when positive Z-axis points from the screen towards you this is what OpenGL uses.Consider u want to move a hero model called 'Rakacan' who's positioned at (12, 1, 0) away from u i.e into the screen. Using OpenGL u'll enter the new location as (12, 1, -80) and in D3D u'll enter the new location as (12, 1, 80). Notice the negative sign for OpenGL.  There's another beautiful use of the CCS; it can be used to represent direction and magnitude simultaneously by using a math entity called vectors. Vectors can be used to describe any physical quantity that has a magnitude and a direction like Force, Velocity, Acceleration, Displacement e.t.c. Two vectors can be checked 4 the angle btw them, they can be used to generate a vector that's mutually perpendicular to both, they can be reverse or scaled up or down which have beneficial uses to a game programmer. To learn more about CCS and vectors search the net or get a good math text on Linear Algebra (ENGINEERING MATH by K.A Stroud). See u soon!
Re: Aspiring Video Game Programmers Lounge. by dueal(m): 7:22pm On Jun 21, 2009
!
Re: Aspiring Video Game Programmers Lounge. by dueal(m): 9:48am On Jul 06, 2009
Welcome again. Now, i'll be talking about some aspects of a 2D game even though i'm sure alot of us will like me to jump straight to 3D but i'm a believer in starting with the 'small'. Consider for a second the things that differentiate a 3d game u've played (like God of War) from a 2d game u played while growing up like Super mario land (if u were born in the 80's). In the 3d game there's the feel of perspective/depth, while the 2d game looks flat. Apart from that there is almost no clear distinction between both. Analysing further, we notice that in 2d games we are restricted to moving in one plane i.e up,down,right,& left. But there's this feel of advancing in a continous world. While in 3d games we have almost no restriction of movement. The illusion of advancing in a 2d game environment is made possible by the use of a scrolling algorithm (computation) that replaces the background image on the screen with an advanced portion of some texture map u created in a paint program(like GIMP) every other frame (A single frame is the final pixel data that exist in some memory (either Video RAM or System RAM) that will be sent to the monitor for drawing on its screen). So, as u move the image representing your hero u also use the Scroller to advance in the environment map, giving u the feel of continous motion through the game world. I'll be posting a .zip file containing a Scrolling solution you can play with later on. Keep playing & coding games. See you soon.
Re: Aspiring Video Game Programmers Lounge. by dueal(m): 9:50am On Jul 06, 2009
And here's an implementation for a Scroller object written in C++. Enjoy!

Re: Aspiring Video Game Programmers Lounge. by malone5923(m): 1:20pm On Jul 09, 2009
Nice one guy we really needed a topic created specifically for game develops. I have always wanted to be a game developer after much research I have being able to come across good books that great for beginnes like c++ how to program, 3d math for game programmers, physics modelling, game achitecture, introduction to directx 9: a shader approach. I just started reading c++ and hopefully before the year runs out i will through with the rest. I hope your thread stays alive because i know i will asking a lot of question regarding 3d math. You can also list out recommeded books for beginners.
Re: Aspiring Video Game Programmers Lounge. by tizofreak: 4:25pm On Jul 09, 2009
Man, am awed by your stuff .been wanting to design games years ago.i learnt about microsoft's DirectX, but never did went farther than that, now with you around,i guess i can rekindle that hope again, not that i really wanna be a video game programmer, i might just wanna have some fun, my interest is in webprogramming, am through with, HTML, JAVASCRIPPT,I also learnt php.mysql, but it seems you cant just learning everything, what about Frotpage&Dreamweaver?talk to you later, maybe you can tutor me on webprogramming, abi?
holyfreak21@yahoo.com

TAYE
Re: Aspiring Video Game Programmers Lounge. by dueal(m): 3:24am On Jul 10, 2009
A BIG Welcome from me to the new aspirants.
@malone5923. Game programming is a beautiful and exciting way to stay hooked on programming and tech. Now, i wouldn't want to start listing a whole lot of books on game programming, i'll leave that work to GOOGLE. But here are some of my personal fav' sites that can come in handy:
for 3d math, www.euclideanspace.com
for latest industry news, www.gamedev.net
for libraries i program with, www.ogre3d.org
www.libsdl.org
www.lua.org
www.cegui.org.uk
www.opengl.org
for 3d modelling,
www.free3dtutorials.com
www.cgindia.org
. Also, since i'm quit certain u'll want to be developing games on Windows for now, get a book on Win32 programming API.
@tizofreak, AH! Good thing u started from the 'small' (HTML, JAVASCRIPT). We all in this industry program for the love and fun of it, or so i think. Web development is a topic i'll leave to discussion by someone else on this forum or elsewhere. Keep playing & coding games. Later!
Re: Aspiring Video Game Programmers Lounge. by cocoduck: 10:42pm On Jul 10, 2009
Well What I have to say is that anyone with out programming knowledge should not just dive into game making with C++ instead go to BASIC, it is very simple to learn and master and C++ is pretty difficult for first timers so you need a previous knowledge of programing to start to learn it so go for BASIC first of all then to C++ that would be a a lot easier for you. you can use a software called darkBASIC pro from thegamecreators.com go there for more info
Re: Aspiring Video Game Programmers Lounge. by malone5923(m): 1:38am On Jul 11, 2009
Thanks for the list and advice. I have being playing around with gamedev.net for a long time now but never got serious about the stuff they could offer also i will like a recommended book on win 32 since beginning directx only offers a primer.
Re: Aspiring Video Game Programmers Lounge. by dueal(m): 6:15am On Jul 11, 2009
@malone5923. Programming Windows fifth edition by Charles Petzoid. Keep brushing up on that C++ book u've got and for a good starter reference on C++ visit www.softlookup.com and copy the C++ tutorial there, it's the kicker!
Re: Aspiring Video Game Programmers Lounge. by tizofreak: 1:47pm On Jul 11, 2009
Thanks, am really coming in big into IT.so am gonna need all the experiences and skills of my predecessors,xpecially on this forum, keep it up, man!
Re: Aspiring Video Game Programmers Lounge. by dueal(m): 6:28pm On Jul 19, 2009
Welcome to a new post gamers. Today, i'll be talking about a very intresting topic on Game Programming Mathematics. Don't get scared now! It's just Vectors i'll be talking about. What's a Vector you say? Well, a vector is a mathematical entity used to represent quantities that have a magnitude/size and a direction. By that i mean quantities like Force(push or pull), velocity(displacement per secs), acceleration e.t.c. All these quantities posses 2 things:
1. A MAGNITUDE.
2. A DIRECTION.
So u can represent each one with a vector. Oh! i haven't shown what a vector looks like in math. Well, a vector is represented as a triple entity (has 3 components) say:
v = 3i + 6j + 24k
where 'v' is a vector and '3i' is its x component, '6j' is its y component & '24k' is its z component in the Cartesian Coordinate System(CCS). Now u might ask "why learn this math?". Well if u r going to be programming games u need to have a good grib on this guy(vectors). Take for example u have ur game hero character who has a rocket launcher with heat seaking missles and u aim at an evil rabbit that steals ur magic carrot and runs off. U don't have to worry cause u've picked the super heat-seaking missle equipped rocket launcher. U fire at the rabbit hoping ur rocket seaks it out and kills it which it should but how does the rocket track this baddy rabbit. Not to worry! All u need to do is get the current position of the rabbit then get the direction ur missle's head is facing and subtract ur missle heads direction from the position of the rabbit. This produces a vector with magnitude equal to the distance btw the rabbit and the missle and the direction in which the missle's should travel on to hit the jolly rabbit. How is the subtraction done?
First, get the rabbits current position say:
evilRabbit1position = (15, 0, 400);
Next, get the missles direction say:
seakerMissle1direction = (0.58, 0.58, 0.58);
Then u subtract by subtracting each component in rabbit position & missle direction:
resultVector = (15 - 0.58, 0 - 0.58, 400 - 0.58);
resultVector = (14.42, -0.58, 399.42);
Now this resulting vector tells us 2 things:
1. The distance btw the rabbit and the missle,
2. The direction in which the missle should travel to hit the rabbit.
We find this distance by taking the square root of the sum of the square of resultVector i.e:
distanceToMenace = sqrt(14.42^2 + (-0.58)^2 + 399.42^2);
distance = 399.68;
Now, we need to get the direction the missle should travel to hit the rabbit. We get it by simply dividing each component of resultVector by the distance which is actually the magnitude of the resultVector.
So,:
travelVector = (14.42/399.68, -0.58/399.68, 399.42/399.68);
travelVector = (0.0361, -0.0015, 0.9993);

The process of dividing each vector component by the magnitude of the vector is called 'NORMALISING' the vector. This gives us a vector that has a magnitude of 1. Try getting the magnitude of travelVector it should be 1. I'll talk more on vectors next post, b4 then u can visit www.euclideanspace.com for more light. Later people!
Re: Aspiring Video Game Programmers Lounge. by malone5923(m): 12:00am On Jul 20, 2009
Only through determination and hard work can a person become a game programmer @duel perhaps you should ease out and s tart with the really really easy topics.
Re: Aspiring Video Game Programmers Lounge. by dueal(m): 8:03am On Jul 20, 2009
@malone5923. Game Programming in itself isn't an easy field but it's do able with persistance and practice. Well, u can come up with a topic u want to be clear on and i'll discuss it the best i can.Since u r a beginner u r the better in judging what topics a beginner will want to begin with. Also, i take note on a fault of mine, i haven't been posting graphical illustrations with my discussion. I'll try to as often as i can. Keep playing & coding games. Later!
Re: Aspiring Video Game Programmers Lounge. by ibo(m): 8:56pm On Jul 20, 2009
pls i need materials on c++ and c and pls can some one tell me which one to learn first
Re: Aspiring Video Game Programmers Lounge. by dueal(m): 9:08am On Jul 21, 2009
@ibo. The decision on what programming language u should learn is based on what u already knw and what u intend to learn. This thread is for game programming aspirants in general and the code i post is in C++. If u've never used any programming language b4 nor a scripting language, i'll advice u learn HTML code then build up from there. But if u r strong hearted, patient, determined, and crafty i'll say u start with C++ then back to C. It's up to u. Keep playing & coding games. Later.
Re: Aspiring Video Game Programmers Lounge. by Kemjisuper(m): 1:52pm On Jul 21, 2009
@Dueal
Hi Man, WOW!  shocked You got me captivated alongside all the others on this thread. I'm one of them "Game Enthusiasts" as I've been fascinated by games since I was a kid. In fact, one of my aspirations in life is to become a Game programmer and designer meself! Although I'm not so grounded on the programming aspect, I have a flair for Graphics and as such, would like to really understand how Game Graphics and Game Programming connect to each other. I'm also looking towards designing Game graphics, both in 2D and 3D to be used in actual games by whoever can work out the programming!

I'll keep visiting this thread for more info as I strongly believe you would provide.  wink

Cheers man, Keep it up! cool

And Oh! I love your 3d graphics on the Graphics Forum too.  kiss

Ps: View my profile pic for my attempt at Game Graphics Design!
Re: Aspiring Video Game Programmers Lounge. by malone5923(m): 2:09pm On Jul 22, 2009
@duel How about a topic that covers the history and most widely used graphics apis.
Re: Aspiring Video Game Programmers Lounge. by malone5923(m): 2:09pm On Jul 22, 2009
@duel How about a topic that covers the history and most widely used graphics apis.
Re: Aspiring Video Game Programmers Lounge. by dueal(m): 3:53pm On Jul 22, 2009
@malone5923 and @ALL. The "HISTORY" of graphics API's. That's one subject i hate (HISTORY). I'll try to talk about the most widely used graphics api(s), but i'll start by talking about the 'atoms' of graphics(PIXEL). A pixel (short for picture element) is the smallest area on a screen that can be give a colour. Remember playing those china imported hand-held games that only had a variant of Tetris installed in them? They had blocks that were combined to create the different game objects (box, L, T,  I). I'm sure u got fed-up with those things soon enough. Well, the point is the smallest area on the screen of those games that can be filled/painted in monochrome (single colour) was the size of the small box. That represents a pixel for those games and nothing smaller can be drawn in them. Now, if u've got a digital cam or have read articles on them u must have come across something called mega-pixels. That just specifies the number of small box's that fit into the cam's LCD. U might wonder why the manufature's always come up with cams with a larger mega-pixel. The idea, if u haven't gotten it already, is that the more pixels that are contained  on a screen the better the quality of the image produced.  So which ever api u use to create computer graphics, the end result is a collection of pixels on screen.
Ok now, let's talk about Graphics Api's. Before 3D graphic Api standard libraries were made like OpenGL & Direct3D, each system manufacture wrote her own API for the system it produced. So, if u wanted to create a graphical application for the system u have to get ur hands dirty with the systems own Graphics Api. And that was alot of headache for our predecessors trying to port code to another system with its own graphics api. Now, we have standard OpenGL which is a graphics library that's implemented on a vast number of machines including windows and we also have Direct3D which is tied to Microsoft Windows. So, i won't be saying which is popular and which isn't; won't want a war on this thread now.
Both API's (OpenGL & Direct3D) are mature and u can do alot with either. They both enable you the programmer to create 3-dimensional objects on screen, Texture those objects, set up a camera to view the objects from any angle in virtual space, transform (move, rotate, scale) the objects e.t.c. Have to run. Keep playing and coding games. Later people!
Re: Aspiring Video Game Programmers Lounge. by malone5923(m): 8:05am On Jul 23, 2009
@duel nice one

(1) (2) (3) (Reply)

How To Develop Android Apps From Scratch Without Coding. / You need to see this! "Awoof" Offer You Can't Get Anywhere Else / Picture And 16 step How To Drive Manual Motor Vehicle

(Go Up)

Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health
religion celebs tv-movies music-radio literature webmasters programming techmarket

Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)

Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 95
Disclaimer: Every Nairaland member is solely responsible for anything that he/she posts or uploads on Nairaland.