Saturday 29 August 2009

Still working on website

Hi guys quick update

My new computer is down. Without the thought of installing virus protection I picked up a serious virus and now I am restarting every time I get on(if i get on) So tommorow I will look into getting another copy of the windows 7 OS from some of my sources. Failing this I dont know what I will do. I will definately save up for Windows 7 when it comes out in October. But that is ages away and I don't think I can live that long without it.

I am still currently working on my new website gamercity.co.uk. Right now I am adding new tutorials in C++ so if you would like to go there and check them out I would be really grateful. Also I am working on adding wordpress software to the website so that I can continue blogging on my own domain name. The forums are up and running on my new website as well so if you would like to go and check them out and maybe post a thread or two I would be delighted. Although please do-not spam my forums.

On game dev side of life I am just about finished my documentation of the rpg game which I will start work on as soon as my new computer is back up and running. Right now I am using my little brothers computer although I do-not think he will mind as he never goes onto it. Anyways please feel free to check out my new website http://www.gamercity.co.uk if you would like to see something that is the work of a complete newb at website programming. Although I cannot take credit for the art and layout as I "stole" that off a free template site. It was much better than my previous version which had an awful color scheme and looked very unprofessional. Atleast with this design I think I look at least semi-professional. Although the layout is much different to normal game sites I still think that it is cool.

anyways back to work on writing tutorials. My third one is well under way. It shall be called Simple calculator :D check it out!

Thursday 27 August 2009

New website

