Announcement

Collapse
No announcement yet.

PROJECT-> Project directions

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • PROJECT-> Project directions

    A bit of introduction

    Lot of work and discussion has taken place within the first week followed the release of the source code. A bit of everything, here and there. Bug tracking and fixing, minor documentation of small pieces of code, attempts to compile the code in several compilers, ongoing discussions about adding new features, which compiler is best to use and all kind of useful and wasteful information. If you take a minute and watch all this lying in front of your eyes several thoughts and emotions will cross your mind, some different to each one. Admiration, excitement, frustration, anxiety just to count some of them. A common thought however would be the lack of coordination and organization. I think it's about time to do something to fix this. I suggest the following directions:


    Project directions

    A) Documentation

    1) Document the source code. Here we actually need to a) put a description in the top of each source file of what is its purpose and function, b) comment parts of source files that need explanation, like complex functions, c) document any changes made in the code. Coders that will undertake the task of fixing bugs could handle these tasks as well in the files they are going to work.

    2) Structure of the source code. Here we can map the structure of the source code and dependencies, make the code tree. This can be done in conjunction with the code documentation.

    B) Compile the source code

    1) Compiler. As I see it we have two alternatives: a) use different compilers to build the code. Each time a coder will change a file and compile the code on his/her own compiler all previous alterations made from other coders will have to be included as well. If the previous change was made by a coder with a different compiler then it is possible that a fair amount of errors appear and several corrections and adjustment have to be made. If the next alteration is made by the previous coder the same errors will appear as the code was adjusted to the last coder's compiler. This will force us going back and forth everytime someone with a different compiler works on the code. The other, b) would be a combination of a primary compiler and secondary compilers. Each coder will be able to use the compiler he/she prefers and send only altered files to a coder who uses the primary compiler, to compile the code and make any adjustment needed, if any. If the primary compiler is the most popular among the coders you can figure out how much time will save us. It is a good idea that the coder that receives the altered files be always the same person. You can discuss the compiler issue in the C++ Compiler: Which one? thread.

    Note that there is a third alternative, modify the code so that is cross-compiler but that has not been tried yet.

    2) Document compilation differences. We need to document each adjustment made from compiler to compiler or simply from secondary compilers to the primary compiler if chooce that technique, for each file alteration that gives erros to different compilers. This can be pain in the arse but it could prove to be a very useful and perhaps vital job.


    C) Bug tracking and fixing

    1) Report bugs. There is a good thread where you can report any bug that you are aware of, under the CTP2 Bugs and alterations [fix list] title. Make the trouble to read all posts before you enter a bug to avoid duplications. Note that a bug tracking system is on the works and will be available soon as the default way to report bugs.

    2) Bug Tracking System. We are definitely in a need of a good system. It will simplify and speed our bug fixing work. Refer to the Bug Tracking System: Which one? thread for information and recommendations on the system.

    3) Bug fixing. This is one of the main responsibilities of the project. It is currently one of our primary goals. My suggestion would be to assign coders in specific areas, if possible in areas of their interest. More than one coder in the same area could be a good idea also. This is to be defined in more detail by the program leader(s).

    4) Quality Assurance. Fixed bugs, improvements and additions should be validated to assure correct behavior. A test team must be formed for this purpose. This is to be defined in more detail by the test leader(s)/Manager(s).

    D) Improvements and additions

    1) Improvements will greatly help to make code run faster and smarter, improve they way users interact with the game engine.

    2) Additions will expand the capabilities and fun of the game with new features and art.

    Minor improvements can be made simultaneously with the bug fixing but major ones and additions should be done in a later stage, after we get familiar enough with the code and fix most of the current bugs so have a more stable build and solid knowledge of the code.

    E) Porting the code

    1) Port the code in different compilers. Actually this is already happening as we speak. There are efforts to make the code compile, link and run in MS Visual C++ 6 and MS Visual C++ .NET free of errors. There are also thoughts on using gcc as well. It is advisable that the less possible number of compilers is used so we proceed in the actual work of bug fixing and code improvement as soon as possible. In later stages it would be a good idea, possibly, to port in more compilers.

    2) Port the code in different APIs. There is an attempt to port to SDL going on currently.

    3) Port the code in different operating systems. Currently the only alternative operating system to Windows is Linux and some progress is done porting to it. If you have experience in programming and porting in Linux environments and you are not willing to spend any time on working on Windows environment then you can start porting the code to Linux. There are no thought currently for porting it in other operating system than Windows and Linux. That might change in the future.

    F) Resources

    1) Files. All files related to the project, the source code and documentation should be hosted in a server, easily accesible and with high availability. Right now the only option is settler2, the Apolyton CS server.

    2) Website. We will need to run a website that will include all available information regarding the project and its progress. The website is under construction currently and will be hosted in Apolyton the most likely but that has not been cleared out yet. It is under discussion.

    3) CVS. We will need to host and run a CVS. No progress has been made yet. There is an ongoing discussion here.

    4) Forum. We currently use a single forum for all related threads to the project. However as the number of threads and work in different areas will increase in the future it could be a good idea to include a different sub-forum for programming related issues and another one for discussions on new additions (features, art).


    That's all for now. Keep in an eye on this post as it will continually be updated with changes and additions depending on the circumstances.

  • #2
    OK, excuse any grammatical or logical errors in my post or if I've missed or misinterpret something. I worked on it for some hours, some of them relatively late at night so some errors are expected

    I'm going to take some sleep now

    Comment


    • #3
      Our primary concern now is a) to compile, link and run the code successfully and document the correct steps and the exact environment it took place and b) start documenting the code and define its structure.

      Supporting resources like CVS, website and bug tracking system are under construction.

      Comment


      • #4
        One thing that I would like is a recipe for non-coders like myself to get the source to compile.

        It would enable us to move ahead faster if everybody could download the source and follow a series of steps, and then end up with a playable version of the game.

        Asmodean
        Im not sure what Baruk Khazad is , but if they speak Judeo-Dwarvish, that would be "blessed are the dwarves" - lord of the mark

        Comment


        • #5
          Originally posted by Asmodean
          One thing that I would like is a recipe for non-coders like myself to get the source to compile.

          It would enable us to move ahead faster if everybody could download the source and follow a series of steps, and then end up with a playable version of the game.

          Asmodean
          Asmodean, I posted just such a recipe here. This works for MS VC++ 6.0 and Windows 98SE, If you are using XP or Windows 2000, just ignore the step about the autoexec.bat and set your cdkdir through the control panel.
          Last edited by ahenobarb; November 9, 2003, 18:39.

          Comment


          • #6
            Asmodean, as I mention in my third post one of the primary targets is to document the steps required to succesully compile and run the code. I would had sent an email to the appropriate people to create that document but I had no time to do that yet. The most likely is that I will do it tomorrow as I will have more free time.

            Comment


            • #7
              Originally posted by ahenobarb


              Asmodean, I posted just such a recipe here. This works for MS VC++ 6.0 and Windows 98SE, If you are using XP or Windows 2000, just ignore the step about the autoexec.bat and set your cdkdir through the control panel.
              Oops...thanks ahenobarb. Hadn't seen that one

              Asmodean
              Im not sure what Baruk Khazad is , but if they speak Judeo-Dwarvish, that would be "blessed are the dwarves" - lord of the mark

              Comment

              Working...
              X