okay. rant time. say we have a c/s model for a creatures game. this means the wonderful world of online gaming, in a way. clients, which handle display, connect to the server, which handles all the actual agents and scripts n'stuff. when they connect, the server makes some sort of hand agent for them... mouse events and screen-movement events can be sent... hten the server sends changes in hte display- sprites or agents moving around... at connection it'd also send a list of sprite/sound files needed, with an option to download, maybe... but clients wouldn't *need* to use sprites; they could be text-only if they wanted to. this would take the burden of drawiing all those sprites off the server and onto hte client... so no, having multiple clients looking at different metarooms wouldn't cause a lot of slowdown... hmm, camera? extra connections by the client (well, more like a request for a new viewport)? but thta's be like c1/2 creature view. what about in-game cameras? it'd be like a viewport inside a viewport or something.. eh, if it turned out too complicated it could be scrapped. next.. what does the server send? in a crowded world there could be too much happening for it to send a 'move' event every time an agent moves... maybe it could ujst send a general update every tick, but hrm, it'd be like video then- what if the client can't keep up? and whatever it sent would have to be quite small to reduce lag... hmm, there'd prolly have to be a tick control setting, not just the wolfling thing of c3 but proper control of the tickrate. metaroom changes. cmra command would be much more complicated, there'd have to be commands for moving a specific hand/viewport... not only does hte hand click on things that send it places, but cameras would want to be able to track objects... then there's screen movement, that could be generated by either client or server... hrm. would the server send updates for the entire metaroom, or just the viewport area? also, the whole metaroom map thing bugs me, it should be scrapped. all co-ordinates can be relative to the room they're in. no possibility of overlapping rooms, then. makes more sense. so... would it be better for a client to request updates on a mroom, or on a viewport area? hrm. not sure. personally I do a lot of scrolling around, and while the background would be available instantly, the sprites would have to be requested from the server... but that could end up being a lot more info than needed, and bandwidth costs money... hrm. that's one to decide later. hey, people could set up servers and charge for them.. after all, bandwidth costs money... hmm, but that means secure-ish logins... of coure this would complicate the idea of an injector kit... you might not want everyone to be able to create stuff. you'd probably have to scrap the idea of having the injector kit automagically installing files; have a separate tool for that or something. then already-instyalled agents could be available to the kit... hrm, but client-side installation would have to be done too. I guess that'd be included in the connection-time file sync and whatever update thing there wouldf be... either have a repository of sprites, etc. right there or on another server, or have some other details of how to get them. so, three cases: the personal server with one owner, that allows a few friends & guests occasionally. here we'd have one user, most likely local, wanting full control; a few users that could have a large amount of control (after all, you trust your friends, right?), and a few users with very little control. the group server that allows a small community to play together. may or may not have a clear owner, but someone will have to run it. this could either have a few, or many, users with full control; possibly many with a medium amount, and the occasional guest with little control. the public server (possibly paid) with a few ops and many general users that may or may not be nice. this would have a few people with full control, many with a medium amount, and might have a few very limited spectator-like accounts for guests or trolls. norn importing/exporting would have to have some security... most likely you'd need the permission of both the owner/importer of the norn and the person to export to... as for importing, that would depend on the type of user... hmm, or maybe you'd only be able to export norns you own, and owndership could be transferred... maybe agents in general could have a security level... and users... then you could only interact with agents <= your level... that way doors could be on 0, so that spectators could use them, other agents could be on higher levels, and agents that could be easily abused could go even higher... (like, say, portable injector gadgets). well, either security levels or a set of priviliges, whatever seems best at the time. aaanyways. enough about security. I'm getting ahead of myself. it would all have to start with a basic engine. oh, how I wish I knew how to do this stuff. chances are, soon someone else will come along and do it ten times faster than me, using stuff I didn't know existed... I can't even decide what sort of world I'd want... would I go for the same 2.5d world of creatures? some sort of 3d thing? or what? right now I'm still thinnking very creatures-y, but there'd be a million things I'd end up wanting to change... it's a shame this wouldn't be suitable for an embedded project. maybe I'll try to make a robot or something instead ;) hey, I do have plenty of lego and a mindstorms kit to work with... and BCIT isthe only place I'd have the space or time to use it- too many dogs here, plus carpet is hard for bots on wheels. aaanyways. back to freetures-y stuff. I was supposed to spend the summer playing around with stuff, trying out AL experiments... that hasn't worked very well. took me far too long just to gte the game of life partially done... and the UI is still rather crappy. so, whta if I were to just jump into this? I'd prolly try to keep up the other programming on hte side, it'd help me learn... but maybe just try to create a c1-like game this way... once it's working I can always fork it and make a version with different AL, one more flexible and more to my own liking, where I'd be able to play around my own way... it'd prolly have some elements of c3 too from the start, though, 'cause I like the power and stability of c3, even if I do hate the bugs in DS, and the limitations- it may be powerful compared to c1 and c2, but it's still not good enough for what I try to do in edynn ;) and this bring up the question- should it try to be compatible enough that the world canb just be lifted from somewhere else? or bits of the world, at least? should it use caos? should it just have a crap metaroom and wait for some other nice person to create a good one? I don't know... and I just though of something more important, so it can wait. whta about kits? I wanted to bring them back, but this makes things complicated- they'd have to request info from the server, too. should the server be designed to send info deeesigned for certain kits? that would make only those kits supported, so the client would have to be compatible there... heck, there could end up being a lot of info the server would have to send for the UI, not just fgor the viewports... so. let's go over this again and see if any of it is actually feasible right now. you'd need a server that was basically a creatures engine without the graphics. it'd be able to create a world with metarooms, rooms, agents and creatures... it'd allow users to connect (with some sort of authentication thingy), interact, n'stuff... import and export norns, inject agents, etc... then you'd need at least one client. a full-featured client would be able to display the world, interact with it... have kits and menus like c1... have cameras too, at least the creature-view type... what I do know how to do: display sprites. what I have almost no idea how to do: sending info over the net, authentication, genetics, physics (yes I tried it once but it went quite badly), importing/exporting, caos, running agents (how do the timer scripts work? how does the engine split up scripts and run bits of them each tick? etc...) so... yeah. for most of this, I'd have no frigging clue what I'm doing. but maybe I should try anyways or I'll never do it...