Friday, July 29, 2005

Ok, that’s another off the list

The sound seems to be working but it’s not stopping as it should, so you have one wav not stopping in time. I might need to set up a second player as a buffer to get a better overlap. The wav I’ve selected sounds awful, looks like I’ll be putting my headphones on again tonight. I can’t seem to get a bleep working though.

I’ve got the hot seat and the single player working using the game canvas one thing I haven’t got working is the Nokia Joystick (or is navigation stick, d_pad). There doesn’t seem to anything to capture it with. I might have to use the keyscan code instead.

It’s the big one tonight. Got to the new Bluetooth working, then it’s the re-size code for all three canvases. That’s when I run this thing against the other Emulators.

Thursday, July 28, 2005

It’s so depressing when things start going wrong. I was testing the game against the Nokia Emulators last night and the single player kept on crashing. I think I know what the problem is but you feel so knocked back that it’s hard to stay motivated.

I also need to find out how to manipulate dates properly in J2ME. The code I’ve written doesn’t want to work, so yet again, it’s right back to the drawing board. I’ve made some tweaks to the Website in preparation for the new release but I guess I’ll have to release two different versions based on the phone type.

I found that the only Nokia Series 60 Emulator kept on returning the wrong screen height for a Game Canvas set on Full Screen Height. This will be a good test for the resize code but not at present. This might mean that some series 60 Phones will not work with the Game Canvas properly so I’ll have to make available a Nokia version with their full canvas class again. Urgh!

The Nokia Prototype Emulator is so slow I’m only getting three or four test runs per half hour so progress is grinding to a hault. Still I have a new Logo, new Graphics and Work is proceeding on the new Web Services which will be needed, so it’s not all doom and gloom.

Well, that’s solved that problem. The single player game state was not progressing as it should. As far as the date issue is concerned I think I’ve got it sorted with the following entry at J2ME.org

Wednesday, July 27, 2005

Well, almost 100 downloads of the Nokia Beta so far. I’ve got to find another way to access the hit counter as I’m upping it when I don’t need to. I’ve still got to test the Wap section of the site to be honest but I haven’t had a change to look it over.

I spent most of last night listening to Zaps, bangs and bongs. It really took me back to when I used to play keyboards in a band, all that messing about with wine waves and oscillators, trying to find the right amount of reverb, etc. To be honest, I didn’t like doing it. I did, however, like being part of a band which, unfortunately, needed those sounds.I’ve selected the activate sound and stored its volume playback within the player class RDMS entry. I should really add the sound on/off value as well.

The other thing I’ve been looking at is the time out function. I’m going to get the program to disable itself after 30 days. Code’s in I just need to test it.I’m at a coding crossroads about the screen resizing issue. Do I go with resized Images is the jar or do I resize all the images on startup? The Latter means I’ll have a Beta by the weekend but a huge jar and the alternative is I don’t know what the results will be. Decisions, decisions …

The only other problem I’m having is the speed of the Nokia Emulators. They are incredibly slow. People are noting that it’s something to do with the Java Setup so, I’m working on the assumption that there is a setting somewhere I can tweak.

I’ve been showing the new Artwork off to a few people. They love it. Why Ndice though? Well Slice Ndice………

Tuesday, July 26, 2005

Too Much Progress ?


First we had Slice, Now we have his female counterpart Ndice. I received new artwork from the artist. It’s fantastic to look at but there was one slight problem. It’s the wrong size. I forgot to include the dimensions so the pictures are a little bit too wide for the phone screen. But then again All I have to do is offset the image slightly and we're away, so it's no biggy.

With the new screen sizes and the three Nokia full-canvas classes being integrated into one game canvas class, everything seems to be falling into place. The sound just requires the wav being cut down to size and the volume setting should be stored with the user.

The website seemed to go down for a little while last night but is back up this morning. I’ve finally had a decent idea for the game’s Logo it was pretty obvious really, it just going to be getting the time to do it.

The only issue I do have is for some reason, the resized game image is 8k when the original is only two. I can only assume that MS Paint doesn’t do an efficient job of resizing the image. I might implement the resize function I recently discovered so it only uses the one PNG and then resizes it on discovery of the Screen Size.

Still on for a new Beta by the weekend. I’ve just got to find a way to virally market the game like N-Gage Snakes (Which I love) but there does seem to be issues with referencing the Jar. I could just send a link to the WAP Site but still that would still mean there is a cost to the user in downloading it to their phone.

