Wednesday 20 July 2011

Immediate Plan

1. Do all the junk scenes necessary for, say, the first 3 junk positions.
2. Implement the navigation method.
3. Make the new Bridgedata module, compile and test.

Hello again, GFORGE

To be honest, I was happier with GFORGE's terrains than I am with Terragen's, so I dug out the old W98 Notino, and verified that it would still run GFORGE. It gives me another development route problem, but I am relieved that I can get back to GFORGE if I have to.

Tuesday 19 July 2011

Goodbye, GFORGE. Hello, Terragen

Oh, dear. GFORGE no longer works for me, not in Windows XP and not in a DOS cmd box within Windows XP. Rather than drag out my old Windows 98 laptop to try that, I downloaded a free copy of Terragen, which does a similar sort of thing.

Unfortunately, Terragen doesn't output in a form that POVray understands as a height field.

But after much googling, I discovered For Export Only (FEO) which is a set of plugins for Terragen, including one that creates a BMP file that POVray understands.

Ah, well. No-one said it was going to be easy.

Friday 15 July 2011

Sprite rocks.

Next task is to devise a number of rock sprites. I'll try several of these GFORGE terrain maker files.

Aide-memoire for the Junk navigation map

This entry is PROVISIONAL. It will be updated as necessary.
Route S start -> F finish * = defined


W X Y Z
1 * - F * - *
| | |
2 * * - * *
| | |
3 * * S *
| | | |
4 * - * * - *

Y3 Start. Sprite rocks stbd
Sprite cone port
Y4 Open sea. Sprite cone stbd
Z4 Rocks 2 + pylon on port - visible from cockpit port, bow port and cabin port
Z3 Sprite rocks port
Sprite cone port
Z2 Sprite rocks stbd
Sprite cone port
Z1 Sprite rocks port and stbd
Rocks 3 + pylon fwd - visible from bow fwd only
Y1 High Rocks fwd - visible from bow fwd only
Y2 Rocks 2 stbd
X2 Rocks 1 fwd. Visible bow fwd only
X3 Girders
X4 Open sea. Sprite cone port.
W4 Rocks fwd.
W3 Open sea. Sprite cone stbd.
W2 Wreck port. Sprite cone stbd.
W1 Rocks 1 + pylon on stbd - visible from cockpit stbd, bow stbd and cabin stbd
Jade on stbd bow - visible from bow fwd only
X1 Finish. Jade fwd - visible from bow fwd only

Rocks at sea

One of the sets of rocks I've been developing for scenery purposes. The texture used is Cork, which appears as a nice arid island. Note the shadow of the junk's sails on the sea in front. In use, there will be a pylon with guidance 'traffic lights' on the island.

Thursday 14 July 2011

Back in harness

Having been distracted for several months by, for example, two editions of Mythaxis Magazine (worth a read), a golfing holiday, a new palmtop computer, new books and so on, I made a restart, two nights ago on my POVray creations.

In fact, though I only hinted about it, I made a plan for the first part of the game that involved a bit of varied scenery. At first, I was envisaging sprites to supply even static scenery. Now, I'm more inclined to a mixture of sprites and static images.

In the original post, I reproduced my notebook pages here. Totally incomprehensible, I'm afraid. I removed them.

The plan is to gradually reveal the route to be followed by indicating previous and next positions by traffic light style markers on shore or on buoys. The map is gradually revealed on the screen in the cabin. When the problem has been solved, the player can go straight to the destination, but the first time he has to either guess it or work it out by following the route.

Monday 13 December 2010

POVRAY woes

In rendering the junk final images, I've encountered problems with ropes and the cabin textures. It only needs time, as ever. Even on my quickest machine, rendering takes hours per scene, and every time I get a rope position wrong, it has to be done again. I think I'll use cylinders and tori to get the anchor positions right, before final render. We're getting there. At least I'm working on it virtually every night now.

I've embedded the instructions for multiple renders in the junk.pov code. In the past it's always taken forever to remember how to do it.

