About this blog
My Projects, Programming Thoughts, and whatever else is on my mind.
Entries in this blog
Ever since I stopped my 3D engine, I have been in a lull of inspiration. I just sit at my computer and stare at the screen. I need some kind of programming project, even if it is not game oriented. I am so bored with nothing to do it is driving me crazy. I am in a streak now of 4 days of work so I can't get out of the house till monday night. I so need to do something productive lol. Anyone have any programming projects in mind for me? It does not have to be a game it can be anything really lol. Actually at the moment I would rather it not be game oriented. I just am not in the mood for that at the moment. That is why I was writing a engine. Not to make a game or anything just as a project to do. Now I am sunk for ideas.
Well the other night I ended up going on a blind date. My friend Jon tried to hook me up with a girl who is the best friend of a girl he knows. Turns out this girl is ugly even tho she has a decent personality. However, there is a good side to this. I am not going to date her but I am in the process of hooking up with her best friend. I know it sounds mean but this girl is amazing and I don't want to pass it up. She has a great personality and looks good. Not only that but she called me last night. I was not expecting it at all. Turns out she had a dream of kissing me. Which means she was thinking about me the entire night. She even said on the phone that she wanted to kiss me when we went outside for a smoke. So this might work out for the best. I am going to call her later today when we are both out of school so I can see if she wants to go out tonight.
Well since I am not making a engine I am not shure what to do. Currently I am messing about with C++/CLI with VSC++ Express 2005. However, I am quite dissapointed that if you want to write a native app there is no Win32 template. I installed the platform SDK I just did not go about trying to figure out how to write a native windows app with it. But then again if I just use C++/CLI and not native I don't have to worry about that.
Well I don't know I just have no project to work on atm. I will figure something out. I am thinking about trying to see if I can get Irrlicht.Net to work with C++/CLI. It technically should but I don't know. We will see :P
Ok I am going to listen to John Hattan on this one. Nitrogen3D will be no more. Even tho I find it interesting writing a engine. I really don't even know what I was writing it for. I did not have a game in the works or anything. I just felt like writing a engine. Maybe that was a bad idea.
Nitrogen3D is temporarily on hold atm. Well not really but I got alot of designing to do. Also, I am contemplating switching languages as well. This does not change design at all, which is a good thing. More on this later talking to a girl on the phone. :P
You know Washu just gets stuck in your head all the time :P. No matter what you code everything he said (even tho he used C++) just sits there and haunts you.
His journal may scare you half to death but it certainly nocked some sense into me while I was testing the basics of my engine. Really it was overlly complicated and did not make anything simpler. My objects did things that they were not suppose to do, which according to Washu is a big no no.
Luckily I read Washu's journal and learn from it. See someone likes you and actually listens. Luckily I did not have much code/time invested into the project when I realized this. So I officially am refactoring the lay out of my engine.
First thing was first, I realized I needed to design before I code. I know professors stress this in college like you would not beleive. You just don't listen till you tackle a huge project. So I sat down and thought and thought and thought. Then I designed my first class for my engine. Then I did not implement it untill I was happy with it.
I originally stated that I had a Device Manager class. Currently that was ripped out. It did not actually manage anything. As for the Camera Class that was ripped out as well. I figured why not start off on the right foot.
I designed the first object with my own little method that makes sense. I hate UML it is very dull and boreing to learn about and use. So what I did was opened up word pad and did a Layout Design Doc (non technical and non implementory). All it told me was what I needed to know not implementation details of anything. Just the names of the methods, the params, and variables etc....
I came up with a very nice product at the end. The object is called N3DDevice. It handles device creation and hold 3 properties. One indicates fullscreen state, another whether or not we are using a depth buffer, and the last a way to actually get at the device to pass to other functions that need it. All the properties are readonly. Then their are 2 constructors. and 3 methods. 2 methods pertain to creating the device, and one is for disposing. The constructors are just a default which indicates you want the device fullscreen and with a depth buffer. The other lets you specify.
On the last note I am very happy with this and the implementation went alot quicker and smoother. So with saying that I would like to end this entry saying...
PEOPLES LISTEN TO WASHU!!!!!!!!!!!!!!!!!!!
I did some more coding for Nitrogen3D. It is hard to find time to work on it full bore because of classes now but still I get around. Currently the device manager is in a state of working and so is the camera object. There are still a few more features to add to both objects but for now it works I will add those features next chance I get to code. Currently the only thing the engine does is allow you to create a device, setup a perspective projection, create the camera and update its position. Since the engine has no rendering abilities right now here is a simple screen shot of me testing what I could with some out of engine rendering. Grantid to do this demo app took more coding then I wanted to do, but that is just because I don't have any rendering code in the engine itself so it took a few workarounds. Here is the screenshot.
Ok I am starting my 3D engine now. I know the basics from creating a device all the way to rendering a mesh, texturing it and lighting it up. This is plenty to give my engine a start. So I figure why not get started. So first things first I had to give it a name. The name of my engine is going to be Nitrogen3D. Don't know why it just sounds cool.
I came up with a basic starting layout for the engine. It will consist of one dll named Nitrogen3D. I am only using one project for this purpose but multiple namespaces and files. The reason for this is that when I release the engine I don't want the person making the game to have to distribute a huge number of dll files with the game so why not just one :P.
The current namespace I am working on is called Nitrogen3D.Core. This is the core namespace of the engine. It will deal with everything to get the engine up and running.
The first object in this namespace is called DeviceManager. This lets you create a device and then set up a projection matrix for the screen. That is what I am working on right now. The next object I will deal with will be a Camera object. This will be in Nitrogen3D.Core and will allow you to create the view matrix and store the data of the camera position. it will also allow you to update the camera position when you wish to do so.
MDX is really nice and easy to use. However, to pirk your performace to good quality you really have to be concious and know your C#. Tom Miller's MDX9 Kick Start book is great. I already can handle all of the rendering basics and do it on my own. Next I am going to do his Game Example can't wait for that one. However, I am still not ready to do my own engine. I need the more advanced topics that come later in the book to even get anywhere.
On another note, I just started college again. Now on my second year. Time flies by so fast it is scary. I am really bogged down with math this semester. I must do my Discrete Structures(logic math great for programming). Also, I must do my Calculus course. So far neither is that bad yet. Discrete I took once already. However, got a C- so when I switch schools it did not transfur over. This time I will do much better. However, I hope I do great in calc as well.
Ok this is my 2nd time doing GDNET. I missed it so much I am back into it again :P. Ok so here is what is on my mind. Originally some people may have seen me post about wanting to make numerous types of engines. From 2D to 2D isometric. Well none of them are getting made. Currently my task is to learn as much about Managed Direct X using C# as much as possible. So for a little bit you will hear some quirks of learning and my thoughts on other programming topics that I come to think of. Once I get a good grip on MDX I am going to start a engine. This engine will be a 3D engine and I don't know what I am going to name it yet. Once that time comes you will begin to see design then implementation progress along with my thoughts on programming topics ect....... Ok now a little about me.
Currently I am transfuring colleges. From University of Scranton to Penn State University. I was studying Computer Information Systems and now I will be studying Information Systems and Technology. Really they are the same thing so it really does not matter. I am going on my Second year of college and have a huge passion for the games industry. I am not however planning on getting hired by a game company. If I do decide to get into the industry I will do it on my own efforts of my own indi company. As for languages I know quite a few and am good with all them and can make them do what I need done. VB5/VB6, Java, C++, C#, VB.Net. I only am good with those ones lol. I hate the VB's due to ugly syntax. I also don't like java at all. I love C++ and C# but I like C# more then C++.
That is all nothing more to say :P.
Yes it has been a while since I posted here. I will start to post more once exams are over for the year. On another note: I am learning OpenGL. It is a very nice 3D api and it is very fun to play around with. Not only this but I am currently working on writing a Medeval fantasy book. I hope this works out well for me. I also got a Mandrake Linux box up and running. It is a very nice operating system. Now to just upgrade the computer it is on so I can code some OpenGL on it :P.
Just did tutorial 3 and it is up on the site.
I just started to put together a tutorial site here is the link.
SDL Tic Tac Toe.
The code is done. Just got some logic errors to fix and of course figure out why my mouse click stuff is not working properly. But you will see it when done.
Now I am a GDNet+ Member I can fill you in on my projects. I will post more at a later time about my journey through the world of learning Game Development.