I don’t expect to find an answer because when you think about it, it would be a virus writers dream.

So the outstanding issues for a full beta are;-

1. Test Each of the game types. ie Single, Hotseat and Bluetooth.
2. Add a timebomb for the beta so that is refuses to work after 30 days.
3. Try again with Proguard. It's got to work at somepoint.
4. Start Testing with different Emulators.
5. Add mailing list/Guestbook to the Web Site.
6. Add new terms and conditions to the download.

For the final Release, which I'm pencilling in for the Second or Third Week in August, the following has to be done.

1. Look for an issue with the complex Map generation.
2. Translations.
3. Transparant Background on the Game Icon PNG.
4. OBEX Transfer of either the game or the web address to other Phones. It is possible, even with nokia, the question is can I integrate it in time.
5. The New Logo.

Monday, July 25, 2005

Well it’s been an eventful weekend.

The Website went up properly on the Friday night and over the last few days has had about fifty hits. It says 90+ but 40 of them are from me! I’ll have to set up a little job to extract the hit count without actually firing off the counter itself. As I’m now designing the web service it might be useful to pass a request through to the data access layer just to retrieve the hits. Even Bigger Brother, Every time I get a hit, it could email me with the browser information.

As noted before, the sound code is ready. I’ve just got to get the wav down to a reasonable size before testing it. I’m aiming for a type electronic zapping sound just to give it an old school feel. I also now have a pseudo code design for the web service’s methods so I’m really beginning to hit the C# books now as well.

On other news, I’ve also coded the screen size selection and tested it using the gamecanvas class. One of the good things that I’ve discovered is that when the game class is set to full screen, it takes up the whole of the Nokia Screen, not the partial screen like the old canvas class used too. This is excellent news because it removes the last dependency on the Nokia custom classes and when used with the screen re-sizing, it will run on a lot more phones.

Hopefully a new Beta by the end of the Week.

Sunday, July 24, 2005

Progress is good !

Right, I've got the sound code and consolidation under by belt, so it's just a case of testing it (!). I also looked into the scaling issue with the Gamecanvas class and it doesn't look as hard as I thought. I might have a working prototype running on any MIDP 2.0 Phone by the end of the week.

Now that would be a miracle.

Friday, July 22, 2005

Woo Hoo

The website is now up and running. Fanatasic. It was their permissions!

http://www.interphacegame.co.uk

The consolidation continues.

I’ve created a single replacement the four different Nokia Full Canvas classes and I’m starting to test the environment. That’s the fun bit (!) because I’ve never got the Nokia Prototype 3.0 SDK working over Bluetooth.

On a side note, I’m still looking at how to resize the screen from 176*208 to the minimum of 88* 104 and if the dimensions are greater than 176*208, then centre the play area in the screen. The initial attempt was a bust so I’m now re-evaluating the issues. There are four different resolutions that the Game would be able to support.

1. Full size = 176*208
2. Three Quarters Size = 152*182
3. Half Size = 132*156
4. Quarter Size = 110*130 (Alter to allow the popular128*128 setting)
5. Smallest Size = 88*104

The Sound issues are causing a bit of a headache. I’ll see what progress I make by Sunday before I start to get worried. You wouldn’t think that an Electric way and a bleep would cause so much of a headache.
Raised the Website Concern to urgent and haven’t heard a thing from the Web hosts. If I haven’t heard from them by Saturday, I’ll establish a cross net counter and then look at alternatives for the Website.

Thursday, July 21, 2005

It's Depressing

The Website is failing. All I wanted was to get a bloody counter running but the hosting service has not set up the proper permissions on the Database’s Directory. I’ve had to just put the XHTML pages for the mobile website instead and had the index page redirect them to it. One Support ticket is awaiting response, if I have no response from the Website host within a day, I’ll move its status to urgent.

I’ve been looking into the Volume Control and added that without any real problems last night. However, Playing the sound might be a little more difficult and so I’ve decided that before I Implement the sound players I should consolidate all the 4 nokia fullcanvas classes I have, (clsSplash, clsSPG, clsMPG and clsHotseat) into one fullcanvas which is switch able between the four above states.

That means when it comes to putting in the sound player and porting the game across to a more generic GameCanvas, it should be a hell of a lot easier.

Wednesday, July 20, 2005

Blasted Website