Hi guys quick update. I am still working on the layout and design for my new website- Gamercity.co.uk and i do believe that i have submitted my site to google although i will have to check. Check out my site and tell me what you think. I am not doing much in the way of games atm :( as i would like to get this site looking semi-proffesional before the end of september.

Tuesday 25 August 2009

New website

Hi guys I have gotten my website - Gamercity.co.uk up and running I can now import my own .html files and images for my site although It is pretty bland at the moment i am looking into making it look a wee bit more professional looking. Please check it out!

Source code

hi guys here is the my main.cpp source code just to let you guys see it. Notice the poor coding style and bad practice but if you see any coding tidbits you like feel free to use them

//The headers
#include "SDL.h"
#include "SDL_ttf.h"
#include "SDL_image.h"
#include "ball.h"
#include "Paddle.h"
#include "Button.h"
#include "timer.h"
#include "computerpaddle.h"
#include
#include
#include



//The screen attributes
const int SCREEN_WIDTH = 800;
const int SCREEN_HEIGHT = 600;
const int SCREEN_BPP = 32;

//The frame rate
const int FRAMES_PER_SECOND = 20;

//The dimensions of the dot
const int playerpaddle_WIDTH = 20;
const int playerpaddle_HEIGHT = 80;

const int ball_WIDTH = 20;
const int ball_HEIGHT =20;

const int CLIP_MOUSEOVER = 0;
const int CLIP_MOUSEOUT = 1;
const int CLIP_MOUSEDOWN = 2;
const int CLIP_MOUSEUP = 3;


int gamestate = 0;

bool isWinner = false;


SDL_Color textColor = { 255, 255, 255 };

//The surfaces

SDL_Surface *buttonSheet = NULL;
SDL_Surface *Mainmenu = NULL;
SDL_Surface *score = NULL;
SDL_Surface *score2 = NULL;
SDL_Surface *scorepoints = NULL;
SDL_Surface *scorepoints2 = NULL;
SDL_Surface *playerpaddle1 = NULL;
SDL_Surface *ball1 = NULL;
SDL_Surface *paddle1 = NULL;
SDL_Surface *background = NULL;
SDL_Surface *screen = NULL;
SDL_Surface *victory = NULL;

TTF_Font *font = NULL;
//The event structure
SDL_Event event;
SDL_Rect box;
SDL_Rect paddlebox;
SDL_Rect compbox;




SDL_Rect clips[ 1 ];


SDL_Surface *load_image( std::string filename )
{
//The image that's loaded
SDL_Surface* loadedImage = NULL;

//The optimized surface that will be used
SDL_Surface* optimizedImage = NULL;

//Load the image
loadedImage = IMG_Load( filename.c_str() );

//If the image loaded
if( loadedImage != NULL )
{
//Create an optimized surface
optimizedImage = SDL_DisplayFormat( loadedImage );

//Free the old surface
SDL_FreeSurface( loadedImage );

//If the surface was optimized
if( optimizedImage != NULL )
{
//Color key surface
SDL_SetColorKey( optimizedImage, SDL_SRCCOLORKEY, SDL_MapRGB( optimizedImage->format, 0, 0xFF, 0xFF ) );
}
}

//Return the optimized surface
return optimizedImage;
}

void apply_surface( int x, int y, SDL_Surface* source, SDL_Surface* destination, SDL_Rect* clip = NULL )
{
//Holds offsets
SDL_Rect offset;

//Get offsets
offset.x = x;
offset.y = y;

//Blit
SDL_BlitSurface( source, clip, destination, &offset );
}

bool check_collision( SDL_Rect A, SDL_Rect B )
{
//The sides of the rectangles
int leftA, leftB;
int rightA, rightB;
int topA, topB;
int bottomA, bottomB;

//Calculate the sides of rect A
leftA = A.x;
rightA = A.x + A.w;
topA = A.y;
bottomA = A.y + A.h;

//Calculate the sides of rect B
leftB = B.x;
rightB = B.x + B.w;
topB = B.y;
bottomB = B.y + B.h;

//If any of the sides from A are outside of B
if( bottomA <= topB ) { return false; } if( topA >= bottomB )
{
return false;
}

if( rightA <= leftB ) { return false; } if( leftA >= rightB )
{
return false;
}

//If none of the sides from A are outside B
return true;
}


bool init()
{
//Initialize all SDL subsystems
if( SDL_Init( SDL_INIT_EVERYTHING ) == -1 )
{
return false;
}


screen = SDL_SetVideoMode( SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_BPP, SDL_SWSURFACE );

background = load_image( "PongBackground copy.png" );
//If there was an error in setting up the screen
if( screen == NULL )
{
return false;
}

if( TTF_Init() == -1 )
{
return false;
}

//Set the window caption
SDL_WM_SetCaption( "Pong v1.0", NULL );

//If everything initialized fine
return true;
}

void set_clips()
{
//Clip the sprite sheet
clips[ CLIP_MOUSEOVER ].x = 0;
clips[ CLIP_MOUSEOVER ].y = 0;
clips[ CLIP_MOUSEOVER ].w = 320;
clips[ CLIP_MOUSEOVER ].h = 240;


}

bool load_files()
{
//Load the dot image
playerpaddle1 = load_image( "paddle.png" );
paddle1 = load_image( "paddle.png" );
ball1 = load_image( "ball.png" );
buttonSheet = load_image( "Start button copy.png" );
Mainmenu = load_image( "Pong main menu copy.png" );


font = TTF_OpenFont( "lazy.ttf", 28 );

//If there was a problem in loading the dot
if( playerpaddle1 == NULL )
{
return false;
}
if( paddle1 == NULL )
{
return false;
}

if( ball1 == NULL )
{
return false;
}

if( font == NULL )
{
return false;
}
if( buttonSheet == NULL )
{
std::cout << x =" 0;" y =" 0;" w =" 20;" h =" 80;" y =" 80;" xvel =" 0;" yvel =" 0;" type ="="" type ="=""> SCREEN_HEIGHT ) || ( check_collision( box, paddlebox ) ) )
{



paddlebox.y -= yVel;
}




// check for collision between ball and paddle. if true add score


}

void playerpaddle::show()
{
//Show the dot
apply_surface( paddlebox.x, paddlebox.y, playerpaddle1, screen );
}





//The timer




ball::ball()
{
//Initialize the offsets
box.x = 400;
box.y = 200;
box.w = 20;
box.h = 20;



playerscore = 0;
playerscore2 = 0;
//Initialize the velocity
xVel = 20;
yVel = 10;
}


