About this blog
Conquering the massive depression of developing an online game one step at a time.
Entries in this blog
By Jars, The Designer:
Truth or Reality?
One may delve in either not knowing the difference, not understanding his own vantage point upon the subject he studies.
While the Design Doc has been well underway, the critical question had yet to be answered. Defining the scope of our creation to be real rather than true to the era will displease all of the fantasy games' fans, but in a way, this is what distinguishes this game from the many mmorpgs out there... That, and the fact it is neither massively multiplayer and well, its not an rpg.
Don't get me wrong, the player plays a role, a strong one, that he/she will have to craft through several gameplay elements, but it is just not the kind of role the players have come to expect from a much too narrow RPG appelation nowadays refering mostly to stat-boosting related to leveling up...
So how was it to be part of a world where one had to believe in things he/she would never see? Live by God's rules, in fear of satan's minions without any proof of their existence?
Wouldn't it be much easier to integrate demons in the lot?
Would that kill the atmosphere we are attempting to generate?
So how does truth differ from reality?
Reality is the state of things, the objective and factual elements. What the untainted eye can see. Truth is the subjective eye, so to speak. If everyone in a society believes a thing to be true, it is. But it never becomes a fact, therefore it is never real.
To the middle ages folks, God was true (the whole question of whether He is real is all up to debates). Satan was true. Demons were as true as their neighbors or the priest that attended the closest church. The things they feared and/or loved were part of a certain type of imaginary that is called the truth. Choosing to base this game on truth would've meant we would have to take account of their imagination and recreate actual demons, spirits, etc.
Acception to see the reality of the middle ages is altogether more complex. We have to emulate guidance for motives. Fears and loves, when based off unreal elements, are much harder to take into account. How does one, indeed, convinces all players that they must act accordingly as though the demons were real while they aren't?
This is what I will need to figure out, now that we have chosen Reality over Truth.
This week's tip for conquering programming depression: Conan O'Brien on Hulu if you live in the US or Canada. Nothing makes you more happy than THE GREATEST HOST OF ALL TIME.
After recompiling the engine from source in order to obtain a specific feature, I was disappointed to find out that such a plug-in already existed without the need to recompile. So much for using Google :/
A concept artist has joined the team.
Although we have been testing the client rigorously, testing has temporarily stopped. I have been applying a somewhat large graphical overhaul so the game would look more appealing.
The biggest problem is that if we decided to recruit programmers in the future, I have already incorporated many changes to certain plugins that it would be very difficult for many programmers to be able to successfully compile the project on their machine... and lets not even talk about cross-platform compatibility! (CMake is a programmer's best friend).
Starting next week, I will incorporate entries from the designer, who is much more interesting and eloquent in art of writing. ONLY THEN, will this journal live up to it's title.
This is when the depression hit.
Every single stroke of the keyboard depressed me for some odd reason.
I usually reach this low-point months into a project.
I originally decided to program the server in java+Project Darkstar. I've used in once before, but on a small-scale java only project. After looking at the C-API, I metaphorically gave an oath that I shall never release a game or application that sucks.
The API was heavily underdeveloped, with examples far and few in between. Usually, I am pretty good at deciphering functions of a language/api for which documentation has long ceased to exist. Yet, this API, untop of being written in pure C with no C++ wrapper was nothing more that a thin plastic wrap over Winsock.
Although I have used Winsock plenty of times, I admitted to myself that I am a one man team. The more middle ware I used, the quicker I could focus on other tasks. I decided to go with the very popular Raknet.
After looking at all its features, I decided many of them were not compatible with the high-stress and high-bandwidth requirements that the game would require. I decided only to use the most fundamental service offered by raknet - the Peer interface.
I was impressed. After looking at the source code, it was apparent to me that the developer knew what he was doing. I am hoping that it will be able to handle the the highend requirements that I have set forth for the networking side of the project.
So far it has held up its end of the bargain.
Early on, I decided to just use Raknet's basic interface. But the allure of the NetworkID manager was just too great for me not to use. I set it up to coincide with my object classes, and set it to use.
Something odd was happening. Players were disappearing from inside the game, odd errors which I have not see before. It occured to me to look at the source code of the NetworkIDManager.
Apparently, the ID's were not as unique as I would have thought. Even though it had a maximum limit of around 65,000 simultaneous objects (Although that limitation could partially be removed by commenting out a line from the header file), I decided to remove the NetworkID supported and go back to using the nice and simple unsigned long.
I felt pretty happy - quite joyful actually... but little did I know.
I wanted to seek an existing team develop for. Even though I am currently a full time application developer during the summer, I really enjoy game development (As that shall be my future career). To me, programming is the most natural thing in the world. Languages are like ice cream. Some are really unhealthy for you, but you just cannot help yourself!
Before, I was researching interesting graphical techniques for fun while I was at Uni. Now, I wanted to take a break and develop a game with an engine. I've programmed with many graphical and game engines over the years in various languages. Sadly, due to the unique structural design of the game, I could only choose Ogre3D since it had a unique feature that would have taken me weeks to implement myself.
The team found me. It was, so to speak, a single person. He designs for a large AAA game company. Apparently, he really loved designing, and wanted to see a design of his completed in entirety.
A power freak like me, he wanted to be the head macho man for once. With no design constraints of the industry, he wanted to set himself free. But freedom comes with a price...
Stay Tune For Next Week!