Technically, this isn’t a week that I really have been working on the project, but it is an important week nonetheless.
This week I made an initial project plan schedule, chose five formats to work with and created some folders and files in my Dropbox directory (it’s always nice to have a backup!).
My reasoning for choosing the formats that I have, is that they first and foremost can be exported by Blender. Being a total beginner with 3D in general, and especially 3D drawing programs, I wanted to keep the generation of the file formats as simple as possible.
I recognise, however, the limitation in my choice of only using Blender, which is that I am totally dependent on how good the implementation of the exporter is.
The benefit of my choosing is however that if I assume that the exporter of each format is equally good/bad, then I can really compare the output with the same source.
How much information there seems to be on the Internet for each file format has also been a big factor in the decision. However, the research of this has only been made doing a quick search on Google and trying to see how many sites that seems to have some promising description/documentation.
I’ve also tried to choose as many non-binary formats as I could, as it makes it easier to understand what a section of data contains.
The language for the parser will be C++. The reasoning is that I enjoy the language, I have experience writing OpenGL in it and lastly most of the specifications/documentations of the various formats tends to be written in C.
When people find out what my bachelor’s thesis is about, the reaction is almost always that it seems boring. And I tend to agree with them. It isn’t as exciting as doing something revolutionary, but that isn’t really the aim of this project.
In Computer Science, almost all of our courses are theoretical in nature; be it math or algorithm optimisation. The lack of practical courses and especially not just working on a perfect (well, not always) lab skeleton is something that is equally boring and somewhat scary. It is scary in the sense that one doesn’t really feel able to tackle a code base of 10k rows of code or how to architect a big project; i.e. the lack of experience.
I therefor somewhat loosely decided (which lasted a full project!) that I should create my own clone of the games that I wanted to play. The first game (still the only one) I made was DerMina, which is Minesweeper type game. Being very addicted to the game after finding out how to play, made this a really fun project to work with. I learned alot about C++, trying to use pointers, iterators and the like in as many places as I could where it made sense.
Lacking experience in network programming, I then decided to create something that would require it. I wanted this to also be something that I use often, which made the decision easy; an IRC-client. And dasIRC was born.
(And just as a “reminder” for myself, this is meant to be part of Gaoth, my big game)
</not really important>