Exult3D R2

NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
smatthews
Posts: 21
Joined: Thu May 14, 2020 1:34 pm

Exult3D R2

Post by smatthews »

Sorry for the silence.

3D models are working with animations and smooth-groups. Everything is set up for vertex lighting but I haven't set up the final stage for it yet. I've created a list of things I want to replace with models, and I'm going through and creating all those models. All I've created so far is an ugly, ugly tree, a fully animating well, and a Killwrathy fighter ship, but I'm working on other models.

Utilization of a model is easy: once a model is made, it can be put into the game by putting it in a special directory, and it will automatically load. If there are people out there with experience in low-poly modelling, especially with 3D Studio Max, I'd like help creating models, and I can tell people what I need made (so that no overlapping effort is exerted).

The obligatory (and ugly, for now...) screenshots that show things are working.

Image

Image

Image

-Sam

(Edit by Dominus: The first announcement, screenshots and discussion on Exult3D can be found at http://exult.info/forum/viewtopic.php?p=21348#p21348 and it was also discussed in http://exult.info/forum/viewtopic.php?p=21469#p21469)
Paulon

Re: Exult3D R2

Post by Paulon »

Now that looks nifty. Seems work is going well. Keep up the good work.
ericw

Re: Exult3D R2

Post by ericw »

What sort of model format do you use? I remember someone mentioned in the old thread quake2's MD2 format.
Chris Schumacher

Re: Exult3D R2

Post by Chris Schumacher »

I'm guessing you played with legos as a child? :)
Chris Schumacher

Re: Exult3D R2

Post by Chris Schumacher »

Hmmm, those images bring up an interesting point. Eventually you're
going to have to implement sky. It's too bad that thunderstorms are
triggered by stepping on eggs, you could tell a storm was coming by seeing
storm clouds on the horizon.
Andrea B Previtera

Re: Exult3D R2

Post by Andrea B Previtera »

Welcome to your doom, Sam: you struggled to build the first airplane and now people will ask you to add it rockets, warp drive and a coffee machine.
Gradilla Dragon
Posts: 468
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by Gradilla Dragon »

Someone will certainly ask if you plan to rewrite the Wing Commander engine so we can play it from the original files.
- Gradilla Dragon
smatthews
Posts: 21
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by smatthews »

Eric: I started with MD2 files, but gave them up after noticing that they take an annoying amount of time to load up for each and every single frame... so I made my own file format, which is dead-simple, and helps me render things *fast* (my model render function is 5 lines and includes no iteration, so it's faster than the "general case" renderer, even for relatively complex models!) I made a little plugin for 3D Studio Max (my modeller of choice) to export the file format, but I could make a file converter if anyone wanted. Here's the format if anyone's interested:

struct ModelFile
{
char m_Texture[32]; // Filename of texture, without extension or path
unsigned short m_NumVerts; // Number of vertices in frame.
// Vertices include 3 floats for each Pos,
// 2 for UVW (texture coordinates), and 3 for normal
unsigned short m_NumTris; // Number of triangles in the frame.
// There will be 3 vertex indices per tri
float *m_VertPos; // float[m_NumVerts*3]
float *m_VertUVW; // float[m_NumVerts*2]
float *m_VertNorm; // float[m_NumVerts*3]
unsigned short *m_Indices; // unsigned int[m_NumTris*3]
};

I'm making good progress on models so far; I've got fences and some other things now, so it's all coming together well. As for sky and all that, I plan to work on the "environment" all at once. That is, I'll add a skybox, lighting, and model shading all at once. Also, someone mentioned that the KillWrathy fighter looked a bit funny, and it does indeed have something very wrong with it that most 3D programmers should be able to spot -- the error has been fixed :) I'm still considering how to do mountains. Part of me knows I should keep them the same height, but another part of me wants to make them tall and grand!

Andrea: I don't know about the rockets, but we are adding a musket. I don't know about a warp drive, but moongates are sparkly. I don't know about a coffee machine, but how about a runeboard, glowing cube and humming box?

-Sam
Andrea B Previtera

Re: Exult3D R2

Post by Andrea B Previtera »

Sam, whatever you do: hand me the mountains please! :) As you know I am working out my 3d models all by myself too... with the difference that I am absolutely clueless about 3d modeling.

So mountains are a pain, expecially the "modular" mountains we (I?) need, split up in various pieces, corners, and so on...
Caravaggio