I’m getting problems with the database I keep uploading. ADO.NET reports a [ OleDbException (0x80004005): Operation must use an updateable query.]. This says that the ASP.NET user doesn’t have permissions to alter the database and so the query is rejected. Looks Like I’m going to have to open a new support ticket with the web people.

I’m just started to look into the sound issues. The first is the volume control on the sound menu and put in a midlet scope value which will keep track of the volume level. Then add the player to play the wav or mp3 to fire on the right event. Mind you, last time I said that, it ended up taking months to implement the functionality I needed to.

Work is also proceeding on the Data Access DLL for the WebSite/Webservice. I think I’ve defined the dll’s interface correctly so it now should be a case of filling it in.

Tuesday, July 19, 2005

Permission Problem

Well, the Website is done, but I’ve got problems deploying it. It looks like I’ll have to debug it on the web. Bugger! I was hoping to announce it today and set the beta program running.

I’m designing the data access routines which will be needed by the web service and the website to talk to the backend database. I should be using the UML designer but I think in this case I want to be able to just hand code it using C# just for the experience. It will probable make me appreciate the UML Designer that bit more when I come to use it.

I’m probably not going to be able to afford the translation services for the first release, so it’s going to be English only. I’m also looking into this custom list idea; probably put it in a later release but across all versions. The highest priority at the moment is the sound implementation. I’ve just realised that I’ll have to put in a volume control as well but I don’t think that will take too long.

First proper release by the end of the month? It’s possible.

Monday, July 18, 2005

Urg! Another New Language.

I’ve spent most of the weekend designing the new game website. I know it’s not hard to do, but the feeling of achievement to have a simple counter work correctly in C# was overwhelming. This is probably because I’m going to have to use C# at my proper work and it’s quite a step up from VB script.

I’ve been looking at two J2ME things;-

1. One piece of feedback I received was from a fellow developer, who recommends coding a custom list object based on the cavas class. He says it will make the game look more professional. I certainly plan to for the Standard version and above, it will just take a little while to code.
2. Sounds. I’ve got the sound effects I want. Now it’s a case of including them in the game itself.

Friday, July 15, 2005

Taking a Break (Kind of)

One small bug spotted and sorted. I’ve also speeded up the map transfer. It’s funny though. The game works fine using the Series 60 SDK and the prototyle 2.0 SDKs but the 3.0 SDK has yet to run the game properly. It falls over with a connection lost message. The question is should I put my effort into fixing this issue when it’s working ok on the target devices. Next on the list is including the sound effects.

The Web Site is progressing. I’m working away using a C# based ASP.NET website which will handle all inquires. So far I’ve managed to get it to redirect to a strict XHTML Site, WML Site and HTML 4 Website depending on the browser used. I’ve managed to write the XHTML site correctly and it looks quite good on the Nokia Phone Browser. However, the normal website is absolutely pants and I’ll be giving it a real going over before putting it up on the net.

