Improvements for Age Building

Help bring our custom Ages to life! Share tips and tricks, as well as code samples with other developers.

Improvements for Age Building

Postby JulyForToday » Sat Sep 29, 2007 6:57 am

Okay... You knew this was coming, right?

Here's my list of what features you coder-heads can tango with for the benefit of us Age Designers (meaning those of us who couldn't code our way out of a paper-bag!).

As I see it, coding for Ages or Uru in general breaks down to 4 categories or focuses:
(this break-down is actually for non-coders to understand where to lodge requests for new features, i don't mean to insult any coders who already know all this)

Plasma
Plugin
Tools
Age Scripting


Plasma
This category is for adding new features into the game. Think of the KI stuff H'uru was doing.

So say we wanted to add support for specularity in Plasma or adding categories for the buddylist in the KI. In theory, fan coders (who were ambitious and crazy enough) could do that, submit that work to Cyan, and it could be included into the game. But I concede that it's not likely that any fan work like that, in this area, will ever warrant any Cyan approval or support, never mind inclusion into the game).

Plugin
This category is for adding features and support for plugins, allowing the Ages made in Blender to use Plasma's full potential.

Most of the work coder's have done so far are focused on this catagory. Support for alpha textures and python scripts and the like all go here. Basically anything that has to do with the transferring and handling of .age files between programs belongs here. (think under the hood of the alcugs plugin and prpexplorer)

Tools
This category is for improvements to the tools used to create ages.

Basically this area is mostly about Blender because it is the main tool used for Age Building at the moment (not that it couldn't be about 3dsmax, or Gimp, or PS). Since Blender is open source, there are no obstacles keeping coder's from fixing or improving aspects of Blender. This category also includes tools like prpexplorer or the new H'uru Studio project. (think of the GUI, and how things are organized and the work flow)

Age Scripting
This category is for scripting objects and behavior in ages.

This is basically any programming for an age's behavior. Too bad like the Plasma stuff that we couldn't fix the Nexus ourselves, huh?



So working within those categories, here is my list of what I'd like to see for features (my wish list- for now):


_____________________________________________

Feature Request List

Plasma:
(wish-list) -- further elaborated on in post below
- dynamic clouds (swell >>> Take a look at it, interesting stuff!)
- Advanced water/particle surface system (kinda like bioshock)
- dynamic physics interaction for the player (half life 2 RMB to pick up, RMB again to drop)
- A contextual based control system like beyond good and evil (your in front of something the left mouse button does that action, whether it's fighting or jumping, ect)
- celestial system (way to setup starsystems and such)
- daynight cycles/dynamic lighting
- light fluctuations
- improved avatars (More texture maps, more face structure types, hair styles (spiked hair for guys, and longer hair styles for girls))
- improved emote controls (key binding/contextual keys (someone links in you can easily wave))
- improved facial appearances (libraries for facial features like in Half Life 2)


Now to the realistic stuff:

Plugin:

-Possible Plugins for programs other than Blender (Maya, 3dsMax)

- Sound Support (more than just footsteps)
- Object Parenting support (for simplified colliders, and objects composed of multiple meshes)
- Animation support
- Texture scrolling/moving
- Support for animated textures (Bink -- This may not be available in the version of Plasma used in PoTS or MOUL, plus there may be certain issues using the bink format)
- Support for multiple materials on a mesh (two materials on one mesh, not texture layers)
- Support for separate alpha maps in a material (dunno if plasma can even do that -- See this thread)



Tools:
Blender:
-Improved OOPS Schematic capable of deleting and dynamically changing relationships
-better way to organize available materials and meshes (also involved with OOps)
-Mesh Element select tool (like 3dsmax has)
-Maybe an offset script for decal work?
-Some sort of script to help manage regions?

-A whole new interface.... (okay, now I'm being unrealistic again :D )

3dsMax:
- A better way to transfer work between Blender and 3dsMax (this may be too advanced and have too little demand to warrant the effort to make -- the wavefront .obj seems to work the best for this purpose, especially for quad faces.)


Age Scripting

Needed:
-A way to handle AI (mostly for animals and ecosystem)
- Way to use the physics and scripting together for something like an all-terrain vehicle or car, or plane?
- Actual image click-ables (not a book cover :) )
- A way to trigger sounds (for an event like a door, or a kick-able too)

Already Featured:
- Journals
- Click-ables
- Linking Books


__________________________________________



I'm sure the rest of you have plenty of suggestions!

Edit: I also think it'd be a good idea if each category had it's own knowledge base. (one place for Plasma info, another for scripting info)

And one last category would be Web resources sort of stuff. But that's not really for Uru itself, but for websites and such (css, mySQL, wiki,ect.).

2nd Edit: I'm going to color and edit the list in this first post to reflect responses and ideas other people have in response to this post. (that way it's easy to keep track of what's already been suggested)
Last edited by JulyForToday on Sat Oct 06, 2007 4:54 pm, edited 22 times in total.
User avatar
JulyForToday
 
Posts: 118
Joined: Sat Sep 29, 2007 5:34 am

Re: Improvements for Age Building

Postby Robert16 » Sat Sep 29, 2007 12:18 pm

I've got almost 7 years of professional Java experience and I've been writing C++ for over 12 years. I've never used Python before, but I looked at the API docs and am confident I could pick it up very quickly. I've never even heard of Plasma before but I just looked through its Wiki and found it to be a fascinating concept. I'd love to know more about how it's used in Uru. I'm not an expert modeler or artist, but I know my way around 3D Studio and have worked with many 3D game engines, including the Torque Game Engine and the Quake 3 API. If anyone out there could use any of the above skills for any ages they'd like to build, please let me know. I'd love to help out!

Wow, after re-reading this post, I realize I should've just posted my resume instead! ;)
Robert16
 
Posts: 2
Joined: Sat Sep 29, 2007 7:48 am
Location: New York, USA

Re: Improvements for Age Building

Postby Paradox » Sat Sep 29, 2007 12:21 pm

Plasma is the engine used by Uru and Myst V (and realMYST). It's closed source and proprietary to Cyan.

The engine itself is C++; all of the Blender plugins must use Python, and Plasma internally uses Python as a scripting language.
Paradox
 
Posts: 1290
Joined: Fri Sep 28, 2007 6:48 pm
Location: Canada

Re: Improvements for Age Building

Postby oldbushie » Sat Sep 29, 2007 5:20 pm

I have no background in python myself, but I'm sure I could pick it up just as easily as all the other languages we've been made to learn in college. Also, I think advanced-AI animals would be pretty neat to encounter in an Age... good suggestion there.
oldbushie
 
Posts: 2
Joined: Sat Sep 29, 2007 5:15 pm
Location: Virginia, USA

Re: Improvements for Age Building

Postby Nadnerb » Sun Sep 30, 2007 8:58 am

Well, if I were to have any feature requests for the age building software, either for pyprp or whatever comes next, is to get us the ability to use animated textures (texture maps 'sliding' across a surface), that classic water effect that everyone knows plasma can do, and some kind of actual animation structure, so that we can have basic sliding doors without having to resort to python warping things around.
Image
Live KI: 34914 MOULa KI: 23247 Gehn KI: 11588 Available Ages: TunnelDemo3, BoxAge, Odema
Nadnerb
 
Posts: 1057
Joined: Fri Sep 28, 2007 8:01 pm
Location: US (Eastern Time)

Re: Improvements for Age Building

Postby realXCV » Sun Sep 30, 2007 5:29 pm

features requests...
Plugins:
plugins for others 3d softwares. (not everyone will want to use blender)
realXCV
 
Posts: 9
Joined: Sat Sep 29, 2007 11:53 pm

Re: Improvements for Age Building

Postby Whilyam » Mon Oct 01, 2007 1:03 pm

Sounds and music would help. Really Sound and Animation should be top priority.
User avatar
Whilyam
 
Posts: 1023
Joined: Sat Sep 29, 2007 5:55 pm

Re: Improvements for Age Building

Postby Herohtar » Mon Oct 01, 2007 1:28 pm

Whilyam wrote:Sounds and music would help. Really Sound and Animation should be top priority.


Most definitely. Those are the things I missed most when playing around with Age building myself.
Herohtar
 
Posts: 5
Joined: Mon Oct 01, 2007 1:26 pm

Re: Improvements for Age Building

Postby JulyForToday » Mon Oct 01, 2007 3:08 pm

As you can tell, I'm updating the first post to make sure it reflects the new stuff you guys come up with. Keep 'em coming! :D


Edit: I'm gonna elaborate on my Plasma "wish-list" of features so you guys have a better idea of what I'm talking about here.


Plasma Wish-list
(elaboration)

- dynamic clouds

Most of the clouds in Uru, or many other 3d games (and even Myst 4 Revelation) have skies that are made with texture maps, and they look really flat. At least they do to me. And ever since I stumbled on Swell I've always loved the idea of incorporating it into a game. Of course maybe it would take too many resources, so you couldn't get it as nice as you would want, or maybe you could rig it up to render a texture output that would be changed by Swell. This would make it possible to have ever-changing clouds that never look the same, and could be possibly used in combination with lighting to make very defined skies that look realistic in realtime (or near real-time if output to a texture every few seconds or something..). I'm not sure how to get the source of it, and once again I'm not really a coder, and this would be some advanced work. But the sky takes up a lot of the screen, and it might be something really worth looking into!

- Advanced water/particle surface system

This one is mostly for realistic fluid water effects, as to those wretched water planes used everywhere in Uru. Does anyone know how the water in Beyond Good an Evil work? It looks amazing and it's clearly 3d and has physics feedback. And whatever it had for shaders works on my GeForce 2! Uru's shaders don't work on it! I would love to get something like that working in Uru. There is also that new game bioshock, I've read some interesting things about it and how it uses special partical systems for simulating the water and making it work like water really would work (like you put your hand in it and it comes out wet).

- dynamic physics interaction for the player

I'm thinking something like half-life where you could pick up a box, and then put it back down, just by clicking the right mouse button. I always assumed Cyan decided not let players have too much physical interaction with the environment because of story reasons. Someone may pick-up the linking book and walk off with it... lol Not to mention the difficulty of technical aspects involved with such a system, which in light of what I just said, makes it almost not worth doing (I mean, do you really need to pick up sharper's cup?) But sometimes I wonder if it wouldn't be a good idea to let people pick up objects like the cones, or beach balls or what-not. At least have that system in place, especially for any puzzles you would want that sort of interaction for. But not an inventory mind you. Just one object at a time. That could certainly make for some neat puzzles.. imho.

- A contextual control system

This one is to help in Cyan's quest for minimalist controls, particularly in response to the object-interaction idea above. If you've ever played Beyond Good and Evil, many of the actions in the game (aside from moving around with the arrow keys) are done using the mouse. In context to Uru's already heavy mouse use, what I'm saying is that when you came close to an object that could be picked up, you would only have to use say the right mouse button (which you had just been using to run) to pick up the box, then use the left button to walk, then the right button again to drop the object. Many people were displeased with Uru's controls, and I think it does need more polish.

- celestial system

If you've ever seen one of those 'night-sky' star programs before, those are more-or-less what I'm talking about. I've tried using Blender and Max to simulate planets and solar systems, and it's not easy business. Remember the ringed planet in Todelmer's sky? Why moving, the ring on that looked otally wrong. But this would be something to keep track of the planet's star and solar cycle's.

- day/night cycles/dynamic lighting

We all want Ages that have day and night cycles. In reality, we have them, so it follows that we want to recreate that in our ages too. Now this item actually depends a lot on the techniques that your using to achieve the effect of a day/night cycle. Technically Teledahn has a dynamic moving light circling the age. And Eder Gira uses a technique for showing different times of day (Revelation did this for Tomahna too).

But what I'm talking about is more akin to realMYST's day/night cycle's (which probaly work a bit like Teledahn's, but more dynamic. Sure you can use vertex colors, or a time of day effect, ect, ect. But I'd want something that would be over-cast gray one day with a hazy night, then a clear brilliant blue morning with a normal noon, and then a spectacular orange sunset, and have all this reflect on the objects in the age.

Light Fluctuations

Another big thing I'd love to see happen is some form of 'light fluctuations'. If you play Revelation, you'll notice how the shadows of clouds will seem to cast on the landscape and objects in the area, and the general lighting will seem to raise, then lower, almost like surf beats against the sand in an interesting dance of procession and recession. It' really helps enhance the lighting of an area, and dramatically improves the 'movement rate' of an age, preventing it from looking dead. What I mean by that is if you just stay in one spot in the game (any game, goes for all MRERU) and don't move, how much of the age itself is actually moving? Myst and Riven were pretty dead, but Revelation made a lot of amazing progress there. But if you stand still in Uru, there are some things moving (kadish leafs, teledahn's sun, birds/bugs flying) but there could be more. The nice thing in real-time is you don't *have* to have any dead things anywhere. Everything can be moving and dynamic. But make those light fluctuations, and *everywhere* will always be somewhat alive.



- improved avatars

Basically I'm asking for an upgrade in avatar graphics, as well as inclusions of many missing styles and physical features that a lot of people have. I mean more face structures, more hair styles, more options. A girl can't even wear both earrings and a necklace. It's one or the other. I don't mean to offend anyone, but how can anyone who is Asian supposed to reflect that in their avatar? Or how about anyone who is short? Or tall? Or rather fat or skinny? I had one friend who use to play Uru who was rather chubbie and tall, and I never-ever would have been able to recognize him by his avatar if he had played Uru Live. And neither of my two hair styles over the time I've played Uru (4 years) have been available. (spiked flip-cut, or a parted bowl-cut sort of deal).



- improved emote controls

I love all the new emotes, but the way to use them detracts from their 'coolness'. I'd use them a lot more if I could just even key-bind them how I wanted. I would actually suggest that it could be contextual like my other about idea about contextual controls. Like if your surrounded by a lot of people, clapping is much more likely to be something you could do. But I would be happy just to have the key binding.

Plus how come there isn't a hug emote? Or hand-shake? Obviously you would have to confirm, but I find the emotes lacking if you can't at least do those two..

- improved facial appearances

Along with better avatars (more face styles) it would also be cool to have avatars that have some real facial expressions. Half Life 2 had libraries for facial features that would allow them to mix an match them for a huge variety of facial expressions.



And so there is my wish list. They may prove difficult to implement, and probably not ever going to be in MOUL unless Cyan does any of those themselves.
User avatar
JulyForToday
 
Posts: 118
Joined: Sat Sep 29, 2007 5:34 am

Re: Improvements for Age Building

Postby Herohtar » Mon Oct 01, 2007 5:40 pm

The wish-list is great, and I'd love to have many of those things as well. However, I don't really see what it has to do with GoW. Most of those items would require engine rewrites and entire new things added to the game code. It doesn't seem likely that Cyan is going to be opening up their game engine to the GoW (or anyone for that matter). How did we make the jump from building Ages to rewriting Plasma?
Herohtar
 
Posts: 5
Joined: Mon Oct 01, 2007 1:26 pm

Next

Return to Scripting

Who is online

Users browsing this forum: No registered users and 14 guests