Re: Exult3D R2

Post by Caravaggio »

This is one of the coolest things I've seen in gaming news all year... ...er, in months. I haven't played u7 in years but it's stuck with me enough to visit the exault site every once in a while.

Mr. Mathews, are you working with Ms. Previtera closely? I saw the screens I believe she posted in the other thread and the stencil shadows were aces.

If you're looking for contributors I'd like to throw my hat in the ring. I don't work especially quickly unfortunately, but I am in the process of trying to pump out a few models for UT2004 that are texture mapped as you can see. I'm not a very good texture artist, but I imagine I can't do any worse than the original sprites looked...

Image

...Each of those is a few thousand tris though. Have you done any poly stress tests to see what your renderer can take?

Also, do you use any kind of acceleration or is it all software rendering? It'll be interesting if someone had to write another exault layer to get this to work on future machines.

Here's hoping you can figure out a way to get the horizon in along with the skybox.
Andrea B Previtera

Re: Exult3D R2

Post by Andrea B Previtera »

Ahem. Let me recap:

- I am not a "she", "Andrea" is a male name in Italy (and I don't get why it's female elsewhere, since it comes from the ancient greek "Andrieas" which means something in between "Warrior" and "Male", so it's the most unappropriate female name ever! :) )

- I and Sam aren't working together, yet we're doing something similar. He's working on Exult code so that it renders stuff in 3d, starting with a quick hack (notice the "lego" graphics) and moving toward replacing shapes with 3d objects. I, instead, am rebuilding a ultima7-like rpg engine from scratch, but in 3d: since I have no graphics, I am using u7 shapes as textures... and trying to make some models by myself.

Ahoy!
Andrea B Previtera

Re: Exult3D R2

Post by Andrea B Previtera »

by the way, your models seem to be very cool! Unluckily I fear that - although my engine is OpenGl, and thus hardware-accelerated, it couldn't handle such a high polygonage, expecially for the stencil shadows part. To be honest, the thing that made me finally progress into a "later" stage of the engine is that I dropped any attempt to optimization, with the option to optimize everyting in the future...
Caravaggio

Re: Exult3D R2

Post by Caravaggio »

Hehe, oops. :)

Hmmm, so you've got a bit of a quake: tenebrae like situation. That always had great visuals but choked a bit on my system when I tried it. Strange since Doom3 ran somewhat okay.

I'm sure I could make models that are lower in poly. I was thinking about doing an avatar UT2004 character at some point a while ago, though it was going to be fairly complex with a removable U8 helmet via alpha maps. Maybe I could do a lower poly one alongside it.

Mr. Mathews, further pestering questions: Do you have a variable resolution or is it the same as default exault? What kind of framerates are you getting just mapping to these box models? Do you have a limit on the size and number of texture maps for each model? And how are sprites with no volume handled? I mean things like starbursts and blood. I presume it will always require Exault and can't be run over regular U7 on something like Dos Box? I presume alpha maps will be possible in the same way that the 2d engine genlocks out the space around a sprite? (in otherwords would the transparency be utilized by color or by a second map?)

I don't believe I've seen anyone do something like this. I've seen 3d improvements yes (I was somewhat involved in a failed Deus Ex upgrade project), but not 3d from 2d.
Andrea B Previtera

Re: Exult3D R2

Post by Andrea B Previtera »

Actually it's not that slow: it can run on a geforce 2 with no problems (it's not an FPS after all, I don't need to spit out 1000000 frames per second). High poly models wouldn't fit the oldschool flavour though, and I think that could apply to mr. Mathews' 3d port too.

For me, a human model should be something more than a few boxes sticked together to resemble a humanoid figure :) Anyway! I am making some stuff: tables, chairs and so on - and I will put those at Sam's disposal. Why don't we cooperate to build a common repository of models? MD2 format would be ok for everyone, and then we could easily convert that to our proprietary formats..
Andrea B Previtera

Re: Exult3D R2

Post by Andrea B Previtera »

ps: have a look at where my skill stops when crafting 3d models...

Image

Sigh. It's a bunch of boxes, but I managed to screw the texturing anyway.
Andrea B Previtera

Re: Exult3D R2

Post by Andrea B Previtera »

pps: I didn't mean "a human figure should be SOMETHING more than a few boxes" but "a human figure should be NOTHING more than a few boxes". In a word: my ideal human model has a few polygons more than a chair or a table :)
smatthews
Posts: 21
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by smatthews »

State of the engine:

Models, which represent one shape-frame, are allowed one texture map of any size, as long as the dimensions are a power of 2. Unlimited triangles are allowed, and things like spiderwebs are no problem (just a few triangles linked together, with a texture with lots of transparency). I do not currently have plans to add a particle system, which would be used for current sprite objects such as spell effects. A particle system, however is not out of the question. As for speed, the actual rendering of each 3D model is significantly faster than the rendering for a corresponding "lego" object. There is still a significant bottleneck in rendering speed due to how the Exult graphics engine was originally tied to game timers. I'm still working on disentangling the graphics engine from the game engine, after which I expect to see pretty tremendous speed increases.

State of the models:
I have thusfar completed about 80 models for Exult, including every type of fence, a fully animating and usable water wall, tables, chairs, bookshelves, some plants, and other sundry items. If Andrea would like to share models, that's fine. I'm currently finishing up an Avatar model, and I like how it's looking.

Here's a few sneak-peaks of things to come:
[center]
Image
Fences will look better after I put in vertex lighting
Image
The avatar is quite a stud. This texture is scaled down.
[/center]

-Sam
Caravaggio

Re: Exult3D R2

Post by Caravaggio »

*screams, runs and hides from the scary avatar face*

I like the clothes though, those look good.
painful
Posts: 108
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by painful »

That's definetly a great job on the Avatar. I've messed around a bit in 3ds Max, and I'm currently learning Poser 3d. So if you would like any help I'd be glad to be of service. I'm more skilled though in skinning. I've made skins for UT to work in maps and models, as well as UT2004 for which I both design maps and mini mods. I've also skinned weapons/characters for the Jedi Knight: Jedi Outcast and Jedi Knight: Jedi Academy games (of which your avatar would look wicked in wielding a lightsaber!). So if you need help retexturing some of the original art to fit your models better I can help there as well.

Also if ya need a site later on down the road for your project(s), I can design one for you and host it if need be on my domain. You'd get full email accounts, ftp access, custom subdomain with whatever name you want for your project. Just to give you a space to showcase progress without worrying bout paying someone for hosting or using a free web space with limited options.

You both are doing great from the progress I've seen, I definetly look forward to seeing future progress from the both of you.
-kel, ascendence.net
Andrea B Previtera

Re: Exult3D R2

Post by Andrea B Previtera »

GREAT job with the Avatar! I definitely like it a lot, absolutely faithful to the U7 image we're used to.

At this point, I have to introduce the subject of external appearance: we've got paperdolling - it's nice mixing up pieces of armor and clothing and seeing what the final result looks like in the "character equip page", right?

Since we're in the 3d field, this should become one thing with the *in game* appearance of the character, there should be no more distinction between the equip page and the character itself, just like in U9.

Since I am not going to implement skeletal animation or other complex solutions, I am thinking of this: there should be a generic human model split in three parts - Head - Torso & Arms - Waist & Legs. On modeling side, you'd have the three parts tied, textured and animated together - but later you'd recombine the tree parts texturing each one with different clothing/armor depending on what the character is wearing (this applies to the head too, so you can easily have different faces for each npc).

At least, that's how I am going to implement it :)
So: Ken - would you perhaps be able to produce an *extremely* lowpoly human model? How I said before, even something that's slightly more than a bunch of boxes for each body part... just to test if this solution is ok, and to popolate the world with a few "loitering" humans (I just finished implementing schedules :) )
Andrea B Previtera

Re: Exult3D R2

Post by Andrea B Previtera »

ps: Sam, about the models - how are you working out those before you convert them to your proprietary format? I think the "geometry repository" should be built around a generic and easily readable/convertible format like Md2. By the way, my and your objects are also compatible on the texture side for now: 1 texture per geometry, and power of 2 dimensions. My contribute will be really non-existant since I notice that your skills are semiprofessional, while I can't do more than sticking some cubes together or extruding a few faces here and there :( But if you're leaving your models "open source"... well, you will be my saviour! ;)
Sslaxx

Re: Exult3D R2

Post by Sslaxx »

Andrea, your name seems familiar - post to the Allegro.cc forums, by any chance?
smatthews
Posts: 21
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by smatthews »

Steady progress is being made. I've put in lighting, animation, and made a heck of a lot of organic models so far:

[center]Image
Can you spot the avatar?
[/center]

