ID:41152
 
Keywords: core
Well, it's been a long time since I've posted about Core, which would lead many to believe that I'd stopped working on it. The truth is quite the contrary however, I've been working quite busily on it whenever I've gotten the chance. I've got some eye-candy ready so, here we go!



Compound meshes. The screenshot here doesn't seem like much on it's own, and really it isn't. The big deal here is... both of those meshes there are actually the same mesh. They are rendered as one object, and thus, at the speed of one object. You may be thinking... so what? Well, my plan, and actually, in screenshots further down, I've put it to use, is to make meshes built from several smaller "mesh parts" to allow for the sort of customization you had in Bomberman Arena, without the slowdown of rendering each individual part. The mesh as a whole uses one texture, since it's just one mesh, so I've also created "compound textures" which allow you to overlay textures on each other, which opens up all sorts of other possibilities in and of itself.



Full-screen Anti-aliasing. For those of you blessed with nice video cards, you will now be able to enjoy anti-aliased graphics. The top section there is the one that's anti-aliased. You'll notice the text is clearer and the edges of things are smoothed slightly.



Billboard chains. No, this has nothing to do with advertising as one person thought. Billboards are basically just sprites. A Billboard Chain is a bunch of sprites linked together to form sort of a trail. This can be used for all sorts of things: ropes, lasers, snakes, lightning, movement trails, etc. In terms of Core, they're fairly easy to use. I still have work to do on them to allow for things like branched out lightning, multiple beams from the same origin, or "tautness" for ropes/chains/etc.



This is just another shot of a billboard chain, this one is using parameters to make it appear like a spring. It becomes stretched out as it's start and end points move away from each other. (one end is attached to the level, and one end is attached to a mob who has fallen off it)



Non-standard Grid Shapes. Also, multiple independent grids, movable grids, rotatable, scalable, you name it, they're just like objects now. You could theoretically attach a level to a mob's hand and have it carry it around if you like. Collision detection would be a bit difficult, but the point is... major flexibility going on here. The shot above shows a "sphere" type grid distribution. Notice how the turfs and walls fit into a grid that is basically warped into the shape of a sphere. I still have some work to do for making the sphere more usable. Most people will probably stick with the standard grid, but for things like cylindrical buildings, or heightmapped planets (caverns and buildings on the surface are still possible), I want these other methods available.



More Post-Processing Effects. I finally figured out how to get depth info in my post-processing effects. I'm re-working the lighting system, so you'll notice in all these shots, nothing is really "lit" or "shadowed". This shot here basically just outlines suddle differences in depth, which creates a bit of a "sonar" effect. Expect some very interesting possibilities for post-render effects.



Fur shading. By no means limit it to post-render effects! I'm still working on pixel and vertex shaders as well. You can use fur shading now. While not my ideal choice for how to render fur, it's available now. With the framework there for it, I can probably figure out some other effects using multi-pass rendering as well.



Finally, Render to Texture. This is my most recent accomplishment and really opens the doors for a lot of other neat things. Portals, mirrors, water refraction/reflection, security cameras. Post-processing effects can also be applied to these surfaces.

I don't know where I was at with networking last time I posted, but, despite not having a good way to screen shot it, networking is a lot closer to where I want it now. You can basically send messages between datums now. If a datum has message sending procs, it becomes a "network datum" and upon creation, or connection of a new client, it executes it's "Announce" proc, to update new clients about important information relative to that datum. For a mob it might mean position and orientation, current weapon, etc.

I've unified pretty much everything that has some sort of visual representation to make it attachable to other things, like I touched on above with the grids. You can attach GUI elements to other objects, or objects to GUI elements, or particle effects to objects, or to the world.

I'm about to start work on creating somewhat of a development environment for creating Core worlds, which will be compiled into files executable by "Core Clients". I have yet to set up a login system, but I of course have plans for it.

Anyways, tell me what you think, questions are welcomed. I just blew the entire rest of my lunch on this, so you'd better be happy! ;)
This really looks great! It's exciting to see the features coming along.
This is amazing, I am still wondering about contacting you to see if I can learn type of language and stuff...how long did it actually take you?