Page 1 of 2 12 LastLast
Results 1 to 10 of 19

Thread: Time to talk about how to handle source code

  1. #1
    thinBasic author ErosOlmi's Avatar
    Join Date
    Sep 2004
    Location
    Milan - Italy
    Age
    57
    Posts
    8,777
    Rep Power
    10

    Time to talk about how to handle source code

    To all of us here.

    Petr has create a great game: TopDown3D.
    Many as contributed with 3D models, textures, sounds and in general to all media files needed by the game.

    Now Ken started to modify source code of TopDown3D with great additions developing nice ideas. I'm happy about that. I'm so happy that sometimes I find myself to smile with no-one in front of my computer and people passing and looking at me say: are you crazy? I suppose I'm not crazy but just part of a little dream. I suppose you can understand me.
    But the dream can slowly moving to a nightmare if you think on how to manage source code maintenace coordination. If everyone of us create own versions of TopDown3D we will get crazy quite soon. Please read my words in positive way because I'm telling this only to share my thoughs and see if there is a better way we can go on developing this so nice experience all together.

    I'm thinking how to go on with TopDown souce code maintenance considering we all have great ideas to be developed and integrated in one single souce code object.
    I'm thinking about some kind of coordination: a project leader. Can it be?

    Do you have any other idea?
    I'm open to any possible solution (human or software).

    Ciao
    Eros
    www.thinbasic.com | www.thinbasic.com/community/ | help.thinbasic.com
    Windows 10 Pro for Workstations 64bit - 32 GB - Intel(R) Xeon(R) W-10855M CPU @ 2.80GHz - NVIDIA Quadro RTX 3000

  2. #2

    Re: Time to talk about how to handle source code

    You're right Eros, the team has to be organized into positions. There has to be someone who manages everything, someone who maintains the official code, etc etc. For a persistant and similar style it is also important that there is organization inside this project. Before we go on big time like Kent has outlined, everyone should know what they have to do and where they better stay outside. Ofcourse, suggestions are allways welcome and this is how a project grows.
    Personally I like to stay focused on one or two things and try to avoid jumping from subject ot subject. Imho that is the death of progress so even if it is very tempting to look at the coding you guys do, I stay outside. Because I don't wanna get sidetracked and I don't see myself as a coder inside the gameproject. You guys do that allready very very good.

    We should really try to do only one, or maybe two parts. In bigger teams, you don't see someone doing grafix, writing the storyline, changing code and composing music at the same time. That is why I concentrate on the module. After this is basically done, I will work full force on the game parts that I was assigned to.

    We should outline the positions and then everyone should apply to a position they like.

    What do you think?


  3. #3
    Super Moderator Petr Schreiber's Avatar
    Join Date
    Aug 2005
    Location
    Brno - Czech Republic
    Posts
    7,128
    Rep Power
    732

    Re: Time to talk about how to handle source code

    Hi,

    Eros, I understand fully your idea.

    I have one other idea too - we could change the first post about the game to project status / latest download / feature list as I did for RobotDuel, so any visitors could be sure the latest version is there.

    Bye,
    Petr

    Learn 3D graphics with ThinBASIC, learn TBGL!
    Windows 10 64bit - Intel Core i5-3350P @ 3.1GHz - 16 GB RAM - NVIDIA GeForce GTX 1050 Ti 4GB

  4. #4
    thinBasic MVPs kryton9's Avatar
    Join Date
    Nov 2006
    Location
    Naples, Florida & Duluth, Georgia
    Age
    67
    Posts
    3,869
    Rep Power
    404

    Re: Time to talk about how to handle source code

    I totally agree with you guys. My vote for project leader is Petr, it really is his baby projects combined that was the launching pad for all of this, tbgl, his great game demos. Second in command Eros, he is the father of thinBasic and together with Petr they can work to make the background commands better.

    Mike, I know you are ahead of me in programming and have many other skills that match my other skills. So I say you in third and I am happy being in the group doing what I can do.

    How about this. Eros makes a special forum under tbgl forum. Within that forum we have threads started for each thing that would be the outline project. Then all discussion to each section will be self contained yet be organized. The first post in each section will say what the task at hand is and the moderator will change it to list who is working or collaborating on that section.

    Some possible layout ideas, I am not sure how the engine will handle the game as it gets complex. I am thinking always keep it simple.
    So maybe have 2 engines and then a master control program that handles setup, options, and common tasks in both games.

    Master Control Program
    Instant Action Game / \ Story Based Game
    \ Common Components /
    Models \ Each Level will have
    Music own subfolders for
    Artwork unique items to that level
    Sounds

    Having the latest version at the top for each section is a good idea too. This way we can always go and get the lastest version. I still think it is nice to have the history of development and keep copies down in the thread in order they are made. It always makes it easy then to go back and find someplace in case we need to branch back and nice to have a live archive like that.
    Acer Notebook: Win 10 Home 64 Bit, Core i7-4702MQ @ 2.2Ghz, 12 GB RAM, nVidia GTX 760M and Intel HD 4600
    Raspberry Pi 3: Raspbian OS use for Home Samba Server and Test HTTP Server

  5. #5
    thinBasic MVPs kryton9's Avatar
    Join Date
    Nov 2006
    Location
    Naples, Florida & Duluth, Georgia
    Age
    67
    Posts
    3,869
    Rep Power
    404

    Re: Time to talk about how to handle source code

    I had lots of time this week so I wanted to do as much as I could while I could. My Dad is in Ohio visiting so that allows me more hours to work on this fun project.

    I have been thinking of the issues here for sometime this week. I got an idea to make it manageable in chunks. So without actually changing the code, I will setup a skeleton and submit that skeleton to you guys for tweaking and discussion. Then Petr can use that skeleton to keep his task from being mind numbing and make it easy for us all to add our parts.

    There are two ways to do it. One is one file with everything being function calls. Very easy to move about to the part you want and to keep things organized.

    The other is separate source files for all functions, include files and then have project files.

    I will ty to create a skeleton of both kinds for a start.

    Be back soon.

    Later I did the single file but all sub skeleton below about 2 posts. The second all broken up file, I am not going to do, basically it is just taking each sub and making it a separate source or include file tied into one project file. I think you guys can picture what it would be like looking at the skeleton of one file with all subs. All the subs would be separate source or include files instead.
    Acer Notebook: Win 10 Home 64 Bit, Core i7-4702MQ @ 2.2Ghz, 12 GB RAM, nVidia GTX 760M and Intel HD 4600
    Raspberry Pi 3: Raspbian OS use for Home Samba Server and Test HTTP Server

  6. #6
    thinBasic author ErosOlmi's Avatar
    Join Date
    Sep 2004
    Location
    Milan - Italy
    Age
    57
    Posts
    8,777
    Rep Power
    10

    Re: Time to talk about how to handle source code

    Well, I see all we agree that some coordination is needed.

    Ken, I do not think is a matter of first or second but a matter of competence or responsability. I hope to see more projects in common for future so while in a project one person can be the main coder, in the other project can be the 3D modeler or the leader/coordinator. So it can be a decision to get project by project. Of course this will not cut off everyone to produce some material not related in his specific project responsability.

    I would like also to say that there will be no obligations for anyone. Everyone must dedicate the time he think he/she can have. No obligations to keep the same role if someone is not comfortable.

    I like the idea to use forum structure to better organize all the material not to have a 200 posts monster thread like the one we had in TopDown3D game. This post is really a "WOW" On this matter, we can agree in a common forum tree organization to apply to TopDown3D project. Than we will work a bit with this structure and if necessary I will make all suggested changes.

    So, for starting, I would suggest the following for topDown3D project:
    • project leader: Petr
    • source code coordination: Petr
    • code checking: Ken
    • 3D models, media files (textures, sounds, ...): Mike, Ken
    • new thinBasic DirectInput module development: Mike.
      This new module will be useful in many other scripts.
    • bug hunter, game tester: all

    All will be free to suggest any idea or submit any material but only listed people will be in charge of relevant area.
    I will elect all poeple in this group to be Moderator of forum and subforums related to this project.

    Please fix or improve any of my above mad idea ;D

    Ciao
    Eros
    www.thinbasic.com | www.thinbasic.com/community/ | help.thinbasic.com
    Windows 10 Pro for Workstations 64bit - 32 GB - Intel(R) Xeon(R) W-10855M CPU @ 2.80GHz - NVIDIA Quadro RTX 3000

  7. #7
    thinBasic MVPs kryton9's Avatar
    Join Date
    Nov 2006
    Location
    Naples, Florida & Duluth, Georgia
    Age
    67
    Posts
    3,869
    Rep Power
    404

    Re: Time to talk about how to handle source code

    Sounds good we are on the way!!

    Here is the skeleton where all the code will be in one file, but hopefully manageable as all the things will be organized and it will be easy to put new code blocks into the main program as developed.

    I am sure I am forgetting many things and ignore that all lowercase naming. I jsut wanted to get the idea out to show how it would work and be organized.

    But basically for example all Constans will be in the constants subroutine, but organized with in that sub by commented sections.
    The same holds true for all other subs like that: types, displaylists, globals etc.
    Attached Files Attached Files
    Acer Notebook: Win 10 Home 64 Bit, Core i7-4702MQ @ 2.2Ghz, 12 GB RAM, nVidia GTX 760M and Intel HD 4600
    Raspberry Pi 3: Raspbian OS use for Home Samba Server and Test HTTP Server

  8. #8
    Super Moderator Petr Schreiber's Avatar
    Join Date
    Aug 2005
    Location
    Brno - Czech Republic
    Posts
    7,128
    Rep Power
    732

    Re: Time to talk about how to handle source code

    Hi,

    I am comfortable with being project leader ;D.

    Kent, thanks for your code framework !


    Bye,
    Petr
    Learn 3D graphics with ThinBASIC, learn TBGL!
    Windows 10 64bit - Intel Core i5-3350P @ 3.1GHz - 16 GB RAM - NVIDIA GeForce GTX 1050 Ti 4GB

  9. #9
    thinBasic MVPs kryton9's Avatar
    Join Date
    Nov 2006
    Location
    Naples, Florida & Duluth, Georgia
    Age
    67
    Posts
    3,869
    Rep Power
    404

    Re: Time to talk about how to handle source code

    Petr, maybe it would be a good idea to flesh out the skeleton where all the pieces are in place only as message boxes.

    For example, just one branch, but we can do the whole tree this way and then in the comment for each node each
    one responsible will have their name So this way in the source we see who is doing what and who else joins in:

    Master Control Subroutine
    Help
    Instant Action Play
    Story Based Play
    Common Commands
    Credits
    Programming
    Music
    Modeling
    Art
    Sounds
    Testing
    Acknowledgements
    Reference
    Ships
    Locations
    Characters
    Items
    Pick Ups
    Options
    Video Mode
    Resolution
    Full or Windowed
    Sound
    Music Volume
    Voice Volume
    Engine Volume
    Special Effects Volume
    Input
    Keyboard
    Joystick/Gamepad
    Skill Level
    Rookie
    Combat Experienced
    Ready to take Command
    They call me Ace
    Master of the Universe
    Launch Instant Action Game
    Launch Story Based Game
    Present Score
    Process Exit or Game Continue

    As you can see we can layout the whole game like this and just set up a message box to see that the logic is working to access all parts. And then moving into the 2 game types. You are best to decide how to handle the 2 game types. Since everyting is modularized, I guess both game types can use the same core modules for the engine, but then use their own specific needs in their own. I will leave that to you Petr.

    If the game is fleshed out in simple method like this for the whole game then we can just plug in modules as developed by each member.
    I will leave that as start, Eros, Mike and you Petr can add yours and then we can build it up till we think it is complete. Then once signed off by all we can flesh it out in detail.

    anyways my thoughts while i took a nap
    Acer Notebook: Win 10 Home 64 Bit, Core i7-4702MQ @ 2.2Ghz, 12 GB RAM, nVidia GTX 760M and Intel HD 4600
    Raspberry Pi 3: Raspbian OS use for Home Samba Server and Test HTTP Server

  10. #10
    thinBasic author ErosOlmi's Avatar
    Join Date
    Sep 2004
    Location
    Milan - Italy
    Age
    57
    Posts
    8,777
    Rep Power
    10

    Re: Time to talk about how to handle source code

    What about this forum structure for TopDown3D (and future games):
    • Game general
    • Game executable
    • Game sources
    • Media material
    • Bugs handling
    www.thinbasic.com | www.thinbasic.com/community/ | help.thinbasic.com
    Windows 10 Pro for Workstations 64bit - 32 GB - Intel(R) Xeon(R) W-10855M CPU @ 2.80GHz - NVIDIA Quadro RTX 3000

Page 1 of 2 12 LastLast

Similar Threads

  1. Source code formatting
    By ErosOlmi in forum thinAir Tips and Tricks
    Replies: 3
    Last Post: 25-09-2006, 11:55

Members who have read this thread: 0

There are no members to list at the moment.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •