On this day in 2017
Apr. 3rd, 2005
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
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.
Navigate: (Next 10 Entries)