I'm going to make some trees and mountains, make a skybox system, and then I hope to work on improving the interface, which is a bit cumbersome in 3D. That's all for now.

-Sam
Andrea B Previtera

Re: Exult3D R2

Post by Andrea B Previtera »

SSlaxx: Allegro? No, definitely that's not me :)
Caravaggio

Re: Exult3D R2

Post by Caravaggio »

mmmm, lighting. Tastes like bananas.
Caravaggio

Re: Exult3D R2

Post by Caravaggio »

Question: Not that I expect anyone to do it, but theoretically, couldn't a similar program be applied as a front end to other 2d games? Like utliima 4? People are alsways talking about how good it is, but even though I love 6 and 7 to death I've just never been able to immerse myself in it. Seems to me it'd be even easier since the tile system is simpler.
gruck

Re: Exult3D R2

Post by gruck »

Once again, I am very impressed. I'd love to help if I thought I could make a useful contribution. Can't wait to see something playable.
Wizardry Dragon
Posts: 1241
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by Wizardry Dragon »

Very impressive :) Our favourite RPG is getting a massive facelift without the story gutting we say in U9 :P

- Wizardry Dragon
Cheers, Wizardry Dragon
Lead Designer, Ultima VII: The Feudal Lands
www.thefeudallands.ca
eris
Posts: 20
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by eris »

A minor question about the 3D work (which is excellent, by the way): do you have any idea how you will deal with items that are intentionally hidden behind other objects? I'm thinking of things like levers hidden behind tombstones, and the like. In the original game, part of the challenge is being able to spot the tiny portion of the lever that is visible, but in a 3D environment, you could simply walk behind the tombstone or what not and find the lever plain as day.

The only solution to this that comes to the top of my head would be to restrict the camera angle to just emulating that of the 2D game, which just doesn't seem acceptable.

Eris
smatthews
Posts: 21
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by smatthews »

Eris: Levers will be hard enough to spot as they are. I do not want to restrict camera angles; in fact, I hope to make a first-person mode playable once I get more models in. I'm trying hard to not modify the *game* at all -- I only want to modify the graphics. For this reason, I've rejected (at least for now) suggestions to make mountains extraordinarily high (which would require changes to magic carpet operation), and some other things. Besides, being the only modeller/texturer/programmer leaves me busy enough as it is. :-)

I just finished two dozen stones and one tree! Mmm.

-Sam
Wizardry Dragon
Posts: 1241
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by Wizardry Dragon »

Any chance that someone can compile us Windows losers a preview binayr? :P

- Wizardry Dragon
Cheers, Wizardry Dragon
Lead Designer, Ultima VII: The Feudal Lands
www.thefeudallands.ca
ericw

Re: Exult3D R2

Post by ericw »

I fall under the "windows losers" category too..
I dont want to whine; i understand being busy ;), but it would be awesome to play with it a bit.

I'd love to help out at least with polishing a few textures/skins..
My experience is not the greatest, but I did a project of taking a replacement quake texture someone did, and making it look beat-up and worn like I thought it should have :) I'm bored.. so here's the texture..texture project
smatthews
Posts: 21
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by smatthews »

The camera interface is so terrible right now, and there are several bugs, that I don't like posting binaries, but I can probably put up a few snapshots.

Here is the binary, a needed file, and several 3D models with textures. I may update this snapshot every now and then, but probably not:

Exult3D Windows

Back up exult.exe, and unzip this folder into your game directory so that it overwrites exult.exe. To enable 3D mode, edit your Exult.cfg and change ??? to OpenGL. Changing it to OpenGL from the in-game menu might work, but probably won't (for now). Camera movement keys are as follows:

shift-drag mouse - zoom and pan camera
ctrl-drag mouse - rotate camera

I realize that the interface is *terrible* right now, and I'll fix it soon enough.

-Sam
MagicMop
Posts: 68
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by MagicMop »

Wow... it actually works in Windows! Very cool! Yes, the camera movement interface is quite fiddly - but the project is showing incredible potential. I'm very pleased that you decided not to fiddle with anything but the graphics - after all, Ultima 7's gameplay is as close to perfect as a game can get.

I'm looking forward to this project becoming an official branch of exult!

Keep up the great work servus... I mean Sam.

MM :)
gruck

Re: Exult3D R2

Post by gruck »

