Jump to content
IGNORED

When we make a bB game, should we post the code?


Random Terrain

Recommended Posts

I hope to start working on a few games soon and wondered what the preference is. Should we always post the code, even if the code is bloated and embarrassing? Or is it best to just post the bin file and only give the code if someone asks for it?

 

 

Thanks.

Link to comment
Share on other sites

I hope to start working on a few games soon and wondered what the preference is. Should we always post the code, even if the code is bloated and embarrassing? Or is it best to just post the bin file and only give the code if someone asks for it?

I'd say that's entirely up to you; it should be no different than if you were writing a game in assembly. Some programmers like to keep their code private, and just post the .BIN. Others like to post their source, too. And some people may do it either way, depending on what they're working on and what the circumstances are.

 

As far as being embarrassed about your code, I wouldn't worry about that. I think we've all written our fair share of bloated or less-than-perfect code, so we won't laugh at your code, because we know that tomorrow or next week the tables might be turned! ;) Besides, unless you ask for comments or help with your code, most people probably won't even look at it, unless they want to figure out how you did something cool. :) And if you do ask for comments or help with your code, any suggestions will most likely be offered with good intentions-- even if something sounds critical, it probably isn't meant to be, but is rather intended to be helpful or instructive.

 

Michael

Link to comment
Share on other sites

I went through this when writing a 3D STL file viewer. At the time, I was learning OpenGL, and my C programming skills are probably novice to intermediate level. (maybe)

 

Ended up posting it on source forge. (viewstl, if you want to see the horror) It's had thousands of downloads and more than a few really great patches, many of which I had to struggle to integrate with the main body of code. That's been a very interesting experience. Significant portions of that code actually ended up in a commercial product packaging solution, distributed in Germany. The take away is that what one person thinks is "bad", just might not be all that bad.

 

They wrote me and asked. Since the thing was GPL, I issued them their own non-GPL license in return for patches, which they provided. Win-win for everyone. I learn, the viewer gets better, they get to advance their project a notch.

 

A Comp-Sci prof in France downloaded it and sent me some e-mail. We had a discussion about code quality, cut 'n paste, better use of structures. Was not pretty. In the end, posting is better because people can use it, and really you've nothing to prove. That's where our conversation ended up, and I think that guy was right on.

 

I've probably got a poor source forge elite code rating, (I've never looked --don't really care!) but then again, a lot of people are using a really stable and useful viewer --if not elegantly done, it's at least robust.

 

There are always tons of really great programmers. This does not change, even if you are one of them!

 

That prof went through the code and gave me a year course in the form of comments and information presented in the context of my program. He did this sometime after I struggled with implementing a few suggestions. I still have it, am still learning from it years later. It's a good thing.

 

How well you program is really about sharing, learning and motivation. What you think about it is your deal. How much fun you are having is far more important. Sharing that is priceless --if these issues are understood.

 

As a kid, we shared lots of bad code. This made for better code and fun I'll never forget.

 

Post it. Good stuff might happen. Somebody else might just think, "wow, if that can be posted, maybe I'll post mine". That's where the fun is, not the other bozo thinking, "what a maroon". Nobody cares about them.

Edited by potatohead
Link to comment
Share on other sites

I wouldn't worry about embarassing bad code or whatever. There's no such thing as a "wrong way" to do things if it works. There just be more efficient ways to do it. Thanks for Michael for telling me that one.

 

I think it should be up to the person if they want to post source or not.

 

When the stuff I am working on is finished I'm just going to post a demo with 2 or 3 levels for testing. The final version will have all the levels and I'll make a few carts to test on real 2600's.

Link to comment
Share on other sites

Thanks for the replies. When I start making a program using bB or before on things like the VIC-20, most of the program seems to write itself. I don't have any idea what I am doing, but somehow it gets done. It's like somebody else did it. The code isn't pretty and it would probably make a pro vomit, but it's amazing that the program works in the first place, so I guess I shouldn't complain about how it looks.

Link to comment
Share on other sites

People are a lot more likely to learn from your code or offer advice than ridicule it. It can be really useful to post your code, to yourself and others. On the other hand, some people like to work in private. If your only reason to not want to post it though is because you think it's a mess, then if nothing else posting it is a good starting point to fixing that. If others with more proficiency add or suggest code, you can compare it to your original and learn to write cleaner, more effecient code.

 

Plus I'm nosey and always like to see what everyone else is doing with bB.

Link to comment
Share on other sites

Thanks for the replies. When I start making a program using bB or before on things like the VIC-20, most of the program seems to write itself. I don't have any idea what I am doing, but somehow it gets done. It's like somebody else did it. The code isn't pretty and it would probably make a pro vomit, but it's amazing that the program works in the first place, so I guess I shouldn't complain about how it looks.

 

That's how the viewer got started! I was tinkering with an Oreilly Open GL demo on the SGI. It had polygons moving around the screen, colors, etc... I started to combine bits of this and bits of that and it was running! From there tweak after tweak brought it to a state that made a lot of sense.

 

bB can easily work this way, as can most BASICs

 

It's fun, and you learn stuff. Most importantly, you are in control.

 

(well not total control, but a whole lot more control than one has otherwise)

 

What is even more fun is going back to your early efforts, after having worked at it for a while. Really is like somebody else wrote it! IMHO, that's also where some of the serious learning happens. Answering the question, "Why the #$*&%$# did I do that?" is very informative. Will bend your noodle at times too.

 

Just to be really clear, I'm not saying post it period. I am really saying, if you post it, you've got no real worries.

 

Hate to mention another user here, but I gotta talk up atari2600land. He posted creative efforts, one after the other. Code all over the place, then hit on his most excellent "Gosub!" Nobody wanted to see that one slip away, so others jumped in and he got after it and ended up with a great bB game.

 

I have totally enjoyed watching him just keep swinging the bat until he hits one nicely. I'm sure others did too. Code was all over the place and nobody really cared. There was fun being had and that's where it's all at. I know he's having a good time of it. (we are close geographically, so we PM'ed) I'll bet he has learned a ton too. It's all good.

 

The greater point being to not let any silly issues get in the way of enjoying the computer. --whatever computer that may be. No reason to complain at all about looks, bugs, anything really, because it's supposed to be fun at the lowest level.

Link to comment
Share on other sites

I'd say post it. If you are worried you could include a BSD-style license in the top to keep people from taking it and making a professional product out of it- but I seriously doubt we have to worry about that here. The community would shun anyone who did something crappy like stealing a game and selling it, I would guess.

 

I was thinking recently though of a few ideas:

 

* A sourceforge project called "Atari 2600 Batari Basic Games" (or similar) that could contain a lot of different games. If you guys aren't familiar with subversion source control it is way easy to use (much better than cvs) and sourceforge now supports it. For example to get the code the very first time you use:

 

svn co (url of your project)

 

to update your code you do:

 

svn up

 

to commit (save version) of your code you use:

 

svn commit

 

and there are GUI's like TortoiseSVN (I think that is the name) among others that make it simple to use from windows explorer/filesystem like interface.

 

* Someone like atariage hosting a wiki for batari basic tips and tricks. The forum is way cool, but it is a pain to find stuff on. While I like the scavenger hunt aspect to finding info, a wiki may be better. MediaWiki is free so would be a good choice and it is versioned, so even if someone messes it up, you can bring the old version back.

Edited by Fort Apocalypse
Link to comment
Share on other sites

* Someone like atariage hosting a wiki for batari basic tips and tricks. The forum is way cool, but it is a pain to find stuff on. While I like the scavenger hunt aspect to finding info, a wiki may be better. MediaWiki is free so would be a good choice and it is versioned, so even if someone messes it up, you can bring the old version back.

I've also been thinking that a wiki would be good. The obvious place to put it is www.bataribasic.com, which as it happens is already hosted by AtariAge. There could be a page devoted to each batari Basic statement, with info on the syntax, tips and examples showing how it can be used, plus pages devoted to broader topics.

 

Michael

Link to comment
Share on other sites

* Someone like atariage hosting a wiki for batari basic tips and tricks. The forum is way cool, but it is a pain to find stuff on. While I like the scavenger hunt aspect to finding info, a wiki may be better. MediaWiki is free so would be a good choice and it is versioned, so even if someone messes it up, you can bring the old version back.

I've also been thinking that a wiki would be good. The obvious place to put it is www.bataribasic.com, which as it happens is already hosted by AtariAge. There could be a page devoted to each batari Basic statement, with info on the syntax, tips and examples showing how it can be used, plus pages devoted to broader topics.

That sounds like a good idea. Then my version of the bB page wouldn't be necessary. As an example, the wiki thing for the Ur-Quan Masters freeware game sure is useful:

 

http://uqm.stack.nl/wiki/Main_Page

Link to comment
Share on other sites

That sounds like a good idea. Then my version of the bB page wouldn't be necessary.

No, no, we shouldn't do away with the online manual. I think it's important to have a single document that gives a broad explanation and briefly describes each statement. With a wiki, some information could get rather detailed, and people need something that's more to-the-point and cohesive. On the other hand, it might be nice to have links between the online manual and a wiki.

 

Michael

Link to comment
Share on other sites

On the other hand, it might be nice to have links between the online manual and a wiki.

As soon as we get a wiki, it wouldn't be too hard to add links to the various wiki sections from my version of the bB page. It will be nice that every bB user will be able to work on the wiki to make it better.

Link to comment
Share on other sites

Re: posting code, the bB compiler itself has some pretty bad code. It breaks many of the "rules", i.e. I use global variables, huge static arrays, no structs, and I'm pretty sure it's got memory leaks from failing to free all of the dynamic memory I use. But it works (usually.)

 

On the other hand, it might be nice to have links between the online manual and a wiki.

As soon as we get a wiki, it wouldn't be too hard to add links to the various wiki sections from my version of the bB page. It will be nice that every bB user will be able to work on the wiki to make it better.

What I'd like to see is a wiki on AA, with editing limited to registered AA users only, to avoid anonymous vandalism and to avoid having to figure out how to add wiki to the bB site (I wouldn't even know where to start!) There's been talk about an AA wiki before for other uses.

Edited by batari
Link to comment
Share on other sites

What I'd like to see is a wiki on AA, with editing limited to registered AA users only, to avoid anonymous vandalism and to avoid having to figure out how to add wiki to the bB site (I wouldn't even know where to start!) There's been talk about an AA wiki before for other uses.

Well, it should be easy enough to add links between the bB site and an AA wiki, so that would amount to the same thing! :)

 

Michael

Link to comment
Share on other sites

What I'd like to see is a wiki on AA, with editing limited to registered AA users only, to avoid anonymous vandalism and to avoid having to figure out how to add wiki to the bB site (I wouldn't even know where to start!) There's been talk about an AA wiki before for other uses.

 

Would be great! Just posted a topic to AA web guys linking back to this topic.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...