About this blog
My 3d Shooter game Journey.
from the very first day and hopefully till the very last.
Entries in this blog
After doing more reading I decided to change my plans alittle bit.
Before starting with my design document I would have to experience for awhile with several aspects that I am unfamiliar with. my main objective now is to make a 3d-model loader.
I have decided that I'll user Milk Shape for my 3d-models and probably convert the MilkShape file format to my own format. The reason I'll use Milkshape is because of his price. no overkill like 3ds max or maya.
I haven't decided yet on a map editor and I do have the feelings I will have to do one by myself. my game will need a very specfic map editor.
so basically, I want to have a very basic engine before starting with the design document. I will have to re-factor it or re-write because of my lack of knowlage at this moment. but it will be worth the experience.
here are my task list for the basic engine :
1. 3d-Model loader.
2. Simple lighting
3. Simple Object management
4. Simple Textures loading/rendering
5. very simple camera support
6. simple Keyboard/Mouse support
7. simple sound support.
many things are missing but those are the basics I want to experience with in the next few weeks.
I'll keep you posted.
I have start to thinking about the game specifications.
I allready choose C++\DirectX graphics for my developing.
I do struggle to choose a 3d Modeler/World map formats.
I have read about world maps and found tons of diffrent formats available. I cant find anything that fit exactly to my needs.
I am thinking about writing my own World map editor+format for my first part of the game which is the up view shooter. I dont think it will be very complex. I may export object from other programs but the field will be made by my own editor. I still need to investigate this subject.
for 3d models it seems much more generic and I can choose many diffrent formats and applications to use that will fit my needs.
I will need to create some test-maps before getting an artists,I dont have a clue how to designing maps :) so I am now in the fun part of learning somthing new :)
In advance, I want to note that I am non-Native english speaker. sorry about any spelling/grammer mistakes :)
Here I entered once again to the game development scene.
I have already been here, it was 7 years ago when I had to stop creating games/demos for my pleasure. It happended because I had to start thinking about my cash flow. Here in israel , there is no real game development industry, so I had to take another path.
Now, I am an expert in Kernel driver development. this is what I am doing for a living. I love it, there is nothing more then been able to control the hardware and the operation system.
in that past 7 years, I have been looking at the game development scene from a distance. I have searched the web and doing little coding, nothing fancy. I can't call myself a game programmer. what I can tell you is that everything changed dramaticly. I remember myself writing my 2d/3d games almost in pure assembly to support a 286/386 PCs. every sprite every polygon had to be drawn carefully. the video adapter was pretty low-tech at that stage, no GPU, 256k VRAM at most. even that we had a 256k VRAM, the basic way to use this memory was called chain-mode which basicly chain the 4 pages (64K * 4 = 256). so most of the beginner were basiclly had a 64k VRAM which were used for the front buffer.(there was an unchain mode called XMODE which basiclly unchain those pages but was much harder to work with).
as you can see , we mostly concetrate on optimizations. we did have limited resources. (not to speak about no internet connection :) ).
now , we have DirectX/OpenGL, a very strong video card which have a CPU of its own. the video card do many ot the things we had to write ourselfs. not speaking about directX/openGL which really implements the rest of the low-level stuff we did.
But if you thought to yourself that now it is "easyer" then the past,you are wrong.
today, with all the help of directX/openGL and an amazing video cards. the possiblitys are much highers. and to be able to program a game with the requirments of today is harder then ever. now you are not wasting your time on the low-level, but there is way to much in the high-level.
so basicly, after I did have the knowlage of graphics programming I can tell you for sure. I have to really start from the very beginning again.
After that brief, I will tell about my goals and myself aswell.
I am 29 years old from israel, I have more then 15 years experience in programming in general. 10 years in software companys which I had expirenced in diffrent fields like Device drivers/Networking/Windows Internals/Secuirty softwares/Reverse enginering etc.
my main hobby is music recording. I own a home recording studio, My main instrument is an electric guitar but I can play Keyboard and bass guitar as well. so basiclly I do music tracks, I cant call myself an expert in that field but I do believe I am pretty good at this.
so why did I start creating this journal ?
I set my self a goal to write a full game. from the design level to the final bug-fixes I'll need to do. I want to feel that joy once again.
I will have to start from the very begining to be able to finish this game. I am not going to set my self a goal that is impossible for me. it will be challanging but not a super-challange goal.
I will start by the basic specifications of the game. following that I will create an high level design document to start documenting how exactly the game will be.
the design stage will be finished by having a Detailed level design document which may be break to sereval stages and may not be fully ready before my first line of code.
finally I will break my modules to tasks and schedule them on a chart. I am not going to stress myself. I am doing this for pure fun and educational process.
I will try to note everything about the Design and development process. I will post any papers and any source code I will create for everyone to see.
I believe that this journal will be a good read for both the beginners and the advance developers. the beginners will benifit from me learning the basic until hopefully the more advance subjects. the advanced may learn from my experience at programming in general.
so what game exactly am I going to develope ? :)
I will not get into much details but it will be a connection between a up view 3d shooter to a fast racing first person view.
this is what I have in mind , It is hard to explain, but I'll try.
each game stage will be divided to 3 parts, part 1/2 will be near the ground while part 2/3 will be in space. part 2 will be both near the ground and in space.
1. The up view 3d shooter is the first part, the camera will face the ship from above. the ship/airplane will be controled by the user while enemy will have to be avoided or taken down.
2. part 2 is the boss, I really want to make some serious huge bosses but I think it may be the super-challange kind of thing. I really dont know yet. it will be investigated ;).
the bosses will be on the ground while staticly attached to the ground or in space flying all around. again , this is just a brief.
3. this will be the wrap point to the next stage. it will be a first person view. the ship will have to fly in space inside a long wrap glass sphere. this sphere which is really hard to describe will basiclly be a cyilinder shape turning from 10deg to full 360deg on every direction when progressning inside that sphere. this ship will be controled by the user at a decent speed while avoiding object and making the turns in time. I really want that the player will have the feel of the rotation of that sphere when rotating the ship. this will be the part were the player should feel dizzy :).
That is basicly my idea. not that hard to implement but not that easy as well. the tiny add-ons will probobly give me the hard times here.
I will do all the coding and the music for this game. I will have to find an artist to help me when the time comes.
So offically, I am going to start this game. I hope that part of you will motivate me to overcome the troubles I may have to face and stay with me to the very end of this development process.