Close to a finish now. Will probably take a day or two more. Here's what I got done today:

- Optimized island generation. It was rather slow, taking up to 10 seconds to make the island. Now it performs much better- Finalized house/furniture generator. Search areas are now nicely arranged inside houses. No overlaps or door blocking. More varied house plans.- All food/health items are in the game- Congrats screen with some play statistics.- Some number balancing, although the game will be highly unbalanced on this initial release. There's simply not enough time to play/test it enough and tweak the numbers or tune the mechanics.- Complete color scheme makeover. I used more coherent palette which is easier on the eyes. The idea was to evoke a night atmosphere, if possible with this ideogramatic visuals.- Various bug fixes and improvements where needed.

narF wrote:And all this runs in HTML5?! I'm amazed (both at your skills and the tech itself)

Thanks. Yeah, the graphics are drawn into html canvas element using javascript, brute force frame after frame. Works fairly well on a test PC that is more than 5 years old. I opted for this just out of curiosity to see if it's any good. Not normally my preferred dev environment. Must say it's good for quick 2d prototyping. The pixel fill rate is quite low however, so there is a limit on how much you can draw in one frame before the framerate is brought to its knees. It also manifests occasional larger frame drops (half a second or more). But other than that, nice and easy for non-demanding 2d stuff.

Today I spent most of the time trying to iron out the gameplay. This is tedious and time consuming as you need to playtest over and over.I'll take a day off tomorrow and then work more on the game for one additional day. After that, I'll make it available for testing.Other things I managed to squeeze out today:- Made the game logo.- Finished character/island creation options screen. It's now fully functional. It also acts like a title screen.- Tuned island scalability in size and difficulty.

I'd be very interested in talking to you about HTML5 and the general techniques you used. We are about to start a game project in HTML at my job and while i'm not a programmer, I'm interested in knowing what is reasonably doable and what is too much for html5. You said you "brute force drawing frame after frame". What do you mean by that? Is that a limitation of html5?

narF wrote:I'd be very interested in talking to you about HTML5 and the general techniques you used. We are about to start a game project in HTML at my job and while i'm not a programmer, I'm interested in knowing what is reasonably doable and what is too much for html5. You said you "brute force drawing frame after frame". What do you mean by that? Is that a limitation of html5?

I wasn't using a lot of html5 really, only canvas, a html5 element into which you can draw stuff programatically, via its own mini-api. Rather basic, but well designed. It acts like a viewport that allows you to draw anti-aliased 2d geometry (lines, polygons, curves), as well as blit bitmaps (scaled and rotated) and do some real-time compositing.

It's a software rasterizer, so performance-wise it's on par with thing like Flash. A drawback with software rasterizers is that you need to take care not to push too many pixels onto them per frame. If you, for example, draw a lot of overlapping things, you'll needlessly redraw multiple times over same pixels. Same if you redraw things that were already drawn last frame. Rule of thumb here is to try to optimize your output, keeping track of viewport areas that changed between frames and redrawing only that. By "brute force" I was referring to the "opposite" approach, commonly used where hardware acceleration is available (e.g. OpenGL), where you can just "carelessly" redraw the whole frame because gpu hardware can handle it without performance losses. So my "brute force" remark was a positive one as canvas handled this non-optimized treatment rather well, at least in case of this project.

Speaking of hardware acceleration, canvas should be capable of creating hardware accelerated rendering contexts too. I didn't try it but it can supposedly execute WebGL calls, a subset of OpenGL functionality.

Ok. Here's a version to try out. It's mute, unfortunately. It'll take a day or two more for the audio version. There are several bugs still in there. If something starts to looks odd, just refresh the page and start again. Please use newest available version of a htm5 compliant browser. Game is only tested in Firefox. Feedback is much appreciated. If you have any questions, feel free to ask.

There is no readme or ingame instructions yet so please read below to avoid initial confusion:

Title screen:Customize your character before starting. Select weapons for left and right hand and assign 10 available points to weapon stats. You can also change game difficulty and the island size here.

ObjectiveSearch the village until you find: boat fuel, boat keys and your spouse (listed lower right). Then locate the boat on the coast and escape.

Weapon operation:HarpoonPress button - launch harpoonPress button again - retract harpoonNumber on a harpooned fish represents hitpoints. If you retract the harpoon before hitpoints are depleted, the fish will flee unharmed

NetPress and hold button - throw netPress button again - collect netFish bigger than a net circle it touches will tear that net circle. That part of the net will be broken until repaired.

HooksPress and hold button - throw hooksPress button again - collect hooksNumber on a fish that bitten a hook tells you how many more hooks it needs to bite until you can reel to kill it.

Known issues:- Might not work properly in browsers other than Firefox- Collision resolver needs some more work - sometimes large fish tend to stuck/flicker between the furniture. On lower framerates unwanted passing through walls can happen- Island generator might misfire on occasion - sometimes (rarely) the game will not start at all, displaying black screen only. In that case, refresh the page. Generator also might sometimes create unwanted overlapping houses.- Game sometimes freezes when throwing nets. Reload the page and start again. This is rather annoying. I'll try to fix this one asap.

Last edited by nenad on Wed Jun 12, 2013 6:00 am, edited 1 time in total.