New shot of Myths of Leindar: Century

Community Forums/Showcase/New shot of Myths of Leindar: Century

JaviCervera(Posted 2004) [#1]
We will use the Cipher engine for the final version, but are currently using Blitz3D for the prototyping stage. Here's a recent shot:




Red Ocktober(Posted 2004) [#2]
that looks absolutely amazing J...

if only those trees could be shaded as well, they somehow seem separate from the rest of the scene... or maybe just made a lil darker...

... but everything else looks great.

question... what were your priamry reasons for going with Cipher?


--Mike


JaviCervera(Posted 2004) [#3]
Cipher is a Windows-only engine, but it comes with full source code.

I am currently replacing all the WinAPI / DirectInput / DirectSound code, and using SDL / OpenAL instead, so it will be portable to Linux and MacOSX. That were our primary reason to port.

I will also implement an octree occlusion system in Cipher, which would be very hard to do in Blitz.

Cipher comes with a cool set of tools (shader /particle designer, awesome Max exporters).

Cipher is C and not Basic.

Cipher uses OpenGL instead of Direct3D.

But, the main reason is that we are making Cipher cross-platform.


Red Ocktober(Posted 2004) [#4]
cross platform is a good idea...

good luck... and keep us updated... this looks interesting.

--Mike


Braincell(Posted 2004) [#5]
Not bad, but the head looks an awful lot like one i have seen in Neverwinter Nights... thought they're all so similar i'm probably wrong to think you just took it like that.

And why do you bother with Blitz if you can do everything in C anyway?


Neuro(Posted 2004) [#6]
Saves times and less coding than with C - hence the reason for them prototyping it in Blitz. I recall hearing a lot of groups and a few professional teams have used Blitz for quick prototypes before porting it to the final C/C++ version.


Jeremy Alessi(Posted 2004) [#7]
Yeah, it's a good idea to codesketch your ideas with Blitz ;)


angel martinez(Posted 2004) [#8]
Very good work! I like very much the character shadow, it looks like a stencil shadow.
Animo y buena suerte!


Canali(Posted 2004) [#9]
Really superb.
And I like especially the design and style.

Usualy these thigs are forgotten in occidental productions.
Any demo available to let us see your creation in motion?


L_Draven(Posted 2004) [#10]
Hi all,

2 shots more.






puki(Posted 2004) [#11]
Yehhhh!!!

This looks really great. I want to play it.


jfk EO-11110(Posted 2004) [#12]
In the 2nd and 3rd shot the shadows are missing. How is your shadow system working? some kind of hardware shaders? and is this system capable of producing shadows for all characters, or only for the main actor and uses pseudo shadows for other chars? (as seen in a lot of prof. games)

Looks great btw.


GfK(Posted 2004) [#13]
The trees spoil it. They're far too brightly coloured in relation to everything else.


N(Posted 2004) [#14]
The detail of the textures on the (flesh bits of the) arms of the characters in comparison to the textures on the rest of the character models is horrendous. The torso is fine, the head is fine, but those arms are just downright ugly.

I agree with GfK concerning the trees.

Aside from that, good work.


puki(Posted 2004) [#15]
Actually, isn't the town well a bit on the large side?


jfk EO-11110(Posted 2004) [#16]
Tho the century shots from the blitz app where loking much better, these are nice als well. I think he still got a lot to do with this new engine. EG: the flowers that are masked textures. you need to set the transparent color to somethng greenish to prevent them blur to black borders. In blitz this is easy, simply paint the black texels green and conserve the alphachannel. No idea if it's so easy in this new engine too.


JaviCervera(Posted 2004) [#17]
jfk, ALL the shots in this thread are done in Blitz. We don't care too much about the masking problem and the trees look because it looks WAY better in the other engine (Cipher). If you use alpha objects in Blitz, you get z-order problems. This works perfectly in Cipher. This is why we use masked textures for the trees and the plants in this Blitz prototype, and alpha textures on Cipher.

About the shadows, we are using Swift Shadow System in Blitz (the shadow you can see on the first pic is done using that), but we usually turn them off because it is much faster this way. Draven simply forgot to turn them on before taking those last screenshots. In Cipher, we use stencil shadows, using Carmack's Reverse Algorythm.


MSW(Posted 2004) [#18]

In Cipher, we use stencil shadows, using Carmack's Reverse Algorythm.



You might not want to do that...Creative Labs may have thier legal team come after you with patent infringement.


N(Posted 2004) [#19]
You might not want to do that...Creative Labs may have thier legal team come after you with patent infringement.


Yes indeedy. It isn't Carmack's Reverse Algorithm, it's Creative's blahdee blahSUEYOUFORALLYOU'REWORTHblah algorithm.


NTense(Posted 2004) [#20]
Have you given any thought to using the Torque game engine by GarageGames instead? It's already cross-platform. They've got a shader system for it, and from what I've read, it's pretty powerful / flexible. Supposedly, their network code is killer. The only downfall I've really heard on it is that it's got a weak physics system.


GfK(Posted 2004) [#21]
ALL the shots in this thread are done in Blitz. We don't care too much about the masking problem and the trees look because it looks WAY better in the other engine (Cipher). If you use alpha objects in Blitz, you get z-order problems. This works perfectly in Cipher.
No offence, but if you're going to brush every comment aside and blame Blitz for it, perhaps you should let people judge the screenshots taken from Cipher instead?


JaviCervera(Posted 2004) [#22]
@GfK:
It's not my intention to blame Blitz, I really like it, but what I said is the true. Anyone who has tried to draw plants with alpha has experimented this z-order problems, so I don't see any problems in my comments.

Blitz3D is by far the best solution to indie developers, specially if you work alone. You can do a LOT of stuff with it in a very short time, and the results are impressive. In Cipher you have to deal with a lot of level stuff like vectors & matrices manipulation to move and rotate objects, and many more things. We mainly chose it because, although in its current stage it's not better than Blitz (although it support stencil shadows), you get the full source to it, and you can easily extend it with a little knowledge of C. Blitz is closed-source, not cross-platform, and I don't have too much hope to see some things we need implemented natively into the engine (stencil shadows, octree rendering, etc).

If you want to see some screenshots of the town rendered in Cipher, jo to the webpage in my sig, and check the first four pics of the Media section. You'll notice that the plants and trees look way better.

@MSW:
In any case, this would cause troubles to rikh, Cipher's creator. I am not breaking any points of the license I agreed to when I purchased this engine.

@NTense:
I like Torque features (specially network & terrain parts), but I can't stand the way you work with it. You basically get the source of a tech demo done in Torque, remove all the stuff you don't need from it, paste the things that you need, and script the game logic. Everything seems too "dirt". I much rather prefer Cipher, whose architecture has been coded following Quake engine's phylosophy, and the code is very clean and easy to extend.


MSW(Posted 2004) [#23]

@MSW:
In any case, this would cause troubles to rikh, Cipher's creator. I am not breaking any points of the license I agreed to when I purchased this engine.



That may give you piece of mind, but it ain't even going to slow down a pack a rabid lawyers.

Just something to keep in mind is all.


big10p(Posted 2004) [#24]
If you want to see some screenshots of the town rendered in Cipher, jo to the webpage in my sig

Um, there isn't a webpage in your sig, or in your profile!? Where can I see these Cipher screenies?


joncom2000(Posted 2004) [#25]
Click of the Century Image it's a link Big10p ;)

Shots for blitz look pretty good to me, might not be perfect and have a few issuses that others have mentioned but if I could produce something half as nice I would be pleased, my artwork sucks :)


jfk EO-11110(Posted 2004) [#26]
I thought these are cipher WIP shots because Dravens century shots looked - well, diffrent. Probably it's only the fullbright trees and the lack of fog that makes them look diffrent. However, what you said about cipher (alpha z-order, stencil shadows) sounds really good. I am not sure if I'd start to use an other tool than blitz only for these purposes considering the fact that even today you can release games without proper shadows (eg. GTA san andreas), because it would take me a year or two to reach the point where I currently am with blitz.

Anyway, good luck!


ashmantle(Posted 2004) [#27]
People should not have been able to patent algorithms.. hey, say what if a multinational corp. suddenly declared that they owned the right to the algorithms used to derive Sin/Cos/Tan..

Sure, they would be wrong, but it would take a whole lot of cash, many lawyers and years to disprove..

And I almost believe that the US patent office would issue such a patent if it would cross their desk, coz it would be exacly the same as all the other useless stuff they do.

Anyway.. looks like a good looking game ^^


JaviCervera(Posted 2004) [#28]
@jfk:
Cipher is good if you have the intention of modifying it to suit your needs. All the people I know that are working with Cipher have added something to it to fit their project (ODE physics, Lua scripting, etc).

@big10p:
http://www.century-game.tk


gotelin(Posted 2004) [#29]
Jedive. I want to pass blitz's code to cipher code, Is it easy? Can You help me, please?


JaviCervera(Posted 2004) [#30]
Blitz and Cipher are VERY different. Knowing that, we are not using Blitz "directly" for prototyping stage of Century. I wrote a custom engine in Blitz3D, which exports a custom set of functions to the scripts we use to code the demo (we use the awesome BlitzVirtualMachine for scripting). The structure of this engine (I call it Lunatic) is very similar to Cipher/Quake architecture.

For example, the set of functions for the scene module are:

;Scene functions
scn_Load(file$)
scn_Render(vp.viewport_t)
scn_LoadModel%(file$)
scn_LoadMaterial%(name$)
scn_LoadParticleSystem%(name$)
scn_LoadLensFlare%(name$)
scn_InsertEntity%()
scn_InsertLensFlare%(flare)
scn_InsertShadowCaster(pos.vec3_t, range#)
scn_RemoveEntity(entid)
scn_RemoveLensFlare(lensflare)
scn_RemoveShadowCaster()
scn_PositionLensFlare(lensflare, pos.vec3_t)
scn_PositionShadowCaster(pos.vec3_t, range#)

If you take a look at Cipher documentation, the functions are very similar. Also, Cipher uses the separate modules for each game component: gamex86.dll is the server (it's almost empty if you are writing a single-player game, but it contains most of the logic code in a multiplayer game), cgamex96.dll contains the client code (in a multiplayer environment, it sends information about current player's state to the server, and updates the entities information when it receives it back from the server, and renders the scene; in a single player environment, it contains the biggest part of your game: game logic, input handling, AI, scene rendering, etc), and uix86.dll handles the user interface (it's called when the engine is initialized, you normally render the menu of the game with this module, and when you have to start the game, you init the client/server components from here).

These dlls in Cipher have an entry point, it is the function main_vm(), which recives an event to tell the modulwe what it has to update: init, shutdown, get version (to ensure that modules version match with the engine), draw frame (and update all game logic), mouse event (also recives data with x and y movement), key event (only for the ui component, the client uses the input by binding keys to some actions in the game console), and console command (a key binding has been pressed, the user has reinitialized the video mode, etc).

We ahve emulated all this functionality in Blitz, using a BlitzVirtualMachine script for each module. There is only ui.bbm and cgame.bbm modules, as we do not use multiplayer for Century.

For example, the main_vm function looks like this in cgame:

Function main_vm(msg.msg_t)
	Select msg\id
		Case MSG_INIT
			cg_Init()
		Case MSG_FINISH
			cg_Finish()
		Case MSG_COMMAND
			cg_Command(msg\dat$)
		Case MSG_MOUSEEVENT
			cg_MouseEvent(msg\args0#, msg\args1#)
		Case MSG_DRAWFRAME
			cg_DrawFrame(msg\args0#)
	End Select
End Function


Then we have a separate function which handles each event.

Why do you want to use Cipher? Is is an OpenGL engine for Windows which requires C knowledge, and it is harder than Blitz. We are using it mainly because it comes with source code. I am modifying the engine a lot to suit our need (the most important is that we want it to be multiplatform, replcaing all the WinAPI/DirectInput calls with SDL, and DirectSound with OpenAL, and we will also add some new features in the future like octree occlusion and physics). If you don't plan to modify Cipher, in it's current state you can do almost everything Cipher does in Blitz3D.


Zmatrix(Posted 2004) [#31]
Looks good Jedive,

I was wondering why the engine change when I saw your topics on the cipher forum.
Probably the best looking Cipher project Ive seen.

I still have trouble getting media into Cipher. I dont have Max..that is the main problem :P heh
I really like the Q3 style shaders in Cipher.

anyways, looking forward to a cipher version demo.


Zmatrix