KFI and KFF are the initial and final frame nos (each scene's file label is appended with frame no, which corresponds to scene no)

KI and KF are the initial and final clock values which I use to change the scene no.


// "animation" command line string (paste in empty command line box above)
// +KFI100 +KFF102 +KI0 +KF2

// comment out next line if animation in force
#declare scene=100;

// comment in following line if animation in force
// #declare scene = clock+100;

MP3 player

An interruption - I may have found a suitable mp3 player (by Neolao) to substitute for the rather awkward MIDI player in the Javascript. (Note to self - see samsung/notino/bridge)

Friday 10 December 2010

Starting to Build the new version

Now working on changing BridgeData.java to include the junk section.

Had to re-discover the build route - it's more than a year since it was last changed. I've improved the build environment, and installed up to date JREs.

Every time I start a scene, I trip over something I've forgotten, but it's progress, constant progress.

Monday 15 November 2010

The Junk Puzzle

Yup. Got it now. I've devised a 16 point maze - not really a maze, because there's many ways through it, and when you've solved it, you can go straight to the end next time you play. Each point in the grid, let's call it, has its own ID lights, and a different set of scenery around it, viewed from the junk. There are ten positions on the junk, bow, stern, facing various ways, and there is a different scene visible from each of these junk scenes, depending on the ID of the current point in the grid.

So... the scenery is delivered by sprites rather than background, and the 160 possible visible scenes are reduced to ten with different sprites at each location.

Each point in the grid indicates the adjacent IDs and the navigation system allows the player to move to whatever ID he favours.

It's quite a lot of code, but it saves masses of scene files. Instead of 160 scenes, we have just the 10 on the junk, the background sprites being imposed on an empty sea/sky.

Thursday 11 November 2010

Feverish Activity behind the Scenes


Over the last few weeks, I've concentrated on a variety of articles on the junk - table, chairs, a bucket etc.

The next stage is to build it into a new version of the example game, but that will involve some new work on the Sprites, to give the water a more realistic appearance.

I also have to re-write the BridgeData module to control the new scenes.

I am a little conflicted on the "Junk Puzzle" - i.e. how to get from the initial scene of being on the junk to getting to the island. It mustn't be too obvious - the player should have to think about it - but I don't want it to turn into a maze.

Tuesday 7 September 2010

Work re-commences.

I returned to this project yesterday. I am designing the navigation system for the junk, one that uses coloured buttons and a map to lead the user round a number of locations at sea. The view outside the cabin and from the deck has to be consistent, with the appropriate angles of buoys and the island. These will have to be installed as sprites, so that we don't have to make a scene for every viewpoint.

The cabin of the junk, from which navigation takes place, looked so stark that I'm installing a carpet in it.

I still haven't figured out how to organise the puzzle. I don't want just a maze or point and click shooting gallery. There has to be some substance to the puzzle that looks soluble but isn't too easy.

__________________________________

Once I get the navigation in place, I'll do another test version. Watch this space.

Friday 21 May 2010

Odd Comments

Odd Comments
Just a little side issue here. I keep getting comments on the blog that I can't publish because the commenter's name and comment are rendered in a font that my browsers (none of them, and I have many) cannot render. If you are not having your comments published, then this is the reason.


Break in Transmission
The recent pause was due to an extended period of working abroad without access to my code and Povray sources. Normal service will be resumed shortly.

Sunday 18 April 2010

Latest Junk Picture

I just finished this little beauty this morning. Note the ropes and the pylon. It took FIVE HOURS, THREE MINUTES AND TWO SECONDS to render! That was with a number of time-wasting options enabled, particularly the Rope functions.

Friday 16 April 2010

Pylons

I'm going to have pylons in the water for the junk to use in navigation. These pylons will have a sort of road map on them, leading to the island.

Things are moving much faster for me now. There's a thrill of anticipation that I'll soon have a second working example with much more substance to it.

Monday 12 April 2010

Strategy Again

I am finding my slow pace of development irksome. I have today been thinking of strategies to get another short example game out quite quickly.

Among these strategies are:

Complete the first section of the game quickly, without further refinement, and forgetting the next section.

So:
- Junk
- Dockside doors
- Elevator

I'll just get on with that.

Monday 5 April 2010

Comments on POVray techniques

Following up on the comments in the previous post, I should point out that I can optionally apply a grid to any scene. The grid is a series of cylinders, set 5 units apart and centred on the origin of the scene. That gives me an accurate measure of where to put an item. I build the item and rotate it at origin, then move it to the desired location.



The animation (which I may use for a multi-render batch file), briefly, works like this:

"POV-Ray supports an automatically declared floating point variable identified as clock (all lower case). This is the key to making image files that can be automated. In command line operations, the clock variable is set using the +k switch. For example, +k3.4 from the command line would set the value of clock to 3.4. The same could be accomplished from the INI file using Clock=3.4 in an INI file.

If we do not set clock for anything, and the animation loop is not used, the clock variable is still there - it is just set for the default value of 0.0, so it is possible to set up some POV code for the purpose of animation, and still render it as a still picture during the object/world creation stage of our project.

The simplest example of using this to our advantage would be having an object which is travelling at a constant rate, say, along the x-axis. We would have the statement

translate <clock, 0, 0>"

Saturday 3 April 2010

Green Shoots of Recovery

Last night, I dusted this project off, improved the staircase algorithm, and added a staircase to the Jade island.

One of the problems is the length of time each render now takes, even for a minor adjustment. However, once some new component is settled, I think it's probably going to be possible to set up a batch rendering job to produce all the renders anew, every time a significant component is added.

I have decided to inch the project forward in its incomplete state, adding as many of the individual stages of the game as possible, even based on an incomplete background picture.

For example, if a new bridge, building or piece of furniture is added to the island, then I might have to re-render a number of backgrounds later, and I might have to modify the positions of sprites to an extent, but better incomplete scenery at this stage rather than incomplete gameplay.

Monday 14 December 2009

Update

Like most bloggers, I sometimes take time off from blogging.

I have had a number of interruptions, including a trip to Barcelona, work on Mythaxis and (guiltily) replaying Myst III - magnificent scenery.


I haven't been totally idle, though. Since I last blogged, I have refined the Junk and modified a spiral staircase algorithm to give me swooping stairways. I'll post some examples real soon now. And Christmas hols are coming up. I should get some more design done then.