BP Logo
Home » SIRTECH CLASSICS » Jagged Alliance: Unfinished Business » Tools and Guides Repository (Archive) » Improving Original JA2 graphics
Re: Improving Original JA2 graphics [message #179666] Tue, 01 April 2008 00:00 Go to previous messageGo to next message
Marlboro Man

 
Messages:1199
Registered:October 2005
Location: USA
I had always thought the FIFE engine would be ideal.


Re: Improving Original JA2 graphics [message #179669] Tue, 01 April 2008 03:04 Go to previous messageGo to next message
lisac

 
Messages:92
Registered:July 2006
Location: Austria
Hmmmmm...

@Kaerar: the game is heavily inspired by JA2 and Fallout (Tactics), it's the best match currently I could find to show what I'm up to. 2 or 3 LODs wouldn't bother me (as player), I beleive.

@Lt.Havoc: it's really hard to say how much we can do to make JA2 look like that, but ATM this might be something we're streaming to.

@Khor1255: stop nitpicking, you old fart Wink Yes, it'd go way beyond sprites, I guess.

@Mauser: you're absolutely right. Just don't forget it'd take far less time and work to recreate all static objects (crates, walls, doors...) than our animated beloved heroes containing thousands of animation frames. The biggest problem organizing and leading such a project is my free time. Only thing I can estimate right now is that I'll have more of it in a month or two...

@KeldorKatarn: FIFE is exactly what we need... Graphically. Adapting the current JA2 v1.13 source code to it, especially regarding the LUA scripting system, wouldn't be that easy, don't you think? On the other note, the progress of FIFE development is somewhat slow (slim alpha release up to date), so we'd be very dependent on the FIFE devs and their milestones.

@MarlboroMan: give me a cigarette (although I've quit 8 years ago Smile )...

Seriously, people, don't expect wonders. What we need here are talented coders more than anything (i.e. BirdFlu) - making new sprites can be learned quite fast (in a few hours, with a proper tutorials and tools), and it can be learned by almost anyone (my cousin excluded).

Question for a talented youngster: is it possible to use OpenGL to represent all graphical elements in the game? Examples:

Laptop screen: bunch of textured rectangular polygons.
A ground tile (tactical map): one textured square polygon, put in isometric perspective (iso)
A crate (tactical map): one textured 3D box containing 6 polygons, iso
A chair (tactical map): one textured 3D object containing 40-50 polygons iso
A character (tactical map): one textured 3D object containing 400-500 polygons iso

And I don't want to hear NO as an answer :axe:
Re: Improving Original JA2 graphics [message #179672] Tue, 01 April 2008 04:31 Go to previous messageGo to next message
Arethusa

 
Messages:26
Registered:August 2006
Location: Connecticut

Yes, it's possible to recreate everything under opengl.
Re: Improving Original JA2 graphics [message #179673] Tue, 01 April 2008 04:50 Go to previous messageGo to next message
lisac

 
Messages:92
Registered:July 2006
Location: Austria
Arethusa
Yes, it's possible to recreate everything under opengl.

Yes, theoretically it's possible to represent my grandma's ass using OpenGL too, I know that.

Actually, when I look at that screenshot, I guess BirdFlu has already managed to recreate laptop. What amount of work would be needed to support other objects, like walls, crates, trees..?

Also, what kind of 3D format can be supported within OpenGL? Lightwave's native format is LWO (for objects) and LWS (for scenes and animated objects). We need to think about conversion too...
Re: Improving Original JA2 graphics [message #179674] Tue, 01 April 2008 06:13 Go to previous messageGo to next message
KeldorKatarn

 
Messages:37
Registered:May 2006
Location: Germany
OpenGL is just an API. I doesn't have native support for any file structures or something like that.
It can support any file as long as you write an importing routine for it.

Anyway.. about FIFE again. I think it would be easier to use an already existing engine than writing a completely new graphics engine.

Dependency of an engine is, well.. pretty much game business standard. Making a game with a custom engine is not very common because it simply takes too much time.

About their progress.. well nobody stops the people using this to integrate it into JA2 from helping those guys complete needed features..

And about their alpha status.. well.. what they have is alpha.. yes.. but what is everything else we've got so far aside from not existing?
Re: Improving Original JA2 graphics [message #179675] Tue, 01 April 2008 06:20 Go to previous messageGo to next message
Arethusa

 
Messages:26
Registered:August 2006
Location: Connecticut

lisac
Arethusa
Yes, it's possible to recreate everything under opengl.

Yes, theoretically it's possible to represent my grandma's ass using OpenGL too, I know that.

Actually, when I look at that screenshot, I guess BirdFlu has already managed to recreate laptop. What amount of work would be needed to support other objects, like walls, crates, trees..?

Also, what kind of 3D format can be supported within OpenGL? Lightwave's native format is LWO (for objects) and LWS (for scenes and animated objects). We need to think about conversion too...

Can you elaborate? As KK said, opengl is just an api. There's a lot of room in there, and I'm not clear on how you would want to implement "support other objects, like walls, crates, trees" or what you specifically mean by that.

Additionally, from personal experience and what I've seen in basically every engine I've ever encountered, editor formats (like the .lw* formats) are not generally suitable for realtime use with games. Depends on a lot of things, though, and exporters are not difficult to come by.

In any case, I also agree with KK that working from an existing engine, even one of the stronger open source projects, may be the most viable route to go with.
Re: Improving Original JA2 graphics [message #179677] Tue, 01 April 2008 08:04 Go to previous messageGo to next message
KeldorKatarn

 
Messages:37
Registered:May 2006
Location: Germany
This is actually quite easy..

you need to ask yourself one thing first.. do you want the game to be real 3D or 2D

(this doesn't mean hills or 3d terrain or something like that, it means, what ENGINE do you want to use. One can just as well make a tile based 3d engine, but it is a completely differnt approach.

3D Will mostly use meshes for buildings and characters, a 2D engine will mostly use sprites. While sprites can be done with a 3D engine too, using a 3D engine to replicate a 2D game doesn't really make much sense since without 3d objects you cannot use any 3d effects like dynamic lighting, shaders and the like (except postscreen shaders and stuff like that).

If you want to remain true to the game and keep it completely 2D sprite based and just want to improve the graphics, then this is a different thing.

For both solutions I'd really recommend using existing engines. There are engines for both and one can work with both and improve them or modify them for the purpose, but the codebase already exists.
Writing something new is a project that will probably take years.

And the questions about OpenGL... OpenGL is nothing but an API, not more not less. It just offers a simple way to talk to the graphics card, just like direct3D although both API's have a different approach to that.

OpenGl will let you do pretty much anything, as long as you code it.. making walls or treed or backgrounds is not something OpenGL does understand. OpenGL lets you draw lines, points, triangles, colored textured and lit. and that's it. everything else you must program on top of that. THat's what's called an engine. OpenGL is no engine. OpenGL is the tool you write your engine with and engine programming is among the hardest things a game programmer can do.

So depending on what you really want to achieve here, go for an existing engine.

I don't really understand concerns like "we must modify something for LUA support" or stuff like that.. if FIFE has support for LUA.. fine.. nobody forces anyone to use that. From what I see here all that would be used for JA2 would be the graphics, possibly map generation and GUI widget parts.

The only job would be to identify all graphics engine parts of JA2, eliminate them, and replace them by the new engine and adjust the interfaces so they fit together. the game itself should not change one bit.

If you plan to programm an entirely new engine.. to be honest I wouldn't really go that way... but if then I personally would go for a complete port to C#. The language is easier, cleaner and has more IDE support for rapid development and complete Object Oriented approach. Porting the game logic is the smallest part in this and I never tried this becasue porting the engine would be a pain in the butt, so I'd only do that if a complete redevelopment was in order. So if you planned on doing that I'd go this way (oh and please don't anybody start any discussion how games cannot be made in C# and .NET or how C# is a MS toy, go read up on things first before starting a programming language bashing).

I still wouldn't recommend this though since as I said, either way this would be years of work for a 5 man team.

Porting to an existing engine should be easy, and since FIFE was based on the Fallout engine which it seems to be able to replicate already I don't see how this could not be used for JA2.

But the most important question is.. how many people are available for this job?

THis would be a 6 month 5-10 hours a week job for a team of about 5 people which have at least 2-3 years of C++ (AND C!) experience and at least 2 of them should have experience in game and graphics programming to at least understand the new and the old engine and their interfaces.
Re: Improving Original JA2 graphics [message #179679] Tue, 01 April 2008 09:01 Go to previous messageGo to next message
Arethusa

 
Messages:26
Registered:August 2006
Location: Connecticut

KeldorKatarn
I don't really understand concerns like "we must modify something for LUA support" or stuff like that.. if FIFE has support for LUA.. fine.. nobody forces anyone to use that. From what I see here all that would be used for JA2 would be the graphics, possibly map generation and GUI widget parts.

Lua is exceptional as an external scripting language (doesn't hurt that you can write a lot of other stuff in it). That's where it's useful; it's not strictly relevant to the graphics except in that it makes making the graphics a lot easier once you get to content creation
Re: Improving Original JA2 graphics [message #179690] Tue, 01 April 2008 13:51 Go to previous messageGo to next message
KeldorKatarn

 
Messages:37
Registered:May 2006
Location: Germany
I know about LUA. All I was trying to say was, if the JA2 code structure doesn't allow for LUA usage for the game content, then nodody forces one to use LUA, just because FIFE offers support for it.
An engine offers services. A game can use as many or as few of them as it wants.

And after all this is mainly about changing the graphics part, not the scripting part. That would be a different project (although with that in mind FIFE would at least already support that for a future usage)
Re: Improving Original JA2 graphics [message #179694] Tue, 01 April 2008 14:20 Go to previous messageGo to next message
Kaerar

 
Messages:2041
Registered:January 2003
Location: Australia :D
That looks full 3D mate! Is it? I've heard of FIFE before but I can't think of why or where from :s


Re: Improving Original JA2 graphics [message #179697] Tue, 01 April 2008 14:37 Go to previous messageGo to next message
lisac

 
Messages:92
Registered:July 2006
Location: Austria
I see your point now KK.

Sorry for misunderstood, I thought you're talking about "porting" the current source code completely into FIFE (forgive me for choosing this verb, I'm not a professional coder). If I've understood you correctly, you're suggesting us to take only a part of the existing FIFE code, and that specific one concerning graphics, and to implement it in the JA2 source code. If that's true, then that might be a good option.

Are you fond of the FIFE engine then and to what extent? How about JA2 source code? Anything you could help us with? Anyone you know (or could recruit) for the cause?

Also, what do you think about BirdFlu's idea/progress?

From my point of view (my point of view, as a graphic content creator) I'd always prefer 3D objects over 2D sprites. It takes less time to create it and is a way easier to control, not to mention advanced effects (zoom, lighting, LOD etc.) and the screen resolution problem.

Talking about the whole work... I guess two teams will be needed, the graphic team and the coding one. I can take care about the first one, but in a few weeks only. I believe there's people interested in doing that part of job, and I'm gonna show them how to. The coding group... Well, I can't tell right now, but we need it too.

I surely wanted to say something more, but forgot it. Oh, what the hell...
Re: Improving Original JA2 graphics [message #179702] Tue, 01 April 2008 15:14 Go to previous messageGo to next message
BirdFlu

 
Messages:441
Registered:September 2007
Location: Lampukistan
OK, i downloaded the FIFE engine and looked at it (not too closely).

Kaerar
That looks full 3D mate! Is it? I've heard of FIFE before but I can't think of why or where from :s
Definitely NOT 3D. Well, not in the sense that it uses 3D-objects.

My thoughts about it are somewhat divided. Sure, it has video, sound, intput and everything (?) what you need to start with.
But it doesn't know anything about JA2 file formats

My 'engine' is more like in a pre-pre-pre-pre alpha stage, but it loads and displays JA2 files (sti [sti-animations], pcx, slf),
has some limited input handling capabilities and has no audio whatsoever.

So far so good (or bad?). Then I looked a little bit closer at the rendering stuff. The FIFE engine uses SDL_Surfaces or
OpenGL textures and the rendering itself is "old-school", that is just drawing a rectangle at a given position. The handling
of all the rectangles (especially visibility determination) has to be done in the 'non-engine'-code, i suppose. As i said,
i have not looked at it too closely, so i may be wrong in some parts. Then i apologize and hope that those, who know better,
can correct me.

I am using a Scene-Graph, which is (as i think) a more modern approach.

And now comes the part where i think that the FIFE angine could give us more trouble than we need.
All the images are saved as single textures and the rendering of basically everything is done in
OpenGL's immediate mode, that is calling glVertex3f, glTexCoord etc.
So, first we don't have multitexturing available, so applying palettes has to be done prior to rendering,
which is not bad by the way, it just consumes approximately four times more video memory.

Second, immediate mode is slow as hell. Honestly, i have to admit that i am using immediate mode as well, but
i plan to change it. The problem is that with large and complex scenes and many very small images you have
to call OpenGL functions too often. And this can really kill rendering performance.
I have seen it in my engine. Depending on how much is actually happening on the screen, i had framerates
between 50 and 2000 fps, and it was just the gui. Rendering a map with a lot of tiny tiles and a huge amount
of little images in immediate mode could bring performance down to one digit framerates, seriously. This
HAS to be taken care of.

BTW, you should not only show the great images
http://wiki.fifengine.de/images/b/b4/2007.2.007.jpg

but also the other images, like
http://wiki.fifengine.de/images/8/87/2008.1.006.jpg

Again it is not only the engine that gives great results, it is also the data you use.

Quote:

Question for a talented youngster: is it possible to use OpenGL to represent all graphical elements in the game? Examples:


Quote:
Laptop screen: bunch of textured rectangular polygons.

Yes.

Quote:
A ground tile (tactical map): one textured square polygon, put in isometric perspective (iso)

Yes. Depends on the data you have. If it is ONE big texture, sure. Beware of exceeding maximum texture sizes.
If you have a lot of "ground elements" you would have to build the texture first.
Perspective, or orientation of the texture in this case, doesn't really matter.

Quote:
A crate (tactical map): one textured 3D box containing 6 polygons, iso

Yes and depends. yes for a static crate. A crate that can be opened needs more consideration. can the inside
look like the outside of the crate? Animation itself has to be done and can be done via geometry transformations.
Is the moving part even (one rectangle) or concave/convex (probably more than one rectangle)?

Quote:
A chair (tactical map): one textured 3D object containing 40-50 polygons iso

Yes. But 40-50 polygons for static isometric perspective and a texture of not too large size?
Not worth the trouble.

Quote:
A character (tactical map): one textured 3D object containing 400-500 polygons iso

Yes. Characters are important. But then again, it depends on your zooming capabilities. Creating
and using polygons that fall on one pixel only is just wasted effort.

----------------------------

Quote:
using a 3D engine to replicate a 2D game doesn't really make much sense since without 3d objects you cannot use any 3d effects like
dynamic lighting, shaders and the like (except postscreen shaders and stuff like that).

A 3D engine would OGRE or Irrlicht or something similar. FIFE is a 2D engine, even if it uses a 3D-API.
And just because you don't have 3D objects, it doesn't mean you cannot use dynamic lighting (in the sense of definition).
Postscreen shaders can create some nice effects too.


Apart from all this, OpenGL just undestands vertex coordinates and plain bitmap data (of various formats).

Re: Improving Original JA2 graphics [message #179710] Tue, 01 April 2008 16:07 Go to previous messageGo to next message
KeldorKatarn

 
Messages:37
Registered:May 2006
Location: Germany
I still don't quite get where you are really going with this.. are you planning on making this 2D with better graphics or convert to 3D..

if you want to keep it isometric and tile based then I absolutely don't see why a 3d engine is needed.

And the statement that 3d meshes are more easily created than 2D sprites is IMHO a very questionable argument, or simply wrong.

I also do not know why the talk is about a complete game engine with sound, input and everything. Why would that be needed? Ja2 has that already. I thought you just wanted to improve the graphics, so why kick the complete game engine and write that completely new. The rendering part would suffice...

If you guys are actually planning to go full 3D with meshes for everything I'd strongly advise against this. To have a good 3D engine, to design the shaders and effects, to model the meshes and texture them... I don't think you have the people for that, and if this is not done professionally, it will look really ugly.
Not to mention that I see absolutely no need for a full 3D approach. Zooming in is no problem in 2D, games like commandos show that. rotation is not really necessary, and IMO usually confuses the player more than it helps in an isometric game.
Please keep one thing in mind.. 3D graphics ages a lot faster than well done 2D graphics.. look at games like Panzer General. That game still looks ok today, and Panzer General II still looks great except for the resolution. Look then at Panzer General III and IV which introduced 3D engines for the hex-based game.. crappy models, totally blurred textures, horrible interface looks.
Stick to what's natural to the genre. There are lots of great 2D engine games out there. There is no need to make everything 3D just because 3D sounds cool. JA2's entire game mechanics are based on the fact that the game uses an isometric tilebased approach for its game world, and it works great. All that's a little aged is the looks, the resolution and the tiles.

So using a modern 2D engine that is able to use a higher resolution and better lighting (per pixel lighting for the tiles instead of per-tile lighting for example, and a few other effects) will totally suffice.

If you use OpenGL for this, fine, NP, but using OpenGL doesn't mean one has to make 3D models.

Let's say you take (or build) a 2d engine that has nice lighting (e.g using lightmaps and multitexturing for the tiles), supports some nice animated tiles for water and stuff like that, that uses some post-screen shaders for stuff like rain or storm and night, and other stuff, some bloom effects and things will really look great.

I can promise you one thing.. with a good 2d engine you have the chance to bring to near commercial level looks in no time.
In no way will you be able to get this to look commerical level using 3D. for that 3d engine development is way to fast developing and to competitive.

Use sprites but use them well, that's what I'd recommend. Take a good engine (FIFE or whatever else is around) or if you really want to, program one yourself, if you have the people for it, but stick to 2D.


Concerning my personal attitude towards FIFE.. I have nothing to do with it, nor do I use it for anything. I just ran across it a while ago and I was very impressed by it, not so much the looks or the features, since I never tested it or any project using it, but the very professional approach software engineering wise. they have a very very clean code base which is very seldom out there in open source or even commercial country.

About using parts of it or "implementing it into JA2".. I think you really don't know what an engine is really.. you don't take parts of an engine or implement it into anything.. an engine is no game.
An engine is an engine that provides services like rendering, input, sound, scripting, file handling whatever.

WHat I suggested was using the FIFE rendering engine to replace the current JA2 rendering engine (not game.. rendering engine!)
JA2 uses its own engine, a game isn't a complete source thing, it is made up of modules and JA2 is build on top of an engine just like any other game, only that JA2's engine was probably specially written and only used for that game, except unfinished business.

think of an engine as a programming library. it is nothing more. An engine is no application nor is it a game. It offers certain stuff that a programmer can use or not use, depending on what he needs.

I also wouldn't really care about what API the engine is based on, but only on its features and ease of use. THat's exactly what an engine is for. So you don't have to worry about the underlying API crap. If you wanted to worry about that you could have written the stuff yourself.

And I really really doubt the FIFE people have written anything that is going to produce single digit framerates. I didn't really follow your argument in that direction. All I know is, that whoever wrote that code and documentation knows quite a bit about modern software engineering approaches.

Btw.. what a scene graph should be good for in a 2D tile based game, using 3d rendering or not, I do not have the slightest idea, unless you define a scene graph different from what I think of when I hear the term.

WHat the other screenshots was for I don't know either. I didn't post the screenshot to show how great the engine looks, since an engine doesn't look at all. It provides services, it is the game and its ressources that produce the looks.
The screenshot was simply to demonstrate what level of looks for game the engine does support. Every engine in this world can produce crappy looks, even the CryEngine, so I don't really understand what the second screen was for.
That the game has to actually use the features before it looks good should be self-explaining I thought.

[Updated on: Tue, 01 April 2008 16:10] by Moderator

Re: Improving Original JA2 graphics [message #179715] Tue, 01 April 2008 17:27 Go to previous messageGo to next message
Kaerar

 
Messages:2041
Registered:January 2003
Location: Australia :D
Actually JA2's was used in a few other games like the Wizadry series (I think it was no.Cool, but thats besides the point.

I think I am swaying more to Birdflu's work at the moment as it combines both the 2D and the 3D. If it has compatibility for old STI's and things it will speed the process up as 3D objects need to be made and the implemented.

Personally if we can recreate JA2 style in 3D with a more modular feel (maybe increase the detail in things like character progression etc..) then I'm all for it. Glad to help if its needed. Ready to learn what is necessary.


Re: Improving Original JA2 graphics [message #179722] Tue, 01 April 2008 17:41 Go to previous messageGo to next message
KeldorKatarn

 
Messages:37
Registered:May 2006
Location: Germany
When modernizing the graphics engine, then I don't see the point in staying compatible with old graphics files which won't be used anymore anyway.

I also still don't see why 3d is needed for this.

As a personal remark.. if you plan to go in a Brigade E5 direction with this.. eeek.. please don't. We're talking about improving graphics not making it worse. Decent 2D is far superior to mediocre 3d. Many developers found that out the hard way.

[Updated on: Tue, 01 April 2008 17:42] by Moderator

Re: Improving Original JA2 graphics [message #179725] Tue, 01 April 2008 17:49 Go to previous messageGo to next message
Kaerar

 
Messages:2041
Registered:January 2003
Location: Australia :D
The thing is to improve as well as ease the pain for creation of objects, items and other graphics, which is not kind in 2D. 3D is much simpler in that respect and using the right LoD for the textures and stuff will go a long way to making it look a lot better than E5 Wink


Re: Improving Original JA2 graphics [message #179738] Tue, 01 April 2008 18:31 Go to previous messageGo to next message
BirdFlu

 
Messages:441
Registered:September 2007
Location: Lampukistan
KeldorKatarn
I still don't quite get where you are really going with this.. are you planning on making this 2D with better graphics or convert to 3D..
...
...

I agree with you. 3D if not done properly can look like crap.
My idea was to 'replace' the current 2D-GRAPHICS engine with another 2D-graphics engine, but one that is easier to handle (whatever that means in any special case).
The 3D 'extension' was brought up in this thread and whether it will or should be implemented, is, i suppose, one of the points in this discussion.

As i asked earlier: What is wrong with 2D? .. I would say nothing, or at least not enough to justify a complete change (we can believe in, or not).

---

Concering the FIFE engine. (I am not sure if this all was addressed to me, but i will try to answer anyway)

Quote:
.. professional approach software engineering wise ..
agree

Quote:
.. general engine stuff ..

I think i know what an engine is and am not sure what i wrote to make you believe that i didn't.
I agree with most of what you said besides one point - replacing ONLY the rendering engine. If the rendering 'sub'-engine
is clearly separated from other parts, then yes. But if there are dependencies, then this would require to either remove
them or to actually change more than the rendering engine, which may be easy or difficult.

Quote:
.. single digit framerates ..

I agree that this sounded a little offending, but it is really not about modern software engineering. It is about one
single aspect of OpenGL's API usage. OpenGL's immediate mode IS slow. There is no point discussing it.
Just read the documentation from Nvidia and ATI/AMD. A supporting argument for my point is that OpenGL 3 will not have
immediate mode anymore and DirectX 10 does not have any similar capabilities either.

My point is that FIFE engine has (or will have) its limitations, whether we meet them or not is another topic. I am
just pointing out that it might be a problem in the future (like in the big maps project).

Quote:
.. scene graph ..

A SceneGraph (a tree in a simple case) is about data organisation and about implicit ordering of objects that have to be rendered.
I believe that it is easier to use, but that may be only my perception.

Quote:
.. screenshots ..

The thing is, with the data we have, we are likely to get results comparable to the second image, not the first image.
That was the whole point of it.

Re: Improving Original JA2 graphics [message #179740] Tue, 01 April 2008 19:03 Go to previous messageGo to next message
zed

 
Messages:43
Registered:November 2006
here is a suggestion:
take OGRE which is 3d engine extend it with your openGL formats for the different files.
above the OGRE we will use a tile engine written already. fix the camera so the view will be first easy to port from 2D.
the large number of work will be to tailure todays tile engine API to the new engine.
here is the link to the tile engine:
http://www.ogre3d.org/phpBB2/viewtopic.php?t=12951&postdays=0&postorder=asc&start=0&sid=c06a308188ec67e78550bbae38f982c3
i myself know very little in graphics but since extending the OGRE is somthing many have done before + the vast amount of editors, tools and so that support it i think it will be fitted to our use. beside that in terms of converting images from today's engine since the camera is in fixed postion it will be easier (not sure of it at all but i think it will) to create a script to convert todays objects to 3D objects that sides that are not part of the view will be black.
this later will open the option we could do - tarrain and true water effects, more animation formats, advanced animation tools support and more.
it is a big task but i think sice tiles engine work pretty much the same way it may be easier then expected.
Re: Improving Original JA2 graphics – Sprite[message #179773] Tue, 01 April 2008 23:24 Go to previous messageGo to next message
Mauser

 
Messages:769
Registered:August 2006
Location: Bavaria - Germany
with all that planning, don

☆★GL★☆
Re: Improving Original JA2 graphics [message #179797] Wed, 02 April 2008 03:51 Go to previous messageGo to next message
lisac

 
Messages:92
Registered:July 2006
Location: Austria
1. Mauser: I agree completely, although I believe that if we (ever) see the new face-lift of JA2 one nice day, there won't be nothing to stop the talented people who made it to extend the code and provide an editor of some sort.
-------------------------------------

2. BirdFlu: good to know we have such knowledge on board. I have further questions regarding your version of the JA2 graphic engine:

Do you suggest us to use full 3D objects for characters, interactive objects (crates, lockers) etc - and simple rectangular textured polygons for widgets, trees, ground tiles etc..?
Also, do you have any experiences with the 3D graphic formats used in games, anything specific to elaborate?

Irrlicht doesn't sound bad, although I didn't check its status more than a year ago for sure.
-------------------------------------

3. KK: Talking about choice between 2D and 3D, I think it's still too early to say which path we might take. Of course it was meant to be 2D at the very beginning, but now some other options are available. Let's analyse the alternatives and decide.

I'm currently advocating the 3D approach, simply because it IS easier to make and control 3D content from MY perspective (or any other game graphic content creator/designer). Let me give you some basic examples:

a) Once I've modeled, skinned, rigged and animated a character, all I need to do to use it in 3D is to export it using the right plugin/tool, the engine will take care of the rest. If I'd want to use it as a 2D sprite, a long session of setting up the scene, rendering, post-processing (including cropping), adjusting and finalizing it in an appropriate 2D program should follow. Did I mention conversion to another format? Yes, that too.

b) I don't like a part of my character. His legs are too short! Extending the legs in the appropriate 3D software and slightly adjusting the animations won't take too long - export it, and my character is ready to be tested! On the other hand, making a bunch of new frames for my long-legged sprite must go through all those painful processes mentioned under a)

c) My character wears a red Hawaii shirt (FarCry, anyone?), I want him to change it to camo-shirt once he picks up the appropriate item (camo-shirt?) in game. If using a 3d object, I may simply switch the texture of its torso. Can you imagine how hard it'd be to make it with a 2D sprite? Making a new layer (sprite) containing camo-shirt and going through all the processes under a) and so on...

These are just a few things that first come to mind. Please, don't think I'm against 2D sprites - I'm just trying to save the time and resources and to simplify the graphic creation process. I don't have Crytek graphic department available, just a few volunteers.

Regarding latest (shader-)effects and the beauty of 2D comparing to 3D in long terms... I agree completely. Some 2D games looks beautiful today, even years after they were released. However, I think someone mentioned already that having a mediocre 3D engine would be make him/her more than happy. And i think we might do better than mediocre. The old JA2 engine survived for 10 years, I guess our Frankenstein can live that long too Smile

But if both of you, BF and KK, suggest a 2D version, I'm open to hear what you can offer me. Just don't forget - I want to make it easy for graphic-grunts as it gets.
Re: Improving Original JA2 graphics – Sprite[message #179809] Wed, 02 April 2008 06:05 Go to previous messageGo to next message
Mauser

 
Messages:769
Registered:August 2006
Location: Bavaria - Germany
guys, one more thing to consider:

there are only relatively few capable 2D graphic artists out in the game modding communitys, but quite a lot capable 3D artists.

so finding external support for generating 3D models and content should prove much easyer.
but, of course, also all the 2D content would have to be modeled and rendered in 3D for a decent and uniform looking graphics style. it

☆★GL★☆
Re: Improving Original JA2 graphics [message #179811] Wed, 02 April 2008 06:24 Go to previous messageGo to next message
Khor1255

 
Messages:1821
Registered:August 2003
Location: Pleasantville, NJ
To me, it is not just a matter of the look. A 3d game would require a 3d physics engine. This means an entirely new game. If that is the point here than carry on by all means. But I would be interested in seeing just the sprites idea be implemented. I think it is the only thing that might actually get done in a couple of years compared to all this pie in the sky that will likely never see the light of day.


Again, I hope I'm wrong at least about making a cooler looking gameworld. But I like 2d isometric just fine.

It is true that 3/4 isometric is difficult to pull off because if you work with an image that is just slightly off angle or perspective it doesn't look right in game. I think it is a helpful tool to 2d imagers to have a screenshot saved to .bmp so you can try out your new tile against the proper backdrop before going into all the work to actually make it appear in game.

Some of my own tiles look a little off. I'm really having a hard time finding a 2d isometric Panzer Mk IV though I know it must be out there somewhere. And my JU 52 looks as if it has damaged landing gear on one side because it appears to be pitching slightly. I have been sucessful making other tiles though so it is not impossible. Just a lot of trial and error work.
Re: Improving Original JA2 graphics – Sprite[message #179815] Wed, 02 April 2008 06:42 Go to previous messageGo to next message
Lt.Havoc

 
Messages:34
Registered:April 2006
Location: Germany

Why do we need a 3d physics engine? This is not a FPS game, so we dont need any physics at all. It would be cool to improve things, but its not needed. Games like Shadow Company or Silent Storm also dont have a 3d physics engine and it dosent affect the gameplay at all.
Re: Improving Original JA2 graphics [message #179817] Wed, 02 April 2008 08:01 Go to previous messageGo to next message
Arethusa

 
Messages:26
Registered:August 2006
Location: Connecticut

Uh, Silent Storm has a physics engine.
Re: Improving Original JA2 graphics [message #179819] Wed, 02 April 2008 08:21 Go to previous messageGo to next message
KeldorKatarn

 
Messages:37
Registered:May 2006
Location: Germany
I really think nobody who has said anything so far in favor of 3D has any idea what he is REALLY talking about (no offense).

Saying that creating a 3d character is easier than creating a sprite.. sorry.. that's crap.. if you want to create a new sprite, the basis WILL be a 3d character and you simply render certain animation key frames into the sprite, and use it. Changing clothes can be done with layers.
I am pretty sure all of JA2's characters, buildings and whatever were first created in a 3d modeling program and then rendered down into the frames of the sprites, since that's simply what you do.
THat's how WIng COmmander 1 created its ship bitmaps, that's how Panzer General II made their combat unit sprites.

You make it sound like 2D was the old school approach and 3d is the modern approach. That is simply wrong. 2D and 3D are a design choice, none is more modern than the other.

Now let me summarize for you what switching to 3d means.

You have to get a 3d engine, you have to make models. and I mean models.. that means models for every single weapon, for every bulding, table, door, roof, lamp, tree, lake, whatever.

Then you have to write shaders (how many of you here know anything about GLSL or HLSL or Cg? If none, then forget about it. Fixed function pipeline is a decade old by now, not using a shader based approach will make the game look 10 years old and will not improve a thing.

Then you have to create or learn to use an existing 3d physics engine, since without physics, nothing moves, neither character nor bullet. Collision detection must be worked out, and yes, then a character can be blocked by a door if he is slightly out of standard shape and collides with something.
Then a damage system has to be worked out, since now the bullet will actually collide with stuff. If you plan on making explisions.. forget about the way it currently works.. if you don't make structures 100% destroyable in 3D, then forget about looking like a modern 3D game. You cannot go 3D and make explosions stay the same, meaning just blend it an explosion sprite and make a part of a wall disappear. THings must fly around, tons but roll around, physically correct (back to the physics engine we are).
Then the AI must be adjusted, since pathfinding is different in 3D, line of sight is different, since now it must be calculated with ray tracing. Taking cover is different, climbing roofs is different.. remember.. with a 3d engine, there are no tile layers.. there is no 1st level then 2nd level anymore.. you have 3d. there are no distinct height levels in 3d.
Shooting will be different since now the bullet actually flies and isn't just a fake animation for a pure probability based shot anymore...

If you plan on doing this.. good luck, you have just decided to create 80% of a full 3d game all by yourself.
I hope you have 10-20 people on a 10h per Week basis available and the motivation on actually working on this for the next 2-3 years.. and no.. you won't be able to do it in much less than that time and still get satisfying results.


PS: Oh.. and did I mention this? Flat ground looks horrible in full freeview 3d, so you better start on terrain making, line of sight and path finding in full 3d terrain and oh.. try to get some good vegetation shaders going, and you better make your water look great if you don't want to upset the fans.......

[Updated on: Wed, 02 April 2008 08:23] by Moderator

Re: Improving Original JA2 graphics [message #179832] Wed, 02 April 2008 12:14 Go to previous messageGo to next message
Kaerar

 
Messages:2041
Registered:January 2003
Location: Australia :D
Thats a pretty negative post there KK. For a start a lot of the work can be alleviated by objects being already made from other games, object modellers, etc...
Then with a few good coders I am sure that we can get the physics to work at least as well as Far Cry. That game is years old and still looks reasonable. Only games out in the last 6 months have really started to show the age of Far Cry. So to say its gonna be a failure before anyone has even decided to go that route is sheer lunacy. Personally I would like it to end up similar to that pic posted on the previous page before the FIFE pics (whether in 3D or 2D) as that is a good clean look, which can be worked on easily (from a graphics pov).

I am sure that if the project did get going in the 3D direction that a few people could be found willing to work on the project. If the project does go with its own design and engine it could be eventually sold to the public too (maybe then get licensing for the Havoc physics). The realm of possibilities available is large. Instead of destructive criticism more constructive would be appreciated.


Re: Improving Original JA2 graphics [message #179836] Wed, 02 April 2008 12:45 Go to previous messageGo to next message
KeldorKatarn

 
Messages:37
Registered:May 2006
Location: Germany
It wasn't meant as negative devastating criticism. It was just speaking from experience.

Also.. even considering being able to produce a commercial level 3d physics engine with just a few guys in a matter of months borders on insanity. if you want to have a chance at that I strongly advice to use already existing open source engines like Newton or Bullet and the like.

But I will stick to my original opinion that a decision to go full 3D will result in a complete rewrite of 75% of the game code.. you can just as well recode the entire game then, and I don't even know what that's going to achieve.

The original reason for this thread was the idea to improve the original 2D sprite engine to get better looks out of the engine. This suddenly has turned into such crazy thoughts (sorry but yes, they are) as to make an engine that is Far Cry like.

I've seen enough projects both commerical and open source community, that ended up nowhere with such ideas.
I strongly advice to stick to the original game design and simply improve the 2d engine instead of trying to recreate the game.

I don't understand why a 3D engine would be needed, I don't understand why you even want to try putting that much work into such a huge project. The complete code base would be rendered pretty much useless, nearly every single feature would have to be changed from map editor via AI to scripting and the end result would be have baked 3D looks that can't even compete with 20 year old games.

This may sound totally negative, but sorry, I've seen projects like that before and only 1% of them turned into something at least playable, the rest vanished into the abyss and not one of them turned out to the commerical style killer game people originally intended it to be.

From my point of view I see a great game design, whose only aging problems are the graphics and possibly the sound engine. The rest of the game design would still work when released today.
There ARE actually great 2D games release every day and they look great.
I don't see why the complete game design, that is proven and tested and fully accepted, should be changed, with the sole argument "makind 3d models and animations is easier".
Changing to a more modern 2D engine is geoing to bring a proven concept into a more modern age, making the game 3d will completely replace the entire game concept, wether you want to believe that or not, and I don't see a simple valid argument that supports a decision that will replace a proven design by something developed from scratch.

3D-itis is what killed a lot of very good franchises in the late 90s, and this discussion is going in exactly that direction.

Again.. you can think this sounds negative and destructive all you want, but I still think if that path is taken, the result will be a JA2 that will vanish from the screens since the result will be worse than what we have right now.
Re: Improving Original JA2 graphics [message #179838] Wed, 02 April 2008 12:56 Go to previous messageGo to next message
Mysterious Dr.X

 
Messages:38
Registered:March 2004
Location: Croatia

The whole 3D-approach seems a bit heavy to me. I don't want to say, that 2D would mean much less work, but at least some less I hope.

Let me explain my idea Smile :
I don't know how you guys think about that, but I would be totally satisfied with an engine like in 'Fallout Tactics'. Here's an example. As far as I know we would have to increase the size of the single tile, in order to get higher quality tilesets (obviously Very Happy ). Problem is that I really have no idea how much coding is required for this or whether it is possible at all.
The next step would be to increase the colours, which can be displayed by the engine. Doesn't sound too easy but I can't estimate the amount of work.
Finally of course the sprites, to display different armors and weapons etc. Pain in the ass, but rewarding as hell!

Okay I hope these three steps would get us closer to the Fallout-engine.

This approach requires us to make every single tileset from scratch in a 3D-program. Animate them if needed and then render them. On the other hand, these models could be used for future 3D-conversions.
Think of a wall-model in a 3D-program. All you would have to do to make a new wall-tileset, is to lay a new texture on the wall-model, then render it and finally bring it in the STI-format. So once a model is made - which can also be found on the web - the work is getting much easier.

Many problems wouldn't be solved by this, like brightness per tile or the ugly water, but in my opinion it would be a huge step in the right directory.

What do you think?
Re: Improving Original JA2 graphics [message #179848] Wed, 02 April 2008 15:11 Go to previous messageGo to next message
Kaerar

 
Messages:2041
Registered:January 2003
Location: Australia :D
KK I see what you mean (it was kinda crystal from the post before Wink ) I was meaning instead of just pointing out something most here already know (i.e. that most projects based on such thoughts are failures), the energy would be better spent in thinking up solutions to the main problem of the 2D aspect. The biggest being the tilesets and graphics from that pov. For 2D it will take a lot of work (even with the tools and so on) whereas we can adapt other engines to suit what we are after, not many are gonna be easy to do that way either. Personally I think moving away from STI format will be a blessing (use 32bit colour or at least 24bit) so resizing and palettes are no longer limitations. Increase the resolutions available and the detail of the sprites. The whole lot will take as much effort as the 3D job. The good thing is though it would probably end up looking real good too. I think a level above Fallout Tactics is possible if we put our minds to it. But we would need a good team to start either project.


Re: Improving Original JA2 graphics [message #179861] Wed, 02 April 2008 16:42 Go to previous messageGo to next message
lisac

 
Messages:92
Registered:July 2006
Location: Austria
Kaerar
Personally I think moving away from STI format will be a blessing (use 32bit colour or at least 24bit) so resizing and palettes are no longer limitations.

Nobody can disagree on that one, I guess.
Re: Improving Original JA2 graphics [message #179865] Wed, 02 April 2008 17:09 Go to previous messageGo to next message
BirdFlu

 
Messages:441
Registered:September 2007
Location: Lampukistan
Quote:
moving away from STI format will be a blessing (use 32bit colour or at least 24bit) so resizing and palettes are no longer limitations.

Increase the resolutions available and the detail of the sprites.

- 32bit or 24bit : meaning RGBA and RGB or something else?

- resizing : meaning like making an image 10 pixel larger?

- palettes : get rid of it?

- resolution : resolution of images, not screen resolution?

What is the exact problem with colo[u]rs? The fact that you cannot have more than 256 per image?
Would you prefer 16-Bit index values with 16-Bit palettes or full RGBA images?

Re: Improving Original JA2 graphics [message #179881] Wed, 02 April 2008 19:27 Go to previous messageGo to next message
lisac

 
Messages:92
Registered:July 2006
Location: Austria
- I think he meant just that
- no idea (?)
- yes, if possible, by any means
- probably both of those

I'd prefer full RGBA over RGB/16-bit format, especially because of the alpha-channel (anti-aliasing comes to mind). It means BIGGER files, yes - but better overall quality. Also, rendering scenes/objects in Lightwave supports rendering to all channels (including alpha), so that wouldn't take additional work to be done.
Re: Improving Original JA2 graphics [message #179882] Wed, 02 April 2008 19:29 Go to previous messageGo to next message
Starwalker

 
Messages:766
Registered:October 2005
Location: Hannover, Germany
BirdFlu
What is the exact problem with colo[u]rs? The fact that you cannot have more than 256 per image?

The multipage STIs like MDP1ITEMS.STI (which uses one(!) common pallette for over 700 individual pics). As we have only three of these MDP#ITEMS.STIs, there's only three pallettes, and if your items do not fit one of these three pallettes, you are screwed.


Re: Improving Original JA2 graphics [message #179895] Wed, 02 April 2008 21:26 Go to previous messageGo to next message
Khor1255

 
Messages:1821
Registered:August 2003
Location: Pleasantville, NJ
Getting rid of the STI format would be fantastic.

Increasing tile/sprite size would make firearm combat even more claustrophobic than it already is. You would have to represent gun ranges even smaller to have any chance of missing = not worth the sacrifice for this or any other feature.

I think you guys looking to work from a different engine ought to try building an entirely new game. I like Ja2 MAINLY because of it's physics engine. Everything else takes a distant back seat to that. So throwing away this engine or even seriously revamping the core of it is 180 degrees away from what I would like to see done.
If you like FOT so much why not make a mod for that game? There is still an active community and I think there is even a Ja mod that has been in the works over there.

It is not blind negativity to just want a simple solution to layering sprites. Just because some want a complete and utterly new game does not mean that most of us do. I think 3d is a terrible idea here first because it is too much work and second because it WOULD require a new physics engine and therefore create a different game.

I don't want a different game I want an improved Ja2.
Re: Improving Original JA2 graphics [message #179896] Wed, 02 April 2008 21:26 Go to previous messageGo to next message
BirdFlu

 
Messages:441
Registered:September 2007
Location: Lampukistan
Quote:
The multipage STIs like MDP1ITEMS.STI (which uses one(!) common pallette for over 700 individual pics). As we have only three of
these MDP#ITEMS.STIs, there's only three pallettes, and if your items do not fit one of these three pallettes, you are screwed.

And why don't you just split these files?

These files are loaded here : BOOLEAN InitializeTacticalInterface()
and used here : UINT32 GetInterfaceGraphicForItem( INVTYPE *pItem )

the main variable in this case is INVTYPE::ubGraphicType

this variable is set in : static void XMLCALL itemEndElementHandle(void *userData, const XML_Char *name)

and is also used in :
- UINT16 GetTileGraphicForItem( INVTYPE *pItem )
- BOOLEAN LoadTileGraphicForItem( INVTYPE *pItem, UINT32 *puiVo )
- BOOLEAN WriteItemStats()

So, if you change the graphic type from 3 values to more than 3 values the changes in the code
should be quite minimal.

Re: Improving Original JA2 graphics – Sprite[message #179901] Wed, 02 April 2008 21:46 Go to previous messageGo to next message
Lt.Havoc

 
Messages:34
Registered:April 2006
Location: Germany

Well, everyone wants a improved JA2, but with the current STI files and the limits the JA2 engine has, there isnt a good way to improve it. Also, its just an idea to use a 3D engine, so its nothing final. Point is: improving the existing JA2 engine is a pain in the ass, so we need a solution that suit the thing and pleases the diffrent opinons.

Well, does anyone know the game Abdomination: The Nemessis Project? They had a intresting graphic approch to this: the world the figures where in, is drawn, e.g sprites, while the animated Player and NPCs where 3D models. That looks like this: http://uk.pc.ign.com/dor/abomination-the-nemesis-project/11551/images/abom002.html

http://uk.pc.ign.com/dor/abomination-the-nemesis-project/11551/images/abomination010.html

Well, not the hit, but my question is: could something like this be done with JA2? The gameworld dosent need to be 3D polygons, but the player modles and NPCs could be 3D models, including pick up stuff. Intresting is, that the enviorment could be destoryed too, you could blow up cars and stuff even if they where not 3D.

I think it could work. That way, we wouldnt need to completly change everything, including pyschis and have a better way to get stuff in the game object wise. Its only an idea, but I think its a intresting one.

Also, FIFE seems to be the most suitable for this whole thing, everything else would be too big I guess, even if ORGE 3D and co look intresting, I think the task would be too big.

The other thing I think we should keep in mind, would be a 1.13 Mod for JA3, but that would be the same for the JA2 and would not be a rremake of JA2.

Any other suggestions?
Re: Improving Original JA2 graphics [message #179903] Wed, 02 April 2008 22:08 Go to previous messageGo to next message
Dr-D

 
Messages:98
Registered:July 2005
Location: Portugal
Lt.Havoc
That looks like this: http://uk.pc.ign.com/dor/abomination-the-nemesis-project/11551/images/abom002.html

http://uk.pc.ign.com/dor/abomination-the-nemesis-project/11551/images/abomination010.html

No no no ..

Those are the very ugly 3d engines I am afraid of.

If any one in this forum thinks about changing the engine to such an ugly engine, count me out.



Now, this:

lisac
Nice to see there are people interested in seeing this finished. I really don't have time to go into every aspect of the previous posts, so I'll just leave an interesting link for all of us:

http://tionline.ru/

And a screen:

http://tionline.ru/i/screen1.jpg


Now, this is a good looking engine.

[Updated on: Wed, 02 April 2008 22:10] by Moderator

Re: Improving Original JA2 graphics [message #179906] Wed, 02 April 2008 22:14 Go to previous messageGo to next message
Khor1255

 
Messages:1821
Registered:August 2003
Location: Pleasantville, NJ
Well, if it is a complete change of engine definately count me out.

And everything in the background looks better in that screenie but the sprites look waaayyyy worse.
Re: Improving Original JA2 graphics [message #179912] Wed, 02 April 2008 22:34 Go to previous messageGo to next message
lockie

 
Messages:3805
Registered:February 2006
Location: Scotland
Quote:
Well, does anyone know the game Abdomination: The Nemessis Project


yup , I've got it . game not too bad , bit repetitive though and graphics ARE dog ugly !


Re: Improving Original JA2 graphics – Sprite[message #179914] Wed, 02 April 2008 22:41 Go to previous messageGo to previous message
Lt.Havoc

 
Messages:34
Registered:April 2006
Location: Germany

Well, it was worth a try, but I still dont know what kind of engine that is, that these russian guys have use.

Maybe I didnt made myself clear enough: I didnt said that you guys should use the Abdomination engine, I said, if it would be possible to moc sprites and 3D models in a engine and use that for JA2. Something similar, but way looking bettter. Point is, you could the at least use 3D render models for weapons and stuff and could use all those stock models that you literally find everywhere. It would also not a problem to recompile models form other games and change the format so you could puit them into the engine.

Ya know, its possible to use CS models for C&C Generals and Zero Hour (the SAGE Engine) and if thats possible, then I see why people want a ture full 3D engine. Hell, some modders even managed to put BF2 player models into Generals. If that dosent speed up tjhe process of getting things done, then I dont know.

I also dont quite understand Khor

[Updated on: Wed, 02 April 2008 22:47] by Moderator

Next Topic: Creating custom IMPs - A Tutorial
Goto Forum:
  


Current Time: Sat May 15 12:11:35 EEST 2021

Total time taken to generate the page: 0.02616 seconds