bluetooth multiplayer game

hi! where can i download (free :P) a game that uses bluetooth.

i’m trying to develop a game but i need a sample as reference.

thanks in advance guys :slight_smile:

Im playing around with something now bab, but havent got very far.

If I get somewhere, I’ll let you know but in the meantime Id appreciate anything you find as well.

currently Ive just managed to get some bluetooth SDK’s which you can get from rococo or antinav ( java SDK’s).
hope that helps.

Larry

thanks. too bad i can’t use those sdk’s. my boss won’t purchase them ;D

but i can get by without them, right?

You can get an evaluation license from both vendors.
I know the antinav evaluation license is only valid for 15 days
and the restriction on the rococo license is that it runs on linux.

Im still have to install linux, and will get back to you on how it went.

Larry

I’ve just been told that Nokia’s “Series 60 MIDP Concept SDK Beta 0.3 Nokia Edition”, an emulator for a generic “Series 60 MIDP 2.0” device that comes included in “Nokia Developer’s Suite 2.0 for J2ME”, support JSR-82 Bluetooth API and emulates Bluetooth connections between different running instances of the emulator.

I’ve not checked this myself yet, but if this works then it’s a freely-available JSR-82 Bluetooth SDK. It should be just what you need for developing MIDP 2.0 Bluetooth games, and for instance those games should then work fine on the forthcoming Nokia 6600 MIDP 2.0 phone.

If you try it, let us know how you get on!

David, do you know if Nokia will be producing any bluetooth examples for J2ME? I think there are quite a few people seeking that initial stepping stone to help them get started.

tnx larry. i’ve already tried it. but the sample codes are either c or c++.

david, you’re right! i explored the documents of the nokia suite and it really supports it.

the professor’s correct. we need those generous souls out there to share some of their code for us to start on

I know that Nokia has plans to produce Bluetooth examples for J2ME. I know, because it’s me who’ll be doing it :slight_smile:

Right now I’m busy on a TCP/UDP multiplayer game example, so I don’t plan to start on the Bluetooth example for another month or so. I’ll ask today if one of my team-mates could take over the Bluetooth example to get it out sooner, but no promises.

Inventing a game is always a significant part of the effort. Would it be helpful if we produced a simpler non-game example first, just demonstrating how to use the APIs (publishing a service, discovering a device and its service, exchanging data with that service) and then produced the cool game later?

Excellent. David you’re a diamond geezer. :smiley:
I think a non-game example would be just as effective. At the moment it’s difficult to find any good documentation on the subject in regards to MIDP games.

For example, I am currently struggling to understand the difference between GIAC and LIAC in terms of inquiry access code. Now if a games related document was to specify GIAC then I would be able to move on, but otherwise I just remain bewildered by it all. :-/

Looking forward to that OTA multiplayer doc too, as that’s another interesting area where expertise needs to be learnt quickly to make a MIDP game profitable. Keep up the great work. Some of those Nokia docs+tools can be a real asset (except for those ‘known issues’ ones ;D)

I’m new to Bluetooth myself, but I’ve got plenty of reference material and some pretty good experts to help me get up to speed and check what I write. The book “Bluetooth for Java” seems to be a good starting point, though I don’t find answers to every question there (and I’d prefer a book that focused just on writing Bluetooth MIDlets for phones).

It seems that General/Unlimited Inquiry Access Code (GIAC) is for devices that stay discoverable long-term, e.g. Bluetooth-enabled printers, and for discovering them. Trouble is, when you do a discovery with GIAC you could get a lot of devices responding.

Limited Inquiry Access Code (LIAC) is for when you’re setting up a connection between two devices, e.g. when you and your friend want to play a game together. One makes itself discoverable using LIAC, a state that times-out after only a minute. The other quickly performs discovery using LIAC, and will see only the devices that are currently discoverable using LIAC (i.e., they won’t see the printers, but they might see another person starting a game at the next table too).

This info is just gleaned from a Google search, so no guarantees of accuracy sorry.

Its great to see sp much interest in this discussion.

The best reference Ive read so far is the book “bluetooth for java” ( as David mentioned). author is Bruce Hopkins.

There’s also a nice short article on bluetooth and J2ME on the sun java website.

Other than that, there are some fantastic articles at nokia forum providing in-depth MIDP gaming design and coding. ( much better docs than the Symbian C++ stuff! - Dave if youre somehow responsible for this, thanks!)

sun’s java website also has some really informative, succint articles on MIDP2 gaming support and examples, mostly by the legendary - Jonathan Knudsen…

Im looking to go fulltime into development from October,
till then Im playing around, I’ll keep in touch, hope u all do too!

Larry

Ah, you see that’s why we need some good tutorials. I was about to use GIAC because all of the examples I’ve seen use it (mostly variations of echo services). Obviously LIAC is far more appropriate for my needs. I think I need to spend a lot more time with my good old friend Google.

Larry, Great links. I think bluetooth will open the doors to a lot of potential for phone games, so hopefully it will be a useful skill to have.

I will certainly be investing in that book. If anybody finds any better bluetooth resources (especially MIDP games related) then please post them here. Cheers.

wow! david…that’s great. we’ll wait for your codes ;D

yup, your suggestion will do. we really need a working sample code to show how do the different bluetooth classes work.

i am working on a getting-start type article, which will be posted to www.benhui.net. in future, i will collect lots of bluetooth/j2me related info on this site.

let me get back to my reference and see if I can find more definite answer to your question.

ben

came across this from the bluetooth.org website. will this help? in short, GIAC can cover device that are in either GIAC mode or LIAC mode. so using GIAC is more realiable unless you know the other device is in LIAC mode. LIAC are usually for the class of device that are discoverable for a fixed duration but not afterward, and usually under user command (kinda like IrDA on PDA)


The Limited Inquiry Access Code (LIAC) is only intended to be used for limited time periods in scenarios where both sides have been explicitly caused to enter this state, usually by user action. For further explanation of the use of the LIAC, please refer to the Generic Access Profile See Generic Access Profile, Bluetooth SIG…

In contrast it is allowed to be continuously scanning for the General Inquiry Access Code (GIAC) and respond whenever inquired.

another place to check is develperworks-IBM’s dev site…

or alphaworks-IBM’s alpha site for that matter :slight_smile:

soemtimes you can find soem real gem of articles there for J2ME

hey all,

I checked out the nokia developer suite as David suggested and there exists a bluetooth API.

maybe Im a bit slow, but however, I just found out its not JSR82 compliant. Thought it was useful info to share… :slight_smile:

In what way not compliant? Is it a completely different API, or slightly different in some methods, or just different in its behaviour? I still haven’t had time to try it properly myself (sorry, busy on other stuff), but I understood it to be JSR-82 compliant.

It’s not an actual Bluetooth implementation using your PC’s Bluetooth card, if that’s what you mean. Like its (and Wireless Toolkit’s) WMA ‘SMS API’ implementation, it’s merely an emulation and can exchange data only with other instances of the emulator, not with real devices.

Hi David,

I heard this from an engineer who I was consulting, who works
for a reputable distributor of a java bluetooth stack implementation.
I was describing my intention of testing bluetooth communication with a nokia emulator and pc. He mentioned that nokia did support a bluetooth, but it was not JSR82.

I just doublechecked the classes with the Series60_ConceptMIDP_betaa3 device and it seemed to confirm with JSR82. After contacting the engineer again, it seems there was a misunderstanding somewhere and that nokia DOES support JSR82. At least with the 6600. Id assume this also means that the device classes for the emulator are also JSR82 compliant.

Apologies for the confusion.

Larry