On this day in 2017
Apr. 11th, 2007
01:16 am - That is not dead...
It's been almost two years since my last post, and most people will probably think this project is now long-dead and beyond resuscitation. The wiki disappeared not long after that when my hosting provider went AWOL, and life has conspired to keep it off-line. Details of that can be inferred from my personal LJ, which recounts some aspects of the career rollercoaster I've been riding: needless to say all of my creative energies were for sometime channeled into other people's babies.
This is nothing new. Silicon Beach was born at the end of 1991, although the name took another seven or eight years to materialise, and it's lurched along through my backbrain in fits and starts as I've worked on all kinds of tasty geek fodder. That's the creative process I guess. Every couple of years a new collection of characters will force their way from my subconscious and insist I share some personal time with them, and I guess that time might be here again.
Now this isn't to say that Silicon Beach is set to be my main project this year. My good friend
spikyblackcat and I are already commited to developing some revolutionary networking technology this year and that's where most of my time is likely to be channelled, but that's not the only thing I want to be doing. So expect intermittent updates.
Getting the old wiki back online isn't my top priority just yet but I've checked through my archives and all of the datafiles are still there. The easy choice at this juncture would be to stick a MediaWiki server up on my cable connection and serve that out, but I want to think about that. Last year I ran several MediaWikis for managing technical projects and that confirmed my dislike for the engine. The codebase is dirty and I find it difficult to have confidence in a tool with so much spaghetti under the hood. I also recently wrote a simple content management system in Rails, and the idea of having something that's specifically tailored to the kind of data that a project like this involves is appealing. Anyway, a month should hopefully be long enough for me to make my mind up one way or the other.
So how do things stand today, relative to the plans of two years ago?
Java to me is dead. The single biggest lesson of my recent adventures in network infrastructure has been that Java is too static and verbose for elegant code development. I know there are people who will disagree with that statement, and others who'll say that elegance is less important than performance: well good for them. Moore's law has always made the performance argument look somewhat dubious, but now we're entering an increasingly multi-core world we can afford to be wasteful with clock-cycles if we intelligently distribute our application load.
Ruby is more than just the latest hyped language, it really does put the pleasure back into coding. It's also an incredibly elegant language with a good extension model, and I'm considering building a 3D extension for it based upon the Sauerbraten engine (which has come along considerably since I last looked at it). I quite like the idea of having the upper level of the engine written in Ruby, with only necessary primitives written in C/C++. That's definitely a long-term project though.
Of more immediate interest is the release of Inform 7 which is taking interactive fiction to new heights. The editor is very much writer-oriented and I can see this being the perfect tool for prototyping and storyboarding. I've only had a brief play with it so far but I hope to do something about that over the coming weeks.
That's all for now!
Jul. 31st, 2005
11:40 pm - Progress stalled
Thanks to recent server problems and the necessity of job hunting, the project has stalled during the last couple of months. Hopefully everything will be back on track before September with fresh content planned for the Wiki, and a new back-end running on new servers.
I’m currently considering the move from a MediaWiki 1.3 engine, which is a nightmare of embedded PHP, to a fresh codebase using Ruby On Rails: this is a technology similar to Apple’s WebObjects, but using the Ruby language rather than Java.
Ruby On Rails makes it very easy to develop complex database-driven web applications with minimal quantities of code, so a conversion hopefully won’t take too long. I also want to develop a cross-platform client-side editing tool to make working on new content off-line that much less irritating as several significant updates to the site have been lost thanks to machine crashes, network outages and general browser crapness.
Feature suggestions (currently limited to automated backups) are welcome.
Jun. 15th, 2005
Jun. 11th, 2005
04:00 am - Game engines in Java
So today I'm looking at Java Audio and 3D libraries, and pondering which is the best for the purposes of this project. The following is a run-down of those I've come across so far, please comment if you've any experience of them >:)
( Sun Technologies )
( LWJGL )
( ODEJava )
( OctLight )
( Xith3D )
( OpenMind )
( jMonkey Engine )
( Java 3D Game SDK )
( jPCT )
( JIRR )
( Cube & Sauerbaten )
Jun. 4th, 2005
09:20 pm - Time to start making some technical decisions
( How things stand )
( The case for Java )
( Application-level coding )
( General Design )
( Licensing Issues )
May. 10th, 2005
01:16 pm - Recent Progress
So time has been ticking by and it’s all been sounding a bit quiet around here, thanks in large part to the obsessive way I throw myself into sub-projects, and to a lesser extent my usual election fever.
Anyway, stuff that’s currently underway:
( software secrets )
Apr. 25th, 2005
02:49 am - Wiki updates
I'm trying to get in the habit of making Sunday my main wiki-editing day seeing as otherwise it usually ends up pretty unproductive. I don't know if this will work in the longer term, but today's certainly kept me busy.
First up I've added some basic stuff to do with the Open Game License, so now it's possible to add OGL content to the wiki and properly identify it as such. My reason for doing this is to facilitate adding the Modern System Reference Document and the Action! System rules into the wiki.
Secondly I added half of the Modern SRD into the wiki, with more to follow at a later date.
The majority of source material for the Silicon Beach setting is currently written for the Traveller:The New Era rules system by the now-defunct Game Designers' Workshop. Whilst it's possible that I may decide to continue supporting variants of the Traveller rules system, I am keen to develop one or more OGL systems tailored to the particular needs of the setting.
I selected the Modern SRD as one possible alternative because it provides a detailed rule system capable of handling both hi-tech and the supernatural.
The Action! system by way of contrast utilises a relatively simple rules system with ample opportunities for customisation.
Whilst other OGL systems exist, at this point in time I feel that concentrating on these two systems will prove more productive than trying to juggle all the competing alternatives.
[Posted with hblogger 2.0 http://www.normsoft.com/hblogger/]
Apr. 6th, 2005
04:20 pm - Wiki additions
Well last night proved quite productive as I introduced two new major NPCs to the database.
Helena Prentise (aka Swamp Girl) is a psychic eco-warrior and a member of the extra-legal Marsher Alliance, a paramilitary organisation sanctioned at the highest levels of government. Helena is a veteran of the continental laws and a tad kick-arse.
Richard Deverre is the commanding officer of local regiment The Queen's Own Kentish Rangers and one of the British Army's most respected figures.
Two minor characters Stig and Sean are also in there. They're the backup muscle for Helena and will get a fuller treatment when I find the relevant notes.
Thanks to Richard and Helena the history of the continental wars is starting to take shape, along with the broader international situation. Quite a few key events exist in both bios, and as time allows I'll start to flesh them out with their own entries.
If anyone else fancies getting involved in the geopolitics side of things feel free - that's what a wiki's for after all >:)
[Posted with hblogger 2.0 http://www.normsoft.com/hblogger/]
Apr. 4th, 2005
01:18 pm - Spring cleaning and Superheroes
OK so this has overrun by a couple of days, but as soon as I've run a hoover over the floor this is officially over and the work can begin.
So what's on the menu for today? I think mainly some NPCs that are lurking in my box-files, including the only superhero to grace Romstairs: Swamp Girl, the girl from the swamp >:)
I partly jest about her being a superhero because she's one of those masked do-gooders a la Zorro, and the poster girl for an important paramilitary organisation called The Marsher Alliance. I'm not sure the politics will come through well in the first drafts, but imagine a feudal organisation of radical enviromentalists engaged in a covert war against multi-national corporate interests, embedded in the balkanized anarcho-bureaucracy that is the British government. I'm not sure I can do the concept justice in print, but I did find it a useful dynamic in one of my early-nineties postal RPG campaigns...
[Posted with hblogger 2.0 http://www.normsoft.com/hblogger/]
Apr. 3rd, 2005
03:31 am - Watch the skies
On Friday I caught an interesting programme on Discovery Science discussing the history of aviation research into the feasability of flying saucers (apparently the first working model was built by Skoda in 1944) and it gave me a far clearer insight into the dirigibles that dominate aerial warfare in 2017. I may have to re-read Marshall T Savage's Millenium Project handbook and graft some of that technology into the mix too...
[Posted with hblogger 2.0 http://www.normsoft.com/hblogger/]
03:29 am - Wiki diki do
Saturday saw zero progress thanks to unexpected spring cleaning of the office. Some of today will doubtless go the same way, but on the plus side I've finished configuring my new laptop and so hopefully can settle back into a more regular work rhythm.
As part of the spring clean I found a whole boxfile's worth of Romstairs related material, most of it game background but also a few ruminations on very aspects of the game architecture and mechanics. I think I'll put the NPCs into the wiki first, along with a few cultural notes to further set the scene.
[Posted with hblogger 2.0 http://www.normsoft.com/hblogger/]
Mar. 31st, 2005
10:05 pm - It's progress Jim - but not as we know it...
Another busy week is heading towards a close and there's precious little in the way of exciting news to report. Those who aren't interested in the software side of things might want to skip the next couple of paragraphs...
I've been heavily submerged in the nitty gritty of how the Unicon virtual machine handles graphics, with an eye to porting the MacOS X build from XWindows to Carbon/QuickDraw. The benefits would be two-fold: I get a deeper understanding of extending the VM (essential for later adding sound support and extending the graphics facilities); the Unicon community get a genuine MacOS X native VM. I may well set aside a chunk of the next month to experimenting with this further, as well as fixing the CVS Windows build (which currently doesn't).
In other dull-as-dishwater news, I've been discussing multi-tasking in Unicon with a few other users and it looks like this might be practical without invoking too many of the problems associated with threading. I have some initial ideas for a Task object, and along with the Socket object I've been considering for the FastCGI module I'm hoping to get teo large chunks of architectual design resolved over the next couple of months. Will these be at all useful to the project? I hope so.
To help things along I'm also setting up a dedicated PC development machine (a tasty Thinkpad X31 that I picked up on eBay), and a dedicated MacOS build machine is in the pipeline - assuming Apple ever get around to releasing Tiger!
On the game content front, I'm planning on sticking some NPCs into the wiki this weekend and possibly a few more locations. A lot of this stuff already exists on paper so it's just a case of typing it up, which of course is why I'm finding it such a bother to sort out.
[Posted with hblogger 2.0 http://www.normsoft.com/hblogger/]
Mar. 27th, 2005
02:29 am - More coding fun
Well today has seen me back working on code and I'm starting to get a feel for Unicon's variant of OOP.. It's a little unusual because Unicon is completely expression based, so a procedure is itself a value - although it's not a first-class value in the sense that it would be in Scheme because the code itself isn't mutable at runtime. Well, not without doing some very inelegant hacking anyway.
So what exactly am I working on at present? First up a simple object herarchy to handle the main data-types - lists, tables, databases, strings, sockets, sets, etc. From this baseline I'll then be building a FastCGI wrapper for use in my variant wiki engine.
By the time the wiki engine is complete and running on the server I hope to be familiar enough with Unicon to write sone decent tutorials covering various aspects of programming in the language. This will be of interest both to people working on the game engine, and also to anyone who does any game scripting.
In a parallel development strand I've been taking a look at the Unicon virtual machine with an eye to getting a couple of ports underway. The most significant will be adding native MacOS graphics using the Carbon framework, which will free Unicon from its dependency on XWindows on that platform. Not only will this be useful to the project in its own right, it will also give me a chance to test the extensibility of the virtual machine in general: low-level support for BSP, 3D models, octrees etc. should ideally be coded in the most efficient C possible...
The other ports I'm interested in figuring out the complexity of are to PalmOS and EPOC/Symbian UIQ, although neither of these is likely to be of direct value to this project. My main goal is to be able to work on bits of code even when I don't have a laptop with me >;)
[Posted with hblogger 2.0 http://www.normsoft.com/hblogger/]
Mar. 24th, 2005
12:20 pm - Tippetty Tippetty Tap
Well the thinking cap’s still on where background material is concerned, so I’ve been busy this week with the surprisingly readable MUD Game Programming by Ron Penton which I picked up in Borders last week. I’ve several other volumes in the La Mothe Game Development Series, most of which are relatively interesting (excluding the repetitive descriptions of Win32 programming in C++) but I think this is the strongest so far and surprisingly relevant to several of the architectural problems I want to solve with the Unicon runtime.
The chapter on threading in particular got me back to considering a subject that I’ve not bothered with since the mid-90’s. The Unicon runtime system doesn’t provide threading as such, but there is a multi-tasking version of the virtual machine that I think could be used to implement a pretty decent software-based threading scheme. Icon already has co-expressions (like co-routines for those of you who know Modula-2) and these are capable of suspending state so execution can be passed between several co-expressions by the main program. Where MTIcon expands on this is by allowing a monitor task to load separate programs and then treat them as co-expressions, but with the added advantage of being able to listen for events generated inside the virtual machine and resume its own execution when these happen.
Initially this facility appears to have been intended for use in profiling code performance, but I can think of several possible ways in which this could be used to implement a pretty decent threading library. The thinking cap is most definitely on for this one.
Mar. 18th, 2005
11:04 pm - When two tribes go to war...
I’ve not taken time to post recently because I’ve been busy with figuring out the British Military of 2017. I’ve spent a couple of days immersing myself in current orders of battle and thinking about how these relate to the alternative, more warlike history of the Silicon Beach setting.
I started my explorations with the Queen’s Own Kentish Rangers, a lineal descendant of the East Kent Buffs. The order of battle I initially envisaged for this regiment is a little too complex and whilst I’ve a lot of stuff about it in the Wiki, I think I’ll be doing some serious reorganisation over the next couple of days to make it more manageable. This also means introducing a more general order of battle for UK forces as a whole - and one that’s balanced enough to represent a Great Power without making it a Super Power.
Firstly I’m tackling the Army:
- I’m introducing a Ranger division - the 22 (Ranger) Division - that will include other regiments and allow some of the non-infantry assets to be more sensibly organised, as well as reducing each battalion to a more manageable strength. Doing this also means putting the boilerplate in place for other Divisions and Brigades, as well as the other services.
- I’ll have to decide the balance between Armour, Infantry, Artillery, Air-Cav and Support.
- Special Forces (i.e. SAS etc.) can wait until I’ve got the regular divisions etc. organised
- I have to review the military technology I’ve previously devised and consider how this will skew things. The presence of an Air Fleet on similar terms to the Royal Navy (they may even be the same organisation for all I can tell) is bound to have a significant impact on troop deployment
- Large armies are expensive and Parliament is notoriously parsimonious when it comes to paying for them...
For any of this to turn out right I’m also going to have to start firming-up recent political history. I have a few dates of battles and campaigns that have cropped up for various gaming purposes in the past, but I need to start creating some stub entries in the Wiki so that other people can take a look and add some interesting twists.
On a completely tangental track, I’ve also reorganised the entry naming in the Wiki to make unique identification of entries easier, and added a convention whereby the first line of any entry is the list of categories it belongs to. The latter I hope will make life easier when items need to change category, and the former is an aid to converting the database at a later date in the event that I finally get my own Wiki codebase up and running.
Mar. 6th, 2005
07:17 pm - IF Update
One language down, one to go >:)
Spent a few hours this morning reading through the Hugo manual. Interesting language, in it’s own bizarre 16-bit manner. I wouldn’t want to program anything significant in it right now, but it has given me some interesting ideas for an interactive fiction library that:
- a. is easy for people who want to write scenarios and describe environments
- b. is a useful tool for scripting cut-scenes, etc.
- c. is easy to implement and efficient in operation
Next up will be digging through two manuals on Inform that look useful. There’s a beginner’s guide that includes several sample games, and the designer’s manual that seems to have a number of detailed articles on interactive fiction theory. Weighing in at roughly 800 pages, I’m expecting it’ll take a day or two to dissect in any useful detail, but hopefully there’ll be a few useful gems.
Architecturally I’m currently thinking in terms of something that uses a scene-graph for handling the relations between objects and removing the usual room-oriented abstraction that dominates the IF mindset. In essence there would be only one room per player, defined by a clipping sphere (or n-sphere for those who prefer generic design) that surrounds the character and is itself pruned by objects.
Movement would be specified relative to terrain features, with everything possessing spatial co-ordinates. Perhaps a turn-based mapping of action would be useful, so a character might be able to move a certain distance in a turn and this would help with determining changes in relative distance and such-like.
I’m thinking that an IF library needs to support pretty detailed descriptions of objects and locations, but that to designers it should be as simple as point-and-click for mapping.
Of course to spin this idea on its head, instead of adding 3D to interactive fiction, you could as equally well describe this as providing a textual renderer to an otherwise conventional 3D environment.
Mar. 5th, 2005
12:33 pm - Interactive Fiction
I don’t know how may of you remember those old Infocom text adventures, but I had a chat with
giolla recently about the use of an Interactive Fiction engine as a way of getting some game environments up and running without too much hassle. Now the ultimate purpose of this project is to deliver cool adventure games in a 3D environment based on the campaign setting, but I suspect the use of IF as a stepping-stone towards this is actually a pretty neat idea.
For the weekend I have a stack of books printed out on two IF systems. Hugo is a cross-platform system that supports graphics and sound resources on its own engine, and which I’m currently four chapters into dissecting. Inform is a development systems based around Infocom’s z-Machine virtual architecture and I’m not looking forward to the 800+ pages of documentation I’ll be wading through on that.
Anyway, given that my decision to use Unicon as the project’s main coding language (backed by some C for low-level stuff) is looking close to definite, I’m starting to think of how I can implement a library with similar features to Inform or Hugo that would make coding easy for adventure designers whilst still being efficient - and maybe into the bargain be usable as an underlying semantic engine for a 3D game.
Architectural suggestions from those with a better knowledge of this sort of thing are most definitely welcome!
10:46 am - Search for a Star
Or more accurately, a project logo. I know, logos are the first step on the slippery slope to mission statements and consumer-oriented branding, but a nice iconic graphic seems to be important to many people. Now this is hardly a top priority, but if anyone has any cool suggestions I’d be keen to hear them. So far the only thing I can think of is some kind of piss-take of the Disney logo using a Ferris Wheel in place of the Magic Kingdom - but I’m pretty certain this has already been used (I just can’t remember where or when).
10:41 am - Inaugural post
Welcome one and all to the Silicon Beach LiveJournal community.
I’m hoping that streaming game-related discussions primarily into this journal will have a couple of benefits:
- it will make it easier to keep track of ideas discussed so far
- it will allow everyone to keep an eye on new developments without having to trawl through my meme-ridden LJ
- when I get the time to do some more hacking on MediaWiki, it’ll be possible to update automatically when there are major changes to the wiki content (which I think will be pretty flash)
Obviously I could just have set up a phpBB on the silicon-beach website, and it’s possible at some point that I might, but I thought that an LJ community would fit in better with most of our lives right now. We all read LJ on a fairly regular basis, and it’s a very flexible tool for communicating information in a rough approximation of real-time.
I’ve set this group up so that all members having posting access, so feel free to discuss anything here that seems appropriate.
I’ll be initiating threads on the following subjects as and when I get up to speed on them:
- Open Source, Open Game and Open Content licensing
- Interactive fiction systems
- 3D game engines
- Project structure
- Project goals
- Adding content to the wiki
Plus anything else I can think of that seems appropriate. I’ll also do my damnedest to post intelligent replies to questions raised, etc.