void ball::move()
{
//Move the playerpaddle left or right
box.x += xVel;

//If the playerpaddle went too far to the left or right
if( ( box.x <> SCREEN_WIDTH ) || ( check_collision( box, paddlebox ) ) || ( check_collision( box, compbox ) ) )
{
//move back
box.x -= xVel;


xVel *= -1;
}
if( ( box.y <> SCREEN_HEIGHT ) || ( check_collision( box, paddlebox ) ) || ( check_collision( box, compbox ) ) )
{
//move back

box.y -= yVel;



yVel *= -1;

}

if(box.x == 0)
{
playerscore2 += 5;
}
if(box.x == 780)
{
playerscore += 5;
}
//Move the playerpaddle up or down
box.y += yVel;

//If the dot went too far up or down


}

void ball::show()
{
//Show the dot
apply_surface( box.x, box.y, ball1, screen );
}
void ball::get_score()
{

std::stringstream stream;
stream << text =" stream.str();" ptr1 =" text.data();" scorepoints =" TTF_RenderText_Solid(" text2 =" stream2.str();" ptr2 =" text2.data();" scorepoints2 =" TTF_RenderText_Solid(" playerscore ="="" victory =" TTF_RenderText_Solid(" iswinner =" true;" playerscore2 ="="" victory =" TTF_RenderText_Solid(" iswinner =" true;" screen_width =" 640;" screen_height =" 480;" x =" 780;" y =" 200;" w =" 20;" h =" 80;" xvel =" 0;" yvel =" 0;" type ="="" type ="=""> compbox.y)
{
yVel = 9;

}
if(box.y < yvel =" -9;"> SCREEN_HEIGHT ) || ( check_collision( box, paddlebox ) ) )
{



compbox.y -= yVel;
}



}

void paddle::show()
{
//Show the dot
apply_surface( compbox.x, compbox.y, paddle1, screen );
}

Button::Button( int x, int y, int w, int h )
{
//Set the button's attributes
box.x = x;
box.y = y;
box.w = w;
box.h = h;

//Set the default sprite
clip = &clips[ CLIP_MOUSEDOWN ];
}

void Button::handle_events()
{
//The mouse offsets
int x = 0, y = 0;

//If the mouse moved
if( event.type == SDL_MOUSEMOTION )
{
//Get the mouse offsets
x = event.motion.x;
y = event.motion.y;

//If the mouse is over the button
if( ( x > box.x ) && ( x <> box.y ) && ( y < clip =" &clips[" clip =" &clips[" type ="="" button ="="" x =" event.button.x;" y =" event.button.y;" gamestate =" 1;"> box.x ) && ( x <> box.y ) && ( y < clip =" &clips[" type ="="" button ="="" x =" event.button.x;" y =" event.button.y;"> box.x ) && ( x <> box.y ) && ( y < clip =" &clips[" quit =" false;" counter =" 0;" quit ="="" type ="="" quit =" true;" gamestate ="="">clip_rect, SDL_MapRGB( screen->format, 0xFF, 0xFF, 0xFF ) );
apply_surface(0,0, Mainmenu, screen);
button1.show();

}

if( isWinner == true)
{ gamestate = 0;
}
if(gamestate == 1)
{
counter += 1;

score = TTF_RenderText_Solid( font, "score:", textColor ); //If there was an error in rendering the text
if( score == NULL )
{
return 1;
}

score2 = TTF_RenderText_Solid( font, "score:", textColor ); //If there was an error in rendering the text
if( score2 == NULL )
{
return 1;
}



apply_surface(0, 0, background, screen);

apply_surface( 0, 0, score, screen );
apply_surface( 600, 0, score2, screen );



gameball.get_score();
myplayerpaddle.show();
mypaddle.show();
gameball.show();

if(counter >= 30)
{

if(isWinner == false)
{

mypaddle.move();
gameball.move();
myplayerpaddle.move();


}
}


}

//Update the screen
if( SDL_Flip( screen ) == -1 )
{
return 1;
}

//Cap the frame rate
if( fps.get_ticks() < 1000 / FRAMES_PER_SECOND )
{
SDL_Delay( ( 1000 / FRAMES_PER_SECOND ) - fps.get_ticks() );
}
}

//Clean up
clean_up();

return 0;
}


I wont include the header files as they are basically just the file classes and they are quite literally the same

Monday 24 August 2009

PONG postmortem.

Hi guys heres the postmortem of the pong game i recently finished.

the good:

I got it finished within a week of starting SDL and it has given me a fairly solid grasp of the language. I managed to implement all the features I was primarily hoping to implement like the main menu. The AI and a semi decent background. It showed me how long it would take me to create alot bigger games and it also showed me that if i keep working at something I can get it done pretty quickly. I am also glad I seperated the main.cpp into seperate files, mainly .h files that held all the class information. All in all i learned alot! and hopefully I can build on this so that in the future I can only create better and better games.

the bad:

I really wish I had spent alot longer on the art but as this was only my first game I thought it would be best to focus on the programming side. If it looks absolutely amazing but it doesn't work then whats the point? I also wish I had added some music so that it was a little less bland. The AI i wish was better as it was basically just a quick hack to get it working. Also I wish I had looked into better .ttf styles rather than just using the ones of the lazyfoo tutorials. I think it would have polished it up a bit. The time it took to code this all in could be greatly improved upon though. And hopefully with my next game it will take me alot less time to get all the fundamentals down so i can concentrate on things like art and gameplay.

overall:

A good first project that i managed to finish and understand all of it fairly well. All the bases were covered here and i think that for my first game using SDL it went well. I will be adding my source code in the next post so you can see how big a hack it was.

Sunday 23 August 2009

Finished PONG!


I have finally finished my first game. I have added all the paddle ai and a new title screen and set the paddle ai fairly high but its still quite easy to beat. I think that overall looking back It was all a big hack lol. But it is playable so its an achievement! I will include the source code soon maybe tommorow after school just so you guys can see how big a hack it was. I will also get it hosted on some hosting site or maybe even my own if I figure it out. Anyways i will post a postmortem tommorow :D

Oh and on the blog side of things I shattered my original record of page views its in the hundreds now :D so i am going to have to start to up the quality of the content i am putting on. After a full week of advertising and posting everyday on this blog I am pretty happy with what i have achieved. Over 400 views and £0.30 in the bank i think i have really achieved something. And funnily enough coinciding with the resurgence of this blog I have also completed my first game. Funny that...

anyways alot more tommorow: source, postmortem and maybe a download. ENJOY!

cya

Finishing pong

Hi guys i am just finishing off my first game :D

I have added a main menu but right now i am just getting the buttons to be nice :D and I am going to look into audio so that its not that boring and it will also let me see what audio programming is like.

I am thinking of adding different backgrounds. When you start the game you will start off with one screen but if you play it again you will get a different background and maybe a different sound track if i can swing it. But i added a win condition to the game but it is still a 2 player game but that will change soon.

I just have to implement a couple of things so that it will be single player. I am at the moment also waiting for my new website www.gamercity.co.uk to get up and running. Once it is on the web i will be able to add forums and a blog and tutorials and game reviews and... well just about most things game related. It will be a good portfolio site when i get to the stage that i will be looking for a job.

I am hoping also that I will have another game to add to my site in the next week or two. Still working on the design for it though :D

cya for now

Saturday 22 August 2009

New project

hi guys so i have started doing the design brief on a new rpg which i will be making using SDL and C++ right now i am just programming in the all the SDL technical stuff for things like loading all the images and things like that.

I am going to fully plan it out so that I am getting into good habits. I was thinking a sort of mage vs mage game or a variation off magic ranging and melee but i am undecided. I was gonna add shops so that players can buy and sell things and i am going to have to do graphics for items which will take a while and also i should have my new website up and running by tonight. I am also planning what sort of things i am going to put on it. Although i already have a rough idea of what i am putting on.Thankfully with the package i am going to go with i will be able to add forums and a blog and other things like that fairly easily so that is good.

my general plan for the website is that it will be for tutorials and on basic game development as well as a blog similar to this and it will have a forum so that users of the site can talking about new games and my current projects and also talk about programming itself. I will also be putting game reviews and things like that. anyways i will give you an update on my second game tommorow but if i get my website up and running i will start to be using that as my blog although i will be updating this one just as much.

cya for now

Friday 21 August 2009

Pong update


hi guys

just thought i would update you as to how i am doing with my pong project. a screen shot is at the top. right now i am working on getting the ball moving and making sure it doesn't disappear of the side of the screen and then i have to add some sort of way i can make the computer paddle move towards the ball. I am thinking i am going to have to do some of that maths that i have learned today to get it working.

my thoughts so far is that i will take the X velocity and the y velocity and find the hypotenuse using pythagoras' theorem and find where the hypotenuse intersects the Y axis on the right hand side of the screen and move the computer paddle towards that. But i will only implement this once i get the collision detection working for the ball and getting the ball to move around the screen so it bounces of things. Should hopefully complete the first working version by tonight or tommorow :D then I can start adding things to it like a main menu and credits at the end and even different difficulties. This is going to be my first real game so i can't wait to get it done :D

cya for now

Thursday 20 August 2009

error checking

ok guys hello.

today i want to talk to you about error checking in your programs. I have been learning programming for a while now and i haven't really looked into error checking until today. I now realize the importance of error checking even when you are creating very simple programs.

for example today i tried to load up some images in an SDL application and it didn't work but I didn't know what was going wrong so i nievely asked in my forums what i was doing wrong not knowing or disregarding anything about error checking. I used to think it was for more advanced programmers but really it is for everyone! You should really get into the habit of checking for errors when writing your code.

In SDL for example in your main function writing something like this

    if( init() == false )
{
cout << SDL_GetError() << endl;
return 1;
}



could save you a hell of along time when it comes to looking for errors.
i didn't realize that something so easy to implement could save
me so much time. Its crazy. Having your errors output to the console is
an incredibly useful way of debuging your apps. SDL_GetError() is incredibly
useful because it tells you the problem in a really simple and easy to understand
way! seriously for me it said

paddle.png failed to load.

and i immediatly knew what the problem was. And now i can get around to fixing it.

Overall for any new game or just regular programmer for that matter, Error checking is
and absolute must!

Wednesday 19 August 2009

School and other things

ok guys so i have been looking at the SDL tutorials and i am thinking i could do a hell of alot of different things if i really stick at it. I am quite liking the idea of creating a small rts once i complete a few games.

My new computer is working amazingly. Its great i can play alot of my games at ultra ultra settings and the frame rate will stay high! I recently tried empire total war and set up a huge battle and everything ran so smoothly i was really impressed.

an update on the book - it should come tommorow which will be great because its before the weekend. Giving me lots of time to concentrate on my website if the weather stays like it is at the moment. if i am able to make my site even a bit proffesional looking then i will be happy.

Pong is getting there it should be complete by next week. Its going to be the next wow-killer lol.

anyways i have to go cya later

update

so guys just about to head off to bed.

I did some work on pong and looked into web development and i am still waiting on a html book i ordered off amazon. Once i have worked my way through that i will look into php so i can add forums to might site and so on.

I am delaying my website design weekly task into some time next week maybe even longer as I am going to write it all myself as i learn html. It will be challenging but it will be just another thing i can add to my resume. Hopefully the book will come before the weekend so i will have lots of time to spend on producing the site. I will let you all know when i am switching to my site but i will still keep posting on this site as well. Hopefully i will have the pong game up and running in time for the launch of my site :D anyways time to hit the hay. school in the morning :D

SDL pong

hi guys i am currently working on an SDL version of pong in which i have already implemented collision detection. I am trying to create a cool art background right now but i am struggling as its the first time i have used photoshop. this will be my first game completed and i will be very excited when it gets finished. Right now i am also working on how to show the score using SDL_ttf.

I will post a screen shot of when i am done and i will find some way to let you guys download it :D

bye

HTML

hi guys quick update here as i want to get working. I have decided i am going to learn HTML and CSS so that i can create my website. I have already started tutorials and am going to purchase a cheap sams teach yourself book off amazon.co.uk. I will be reviewing this book after I have read it(possibly the best time to review it but i am unsure) Hopefully by the end i will be able to create an piece of artwork as a site.

anyways i am off to work on my site and i will update you later tonight.

Tuesday 18 August 2009

hi guys today i am working on getting an in game menu up and running. I have a rendered 3d Quad but i am trying to convert it so that its in 2d and i need to get a semi decent texture for it. Hopefully soon i will be getting my hands of some wysiwyg web page designers. That way i can get a template up and running for game website. After i get the website design all laid out i can purchase the domain name. Which i think i have decided upon but im not going to give it away incase it is snapped up. And after which i will proceed to buying the webhosting so my website will be online! Also today i am going to hopefully get the jumping physics up and running. And get my menu up and running without buttons though. I intend to add buttons to the menu soon but for the moment it will just be a plain texture.

anyways hopefully i will get all that done before the big match on tv starts(celtic vs arsenal) if i do i can sit down and watch the game in the knowledge i progressed at least a bit today :D If i dont then i will just do some SDL instead and start getting a few games up and running with that :D

anyways cya for now i will post an update maybe later tonight

Monday 17 August 2009

weekly tasks

ok guys so i am going to post a weekly task list that i will hopefully complete by this time next week.

here goes:

Get a basic layout of my website down
Buy a decent domain name
Buy webhosting
Get some of my reviews down on the website
Get my blog up and running.
Get all of my website set up so that its online.


programming task list

implement some jumping physics into my game
get the model loader up and running so that i can import a car model or placeholder.
develope a decent car model with blender3d
try to texture it
implement camera translations that correspond to the movement translations(aka get camera to move with the model)
look into collision detection so i can get solid terrain working.

thats about it for this week as i do now have school every week day. I think my top priority will be the website and then the model loader. Getting those up and running will be a huge step forward in terms of motivation and progress. If i don't manage to model a decent car model ill just use a placeholder model.

But to update you on what i am doing right now

i just finished implementing a game timer. which now gives you how many seconds you have played for. and also a pause feature which toggles on when 'P' is pressed.

thats all for today but tommorow i should have some good updates. cya

first day over...


So my first day of 5th year is over. It was fun though and a bit hectic. But now i can start getting into the swing of things.

Anyways i managed to get my multiple viewports working thanks to a very kind person at gamedev.net. And i have worked through some of the SDL tutorials which include sprite sheets. which i thought was quite interesting as i didn't know how they did it before lookin at this tutorial.

heres a screen shot of the now working dual viewport working as well as a nice grass texture rendered onto the grid. Hurrah! anyways right now i am starting to work on my own website. Hopefully i will have it up and running soon so i can bring you my blog posts and games(hopefully soon) and other reviews

Sunday 16 August 2009

Todays the big day - my first day of 5th year. this is the big one this is going to decide what university i go to and will hopefully get me into the best in scotland. Right now though i am feeling shattered. I wasn't tired enough to go to bed last night as i am used to prolongued nocturnal activities(read - programming). It took be roughly 2 hours to get to bed last night but i finally made it and hopefully i will be ok to play football by 3rd period.

anyways today i am going to work through some of the lazy-foo tutorials on SDL and hopefully get a small menu screen going and start work on an actual game! its will be quite exciting to get my first game underway and it will hopefully teach me alot! but i was thinking like a small sidescroller game (fighting style)

so the aim of the game is to fight your way from right to left and claim your treasure. But first i will have to familiarize myself with a good drawing package as i currently only have paint on my machine. I am going to try out a few free pieces of drawing software and give you a review of what i think is the best for a newbie game programmer just starting out like myself.

Wish me luck guys, more updates on programming coming soon.

Progress

ok guys so i kinda got the split screen working thanks to the people at gamedev.net although i need to find a way to make it so that the screen doesn't flash. Also i just hacked together the rest of my gun model. Although i am not very happy with it so i will start again. And i determined that i will use the .obj model format for my games and since the directx sdk has a model loader ready and working i will incorporate that into my programs.

the physics that i added work although i will have to find a way to incorporate acceleration into the game so i will have to read up on timing in programmes and then incorporate this.

anyways i will keep you posted on how my first day of 5th year starts tommorow. This is the year we start all the complicated math(wohoo?) that i need for my games and also we will be learning java in computing. and in physics - well hopefully alot of physics :D

P.s i am going to do start doing SDL as a side project because it looked rather simple and plus it will help me iron out my C++ and get me into good habits for 3d game programming and also once i get enough decent 2d games i will get my own proper games site up and running which will be a good way to show off my portfolio and also hopefully generate me some income from google adsense :D i will start tommorow on SDL.

cya

todays tasks


today i will be getting all my things ready for school as this is my last day of the summer holidays. This task is pretty much done so the rest of the day i can be lazy and program. Other than that i might go out and play football with my new football boots and ball. but today will be a nice and relaxed day.

my programming tasks today are to get the multiple view ports working on my multiplayer game. As you can see above my previous attempts have been a little unsuccessful. I have been thinking about making an exploration game where both players will be in cars/jeeps and will be able to go up hills and jump of them. So i have started to create a split screen to allow this. In one of my books there is a good procedural terrain generation formula in it so i will be trying to implement something similar. or i might just go for height maps as then i have full control of things like jumps and stuff.

someone on the Gamedev.net forums directed me to a great article about how to implement simple physics into my game so i will be looking into that today as well.

I might even try to get a model loader up and running so that i can start implementing cool looking cars and things.

And also i will be trying to finish off a gun model i started work on last night. I am just polishing up the handle right now but i need to add the barel and trigger. once that is done i might have a bash at texturing it provided i find a good tutorial on how to texture with blender.

this is me signing out. Will keep you posted on my progress.

Saturday 15 August 2009

introduction to 3d game programming with directx 10

first thoughts

at first i thought this was going to be quite a good book. The score it has posted on amazon suggested to me that it was a great. But me being a pessemist i thought it would just be ok. To start off it went through all the 3d math concepts which was great as i didn't have a clue on this sort of stuff as i am only going to learn about this in my next academical year. It then goes on to show the reader how to create a simple dx 10 blank application which shows the frame rate and milliseconds per frame. So basically it teaches everything from an absolute beginner level it assumes no knowledge of dx 10 which is great because i had no previous knowledge of dx 10. The book then takes you on an easy to read journey through the magical land of directx 10. It then goes on to teach you far more advanced topics like terrain rendering and particle systems. All in all its a course by its self it teaches you everything and gives great detail into everything.
Also the authors coding style is brilliant far better than some other books i have seen.
I recommend it to any budding game programmer who would like to start making 3D games.

directx 10


hi guys i am sorry i haven't posted in a while i have been trying to enjoy my summer holidays. Which as of monday(2 days away) will be over. So i would like to update you on my progress so far.
right now i am working through the book 'introduction to 3d game programming with directx 10' and i must say its a great book i would thoroughly recommend it to anyone who wants to learn directx 10.

Right now i have been working on a program which will allow me to view my meshes in an interactive environment. So it will be good when i finally go into animation and things like that.
I also added a fog effect to this program just because i thought it would look cool. right now i have rendered a box using the textures from the book(a.k.a the wirefence box) and i am going to add the ability to move this box depending on the input. right now i have added forwards and backwards movement but i am going to try and add some sort of speed effect. Like the one seen in the SDK where you are a ball and movement is dependent on things like physics collisions and other things like that :D

Also i think you will notice i have the windows 7 OS. this is because i recently purchased a new computer the specs are as follows:

8GB RAM Corsair
500GB harddrive
1GB ddr2 graphics card


and today i also had a great time at a local beach kitesurfing! :D we recently purchased a new kite and we utilized the strong wind and had some fun :D

hope you enjoyed my blog post.

money maker