You are right. Everything about computers that I know, I learned by my self, online.
I learned how to read, my ABCs, many words, pronounciation (mine still is bad, though), and more. I learned a lot of math from the internet as well. and browsing random wikipedia pages CAN be interesting (though too many pages have too much information). Some would classify me as a Nerd, since I have some of the highest marks in my class, and am the top in mathmatics, Social Studies, and Health.
However, I got nothing against school (except maybe Industrial Arts, I find it kinda dull) and I still stand by my answer that school is a great learning experience, and I admit, I am one of those people who says that I 'like' school. (NOTE: I don't mean that I would prefer it over sitting at home playing video games all day, but I do enjoy many aspects).
I live in the country, so school is where I see 99% of my friends (I actually am more of the city type, I guess...).
In other words:
I'm planning for something, but I need to know this: what is the best way to make the layout for a game? If the game starts at a main menu, and can change to some other menus (options, credits, etc) with a click of a button, and the main part of the game has a number of levels, each which start with a avi video, then proceed until an if statement is true (ie: a certain enemy is dead, or you are standing in a certain location).
Without going into the advanced parts of the code, what is the basic layout that would work?
Could something like this work??? (simple layout):
#include <headers>
using namespace x;
int main(){
<display intro video (logos, etc;)>
<load>
<custom crosshair cursor>
<display menu>
}
void functionForMainMenu(){
<main menu code, simple background video>
<images placed at specific locations with mouseovers>
<upon button clicks, new functions are loaded>
<close button with function Close(), simply done>
}
void functionForNewGameButton(){
<new game screen code>
<start level one after button is clicked>
}
void levelOne(){
<load all media required for level>
<video, set delay so game will not start until video is completed>
<level one code>
<when complete, move to level two>
}
void levelTwo(){
<load all media required for level>
<video, set delay so game will not start until video is completed>
<level two code>
<when complete, move to level three>
}
...
void lastLevel(){
<load all media required for level>
<video, set delay so game will not start until video is completed>
<last level code code>
<when complete, play ending video, then credits video>
<return to main menu>
}
void functionForContinueGameButton(){
<gets the info from all xmls in the saved games folder>
<places information, and allow loading>
<places you at the start of a level, as determined by a tag
in the XML>
<gives you the weapons(s) as determined by a number in the XML>
}
void functionForOptionsButton(){
<code for forms which write to an xml (don't know how to properly place in an ini>
<when clicked the complete button, return to menu>
}
/**
My code will not take the undocumented path that Glest has. It will be documented to
Doxygen standards, and the comments will probably end up to be the majority of the file
size in the code!
*/
I've been working with JavaScript a LOT lately, so ignore any possible errors and terms. Would this work? If so, where would I put the AI code (code to make them move, face me, and attack. Take cover if any is in the area, etc;)? Would it be new function, or even in the main()? The loading of the units and stuff would be in the levels function, so should I repeat that throughtout each level or make it a new function and call it from each level?
If you must know, this uses Irrlicht 1.5, and is an open-source 3D FPS game. I just need the basic layout of how this should go. I DO plan on checking out other open-source FPS (I only know one though: nexius, and its too large to download for a while). Any resources concerning AI programming would be a great asset too! (these days, every link I try is broken... Thanks rapidshare [ugh])
Lastly, any tips for Irrlicht, this game, ideas, etc; are accepted (though I'm keeping most things in secret. It could easily take me years to do this. For all I know, it could take until I am of drinking age [legally at least
]).