I’m looking at ways to have one single news xml file which will be pulled into the relevant front page. It’s slow going (as I’m only learning C#) but hopefully I’ll have a brand spanking new website by Monday. I’ve got my target list for announcement and, as it says in the Indie Game Development Book, the real hard work of selling (or in this case giving away for free) the game begins.

Tuesday, July 12, 2005

That’s it. Beta Time

The First Screen Shots using the Nokia 3.0 SDK

The last bug is fixed and I now have a Beta which is Obfuscated and ready to send out. It’s such a sense of relief to get it out of the way. I’m going to put it up on the net tonight and send it to the few people who have asked to see it. Bit worried about the Artist though. I’ve emailed her with a request of where to send the cheque but I’ve had no reply. It’s been a week.

I guess this is the hard part, awaiting people’s feedback. Questions that you ask yourself include Do they get the concept? Is the game fast enough on the phones in question? If people do like it, how the hell do you get it out to them?

Ow! My head hurts!

Apparently I’m in a Bid process over the net. I didn’t realise. Somebody has asked me for a quote to do some J2ME Bluetooth work. I just asked the fellow in question a couple of questions about his requirements and that means I’m in the Bid process (!) Still, I’ll see where this leads, any extra cash at the moment would come in handy.

Anywhay

Monday, July 11, 2005

Blasted Obfuscators !

Well, I've been trying for four days on and off to get Proguard to work and I've given up. I switched to retroguard and it worked first time and in addition, transfered to the phones first time.

It may be compressed to only 159 K but that's an improvement. Tomorrow I'll update the website and put the new app up on the Web.

Scarey Buscuits.

I’m slowly getting my head around the Obfuscator. The first attempted managed to get the game down from 200 to 132k. Pity it didn’t work. I’m trying to get the obfuscator (ProGuard) working with Jbuilder X. It appears to be working OK, it’s just I have to specify which classes and class methods to keep and use.

Hopefully I’ll get that working for tonight and then I’ll sent it off to the people who have volunteered for a Beta Test. I’m now looking at the Sony Erricson SDKs for the next version.

Slap!

I’ll have to give myself a complete slap over this. I’ve managed to get the Obfuscation working but then I think, Oh I’ve just noticed that the congratulation/commiserations routines are common across both games. I should move both of those routines into a common one. Doh! It breaks the result capture at the end. It looks like I’m debugging instead of Web site building tonight!

I though that I’d be able to use my O2 Wap - Space to host the download for the game but it turns out that they have specifically denied hosting game downloads or even links to game downloads. But then again the website I have set up should have enough bandwidth to handle 12370 downloads so I’ll just go with that.

Friday, July 08, 2005

Almost There!

Well, the tests are complete. I now have a working Alpha version of the game.

There are five things left before I can move it to a beta state.

1. Handle different screen sizes to see if they can offset the main screen if it’s greater than the standard Screen Size of 176*208
2. If a screen cannot be configured correctly (not enough colours or screen size too small for playing) then a reject message is displayed and.
3. I’ve discovered this code to resize Images within J2ME. I’m going to try to integrate some of it if the size is less than the standard screen size of 176*208

private Image createThumbnail(Image image){ int sourceWidth = image.getWidth(); int sourceHeight = image.getHeight(); int thumbWidth = 64; int thumbHeight = -1; if (thumbHeight == -1) thumbHeight = thumbWidth * sourceHeight / sourceWidth; Image thumb = Image.createImage(thumbWidth, thumbHeight); Graphics g = thumb.getGraphics(); for (int y = 0; y < thumbHeight; y++) { for (int x = 0; x < thumbWidth; x++) { g.setClip(x, y, 1, 1); int dx = x * sourceWidth / thumbWidth; int dy = y * sourceHeight / thumbHeight; g.drawImage(image, x - dx, y - dy, Graphics.LEFT Graphics.TOP); } } Image immutableThumb = Image.createImage(thumb); return immutableThumb;}

4. I want to obviscate the game because it is almost 200K and I would like it a little smaller than that.
5. Update the Web/Wap site. That might me a lot of work but I’ll put a download page up for the beta.

After that there are three items left on the list.

1. Add Sounds. There are two spot effects which are ready to go in. One is a bleep when the seconds count down, the other is an electronic sound when the Process Unit is activated.
2. Tidy up some of the Dialogs and so they format properly this includes the Bluetooth Search Dialogs.
3. Get translations. There’s enough space for French and German, in addition to English.

After that we have a working copy for the Nokia Phones. Next it’s Sony Erricson, then Samsung and finally Motorolla and I hope that once I’ve sorted out the FullCanvas (It’s nokia specific) issue, I’ll be able to port it across quite easily (fingers crossed).

Thursday, July 07, 2005

Nuff Said

http://www.3fs.blogspot.com/

Wednesday, July 06, 2005

Oh My.

I’ve started to work on the promotional website for the game. It’s hard work because I’ve kind of forgotten how to write .net websites. In addition to the web service calls from the phone to the database, this website is going to have to handle web browsers, xhtml browsers (ie for some of the more advanced mobile phones) and wml (WAP) browsers.

I’ve got the layout for each one planned and I’m adding basic content but it looks awful. Add to the fact I don’t even know how to code a counter in C#, things are looking quite grim for some of the stuff.

I have discovered an error which was hidden. The winning player id is not being transferred to the Client. It’s a moot point really because the client already knows who’s won at that point. It looks like I’ll take out that check and just let it run. It does prove out the timeout code which is fantastic.

I’ve also stated work on the database schema for the standard game. I’m limited
to Access at the moment and I’ve got to make inquires into the Service providers support SQL Server 2000. The artist is happy to do the work and she seems happy with the descriptions I’ve given her so fingers are crossed for the next version.

Next on the list is obviscation of the project. It will hopefully be done by the end of the week.

Friday, July 01, 2005

I solved the Sybian -36 Error. It appeared to have something to do with not having the right exception handlers on the 6600's implementation. The 6600 now works with the 3230 but is a little slow.