|The Code Bin|
|Eric Coleman||I've mentioned this quite a few times, and no one was willing to actually help me with it. I figure that I'll just work on it by myself in my free time.
I've had two different ideas on how this could be accomplished. I'd like some feedback on which of these do you think would be more successfull.
The concept is to have a repository of user submitted code. The code would not be complete programs, but individual functions and subs. Perhaps even classes. The way it would work would be for people to submit functions, and then people can search the database of functions, read descriptions of what the functions do, search for certain functions, and select which functions you want to download. A .bas file would be created containing all the functions you had selected for download, and then you simply download the .bas file and add it to your program.
The functions could either be public or private. By this I don't mean "Public Function" or "Private Function", but a function uploaded by me could be a private function in the sense that only I can make modifications or edit the function. If I upload a function and make it public, then anyone can come along and make corrections or fix bugs in the function. See the difference? I should probably think of some terms other than public and private to describe this functionality.
Imagine being able to download a generic FPS function, or a function to do collision detection between spheres and cubes. Most example programs that try to demonstrate some sort of concept generally have lots of other code to make the program function. A program that demonstrates skeletal animation on 3D characters in OpenGL is nice, but if you're using the program to try to accomplish the same thing in Directx, then all you really need to look at is the code specifically related to the skeletal animation.
So that's one idea. Here is the other.
The concept of owning a function or some piece of code is not new. Also, the first idea isn't that far off from having some sort of content management system. The big difference is that instead of a repository for snippets of code, it would be either a private or public repository of entire projects. The idea of this came about because of all the so called "community" projects that have failed due to any lack of organization. This version of the "code bin" would be similar to source forge. You'll be able to store all of your code on the server and restrict access to who can view or edit the code.
It would work something like this. You create a project, and person A has access to the multiplayer code and can edit it. Person B has access to the graphics portion of the the code and can edit it. Person C has access to the multiplayer and graphics code, but can only read, and has read/write access to the scripting engine code. If more than one person has access to a section of code, then a library system will be used to determine who can edit the code. You can grant certain people time privalges to have access to a piece of code, and if they don't update or report back in after a set amount of time, then other people will have access to the code after that time has elapsed or the when the person updates the code. This would avoid the situation where more than one person is trying to modify the same portion of the program.
Which idea is better?|
|VBBR||In my opinion... Why not do both?
I'm willing to help there -- and to be helped by this box-sphere collision code
(if there will ever be one [:)])
(Did you get this box-sphere idea from my post?)
And I think the SourceForge-like thing would be useful for better games. Example, if just a person is making a game it can come out bad, buggy or even don't come out. But if some other people are willing to help then they can organize the project and divide the work.
I think there's no point in choosing one way or the other. The two ideas are good and serve different purposes.|
|Spodi||The first one that you mentioned sounds good, Eric. Though, the idea to have kind of a SourceForge-like system would be cool I think, kind of a VB-game-only sourceforge. Doesn't need to be anything advanced, maybe a place to put your download link, release info, and a little private posting system like on the main page where people can post bugs/comments/etc. That way someone can log in the site then see the list of programs.
Though, that'd probably be a ton of work, so maybe if there is a link in the links section where there's a Uncompleted Game List or something (or maybe next to the BHGL link) for games in progress. This would be different then the links since it wont just relate to the site, but every game that's being made on the site, and a direct link to the game's page.|
|Lachlan87||I like both ideas as well, but since you asked which would be more sucessful, I would have to say the first one sounds like it would have more action.
My general thought is that if you made somthing source forge style, it would mostly be used by projects with more than one programmer. Unless I'm much mistaken, that would only be a very small portion of the VBGaming community. The code bin idea I think would be taken advantage of by a lot more people. It's one thing to share a bit of your code, it's another to share the whole thing. . . I'm not thinking very well right now, but maybe you can see what I'm getting at.|
|kaveh||I like both ideas. If you're only going to make one of them then I would vote for the first one. If community projects ALWAYS fail then you're probably wasting your time setting up an organization system for them.
It would be cool if you could make the first idea a knowledge-base-type-thing with two sections: one would be the code snippets and the other would be an FAQ. So when a question on Classes vs UDTs is asked on one of the forums someone can add the question and all its answers to the knowledge base. And the two sections should be searchable by keywords and index/categories.|
|Eric Coleman||I'm going to use a threaded message board for the code bin, and I put this together last night and today. Its just a basic threading system and nothing fancy. No formating or security checks are done, so if you play with it, don't do any SQL injection attacks or put any html in the posts! you can test it at http://www.vbgamer.com/codebin/forum.asp|
|Eric Coleman||messages are collapsed by default. If there are replies, then you would click the graphic on the far left to expand the tree.|
|VBBR||I get a 500 error - internal server error when trying to post.|
|Eric Coleman||That's odd. make sure there aren't any ' characters in your subject or message, I'm not filtering thouse out just yet. Right now I'm just trying to get the basic functionality of the message board working. What do you think about the collapsed messages? It was cool at first, but now it seems like its too much trouble.|
|The Pentium Guy||too much trouble :p|
|Eric Coleman||Yeah, I agree, I changed it back to just a simple tree view.|
|VBBR||Oh yeah. The thing is that I wrote "it's" including the " ' ". Now I wrote just "its" and it worked...
(If you want to see, take a look at the "1+1" post!)|
|Eric Coleman||If anyone would be interested in the source code to it, then just let me know if you want to see it.|
|Eric Coleman||What else should be in this forum? Its currently extremly simple, the only properties of a message are subject, date, author, rank, and message body.
Here are some other things that are common in message boards, which features do you think should be in the one for the code bin?
- message views, how many times someone views a message
- IP address of the message poster
- ability to lock posts
- "sticky" posts, such as announcements that are always at the top of the page.
- what else am I missing?
|VBBR||I think IP is a little... privacy abusive, isn't it? And it may be harmful if someone has bad intentions.
(Of course, it will be really worse for those that have a fixed IP)|
|Eric Coleman||Your IP address gets logged for any website you visit.|
|VBBR||Yeah, but SHOWING the IP address in the page is a little abusive.|
|Eric Coleman||that's not what I meant. What I meant was "should the IP address be recorded?"|
|VBBR||Ah... Then I think it's OK. [:D]|
|kaveh||I think that these are good:
- recording IPs
- # of views
- lockable threads
- making stickies
- # of replys
- last person to reply
- subscribe to thread
- reply with quote
|Eric Coleman||I forgot about subscriptions. Does it make more sense to subscribe to the entire thread or to only sections of a message? In the latter case, someone might post a message in the wrong place (they always do) that might be of interest to you and you wouldn't get any notification. Of course, if a subscription is to the whole message, you'll get notified of all replies, which could be both bad and good.|
|VBBR||Maybe make an option for the person to choose between all the thread or just the section?|