Pity, it crashes solid for me when I try to journey onwards :(
gruck

Re: Exult3D R2

Post by gruck »

Whoops, nevermind. I forgot to replace palette.flx along with the rest of the files. Works now. Sort of.
gruck

Exult 3D is great

Post by gruck »

So I was fiddling around with the Windows binary. I have got to say, Exult 3D is a lot of fun and is a great project I mean there are still a lot of objects that need models, you can't accurately select objects yet, palettes don't work properly yet. But this project looks great.
Wizardry Dragon
Posts: 1241
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by Wizardry Dragon »

My Exult 3D doesnt work at all, no boot, nothing. Ive replaced the flx, everything. Any ideas?

- Wizardry Dragon
Cheers, Wizardry Dragon
Lead Designer, Ultima VII: The Feudal Lands
www.thefeudallands.ca
avatar_58

Re: Exult3D R2

Post by avatar_58 »

I can't seem to get this working. I put the pallete.flx where it belongs and overwrote the exe but it crashes when I set OpenGL mode from either the in game menu or the config.

Where is the 3dmodels directory supposed to go? Maybe this is the cause? Does this require CVS exult because I'm using 1.2 (i had to run using --nocrc to make it run initially with the new exe)
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by Dominus »

me neither, btw.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
gruck

Re: Exult3D R2

Post by gruck »

I was using CVS Exult. Copy the palette.flx over the palette.flx in the Ultima 7 directory.

You have to run the prompt "exult --nocrc"

Also you seem to have to start a new game, journey onward seems to crash things.
MagicMop
Posts: 68
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by MagicMop »

Yup, what gruck said is what worked for me... :)

MM
smatthews
Posts: 21
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by smatthews »

Just a quick note:

For now, switching to OpenGL mode from the game menu does not work.
While Exult is not running, edit exult.cfg and change


???


to


OpenGL


That's how you change to OpenGL mode for now. This is not supposed to be a preview release, but just a quick snapshot because a lot of people asked. It is expected to be unstable :). The directory structure after you apply the patch should look something like this:

c:\exult\exult.exe
c:\exult\static\palettes.flx
c:\exult\3dmodels\

3D models are not necessary for Exult3D to run. Not even the directory is necessary. Hope this helps. I haven't been programming Exult3D lately because I've been working on models, models, models. I've fixed a lot of the bugs you're noticing in the Linux version, but they're not in the Windows version yet. You may see a better binary later. As a side note, I do not run exult with any parameters such as --nocrc.

-Sam
Wizardry Dragon
Posts: 1241
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by Wizardry Dragon »

I have the installation as you say, and the executable isnt running. No main screen, nothing. Patch 1.2 back over it, and its fine, so I dont understand whats wrong.

- Wizardry Dragon
Cheers, Wizardry Dragon
Lead Designer, Ultima VII: The Feudal Lands
www.thefeudallands.ca
smatthews
Posts: 21
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by smatthews »

Wizardry: Try running exult.exe from the command-line and see what sort of error message you get.
Achenar

Re: Exult3D R2

Post by Achenar »

Just in case in helps anyone else out, I also need the --nocrc command-line argument (note the double-dashes) in order for it to work. Could this be something to do with using the CVS version vs. 1.2? (i installed 1.2)

Anyway, I am highly impresed Sam... :) despite the rough edges
SB-X
Posts: 980
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by SB-X »

Journey Onward works fine for me. Had to make a shortcut to the program and add --nocrc to the target. (but it looks like not everyone needs that)

Here is my target:
C:\Software\Exult\Exult3d.exe --nocrc --bg --nomenu

Combine that with exult.cfg options

yes
yes>

and you get into the game right away.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by Dominus »

As long as Sam doesn't include the normal exult-generated flx everyone except him has to use the --nocrc switch.

When Exult3D starts the start screen is already messed up for me, meaning I can see the ankh in weird colors but that's it. So I had to start with --bg --nocrc. I can hear the intro starting (but still nothing to see) and when I cancel this I hear the BG-menu music but then Exult crashes with an Access Violation.
stdout tells me
\Games\Exult\shapes\glshape.cc:421 - glGetError()=0x00000000 but then seems to move on.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by wjp »

Usually Exult checks at startup if the data files (exult.flx, exult_bg.flx, exult_si.flx) are for the right version of Exult.

--nocrc bypasses that check.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Exult3D R2

Post by Dominus »

ok, with SB-X's hints it works for me.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Locked