Releasing my B3D code modules

Blitz3D Forums/Blitz3D Programming/Releasing my B3D code modules

Storm8191(Posted 2005) [#1]
For those of you who don't mind using other people's code, I have decided to start uploading all my Blitz3D code modules to my website. I value these modules alot, as many of them are very good at what they're ment to do. So I'm not releasing them as totally freeware, but you can use them for any project you create. All I ask for is credit - and maybe a paypal donation or two.

These being shareware is half the reason I don't put them into the code archives. The other reason is that many items I see in the code archives are only bare minimum functions, and usually require work simply to use in an existing project. The modules I've made are ment to be complete solutions to various problems. And I feel that they do quite well at it - though some need work still.

The real reason I'm releasing these is that I feel they're very valuable modules, and that I cannot use them all for only my own projects. So this way I can help alot of people out with their projects. Plus, I would like to see this code base grow over time. I'd be grateful if anyone could help expand these modules, or add their own modules to the pile.

Anyway, I'm listing them all at www.mindstormgames.com/projects/codelibs/index.html

I'd like to know what you guys thing of this, in general, and if you find these modules useful. If you have any ways to contribute to this, I'd be grateful. Or even if you have ideas to make these better (other than what's on the task list to each module) I'd like to hear them.


jfk EO-11110(Posted 2005) [#2]
Thanks for sharing! what is the Multimedia manager library doing?


Picklesworth(Posted 2005) [#3]
Great! Thanks :)


Alienforce(Posted 2005) [#4]
Many thanks.

/Alienforce


Storm8191(Posted 2005) [#5]
Thanks, glad you all like this. Jfk, the MultiMedia module is designed to manage loading media objects you use frequently, like for example, a particular enemy image or model. You specify the media type and where the file is, and only loads it if and when you need to use it. After that, each time you need the media object, it gives you the same previously loaded media instance. So it basically keeps you from loading everything you'll ever need, while not forcing you to load the media every time you need it. I'm no longer totally sure about the concept of it, and I personally haven't used it much, but it's still usable, and it works. I guess I could get it ready to be uploaded soon, so everyone can check it out. But life keeps getting in the way, so you'll ahve to be patient.

PS. I fixed the typo in the link to the modules list - sorry 'bout that.


Storm8191(Posted 2005) [#6]
I've noticed my site getting alot more hits recently, so I get the idea that some of you like the modules I've posted. Just to let you guys know, I've added a few more of my modules to the site. Specifically Beacon, my networking module, my FredGUI GUI engine, and PeerFinder, a P2P games finding module that uses Beacon. Be warned that Beacon and PeerFinder require quite a few other modules before you can use it, but they're all up there. I'm trying to get them all ready to be put up, but life keeps getting in the way. Hopefully I'll be able to get to it later this week.

Seriously, I'm interested in knowing what you guys think of these. Are they useful? Easy to use? Easily modifyable? Whatever you think, just post here or email me.


slenkar(Posted 2005) [#7]
what does beacon allow you to do?


Storm8191(Posted 2005) [#8]
Beacon is a networking module. It allows you to send messages back and forth between two computers using UDP. Yes, Blitz already supports doing this, but Beacon wraps Blitz's UDP commands to make it easier to setup, track and terminate connections between computers.

If you have heard of BlitzPlay, Beacon is a lot like that. However, Beacon allows for peer-to-peer network designs, which is something BlitzPlay does not. Beacon is alot simpler in alot of ways, but hopefully more features can be added as time goes by.

If anyone has any other questions they're more than willing to ask them here, too.


slenkar(Posted 2005) [#9]
it sounds pretty good,

but why use UDP instead of TCP?


Picklesworth(Posted 2005) [#10]
Yes! I was hoping you'd put up Beacon :D


LAB[au](Posted 2005) [#11]
At slenkar > Well probably because it's faster! and thus good for network games...


Ricky Smith(Posted 2005) [#12]
UDP is faster than TCP but less reliable - TCP does its own error checking and resends lost packets - UDP doesn't.
A mixture of both is best for network games - UDP for non critical messages and TCP for the important ones !


Storm8191(Posted 2005) [#13]
Slenkar: Smiff is right, UDP is more suited for real-time game updates. If a TCP package is lost, even if it is only for a frame update, you will have to wait until that package gets resent before you can process any messages after that. UDP doesn't attempt any error detection, so which-ever packets are received can be used immediately.

Beacon uses UDP for all data transfers, but supports a simulated TCP system, where extra package information is used for bit errors, and an ACK message is sent back for each received TCP message. If there's a bit error or the TCP message or ACK isn't received, the message will be sent again.

Beacon doesn't currently support ordered TCP messages (good for file transfers), but I have been wanting to add it. I'm currently undecided on how to best implement this, and it may even be more beneficial to have file sends as an extra module. Anyone willing to figure out Beacon and take a swing at adding this? I'm hoping the modules I've uploaded will grow over time through contributions (some of my own, of course).

Based on the number of downloads I've seen from my site, I get the idea everyone likes these modules. Anyone have anything else they want to say about them? I guess I'm looking for constructive criticism here.


Clarks(Posted 2005) [#14]
Storm your good.
those are some pretty useful modules.


Ricky Smith(Posted 2005) [#15]
Very useful modules I like the Handle Manager - Some of them have no active links - are these offline ? Thanks for sharing your hard work !


Storm8191(Posted 2005) [#16]
Clarks: thanks, glad you like them.

Smiff: yes the modules without links have not been uploaded yet. It takes a bit of time, because I have to update some of them enough to where they can be uploaded. And I'm always busy with everything else, classes, etc. so it's taking me a while. And then I'm wanting to add new stuff to the modules I'm working on uploading, and trying to do those things in the mean time. But I'll get them all up eventually - I hope.