Engine

Needaham45

Spaceman
As we all know, there are problems with the WCSO engine that UE had to deal with, adn it looks like UE2 would have to deal with. I have no knowledge of programming and the like, but I figured I'd start a thread where serious ideas about how to improve the engine could be posted and considered. Of course, this needs to be reasonable - dont' say something that it's quite obvious we won't be able to do (like add fog, or eliminate the space dust being on top of things making it seem like the ships are transparent. Again - I don't know about programming, so that may be possilbe - but from what I understand, it's extremely difficult)

To start off, I'd like to say that the biggest possibly correctable problems are that we can't cloak, we reached the limit of splash screens (to display passwords - this is a real problem for UE2 if we do the fiction the same way, there will be more missions, therefore more passwords), and I think if we could, it would be best to set the game to calculate how guns are fired to WC4-like parameters. For example, crosslinking 4 guns should take for times the energy to fire a volley, not 4 times the refire delay between vollies. Any ideas on ways to correct this stuff? Or do people have other things that it may be a good idea to try to correct? Again - please keep it reasonable. Remember, we are dealing with limited numbers of people, limited resources, and no source code.
 
Well without the source code we won't be able to do any major changes. There are however relatively simple solutions to some of the mentioned topics:

- Passwords - These were necessary in UE1 because the fiction viewer was a separate program. In UE2 however, fiction will most likely be in-game, as i'm finishing a patch for Standoff that will allow printing arbitrary text in a room file :) By making a "room" look like a terminal similar to the fiction viewer (a room is nothing more than a collection of images with some clickable areas) and using this new function, it'll be possible to implement the viewer in the game (i made some tests in Standoff with a partial implementation of this function with very positive results).

- The guns problem you mention - This could be fixable with a slight variation of the scatter gun patch. The only side-effect of this is that, like WC4, you won't be able to fire single guns (like on WC4, the banshee had 4 lasers and you could either fire 2 at a time or 4 at a time, never just 1 bolt) but i don't really see this as a problem in any case :)

Mario
 
I'm sure it's been said before - but your a Miracle worker :)

I had a feeling we'd be able to get the fiction in game, just thought I'd mention it just in case. Another problem of reaching a limit is engine slowdown when there are A LOT of capships/fighters. While it's understandable on a slower computer, I understand we were able to safely say it was the engine, not the computer causing that. Again - I don't know anything about this sorta stuff, but is there anyway we may be able to increase the memory, or buffer, or whatever capacity in order to allow for less slow down with more ships on the faster computers?

I deffinately think it would be great if we could make guns work like they did in WC4. I think it's much better, and more realistic than how the work in WCP. Your solution works, but what about when there are only 2 of one type of gun on fighter, like the UE scim, or epee? The problem, even though it's to a lesser extent, still exists there. Full guns is crosslinked, not full is single fire. Would using the scatter gun patch still allow for those types of firing patterns? If so, I would have no reservations to making that how it works in UE. What does everyone else think. WC4 or WCP style weapons crosslink?
 
As far as the text patch is concerned, I'm basically concerned about three things - the 255 characters per string limit, the inability to use quotation marks in the text (since they mark where the string begins and ends), and the possibility of inserting the player's callsign. I suppose that the first two problems could be coped with and simply circumnavigated, but it would be a pity to lose the callsign.

As for the guns, I don't know it the problem is worth worrying about. It only affects two ships (the Banshee and the Bearcat) anyway.
 
Well, i can definitely put those concerns to rest regarding the text patch :D Regarding the first 2 problems, they simply don't apply since the DLL patch uses pure text files, not IFFs which have to be compiled with WCPPas. Regarding the 3rd problem, i have it solved :) Eder needed the ability to change text colors, so i build a very simple command which can be put into the text: there's a special character, #, which when followed by a number changes the text to that color (right now, #0 is white, #1 is light blue, #2 is dark blue). # followed by 'c' (#c) is replaced by the player's callsign.

Regarding the slowdown: i looked a bit into this while beta testing UE's final mission, and didn't find any way to improve things.. I hope to be able to find a solution eventually, i'll do my best.

As for the guns patch.. i don't know if i agree that the same problem exists when there are only 2 guns, since in WC4 if you linked both guns the delay also increased. I'll look into it more carefully tho, it's been a while since i last played WC4 so i may be wrong :)

Mario
 
Your brilliance, Mario, lies in your uncanny ability to solve problems even before we realise they may occur :D. A few more questions, though... does the text wrap automatically to the next line? Also, how does the text displaying work? Is the text displayed all at once, or can each line/paragraph be displayed with a separate command? Basically, I'm wondering if it will be possible to make the fiction even more customisable, by displaying different paragraphs depending on the variable values.
 
Well, the implementation so far is incomplete, so it doesn't yet wrap the text... but it will (can't think of a best way to adapt the text to all resolutions than doing it automatically, by calculating a small text rectangle based on the selected resolution :D )

Some info on how the text works: The idea is to use a new mission function to be called on room code and when entering a room (something like setPage(int)) that selects the page to be displayed on that room. While on the fiction viewer, we'd select page number 0-n (according to what part of the viewer we are, which mission, etc) or -1 to disable the text (for the main room or rooms). This may require us to use several room files, but the impact on size is minimal since these files are only a couple kb each.

The idea of enabling or disabling just a paragraph of text is something that didn't come up while Eder and i were discussing what the patch needed to do. However (out of the top of my head) it looks like it would be very simple, by adding some more tags to the text (hypothetically #p0, ..., #p9), adding a new mission function (something like enableParagraph(int paragraph_number, bool p) ) and modifying the printer function to take these tags into account, so a paragraph is printed only if it's enabled.

In a similar line of thought, adding tags #v0, ..., #v9 and adding yet another mission function like setVariable(int var_number, int value) would allow for the possibility of "Great job, you took out #v0 enemy fighters" ;) Now that the DLL "core" is done, what exists is easy to expand. As soon as i finish the text wrapping feature and function to set the text page i'll get to work on these two :)

Mario
 
Sounds very customisable indeed :). Hmm, as for the wrapping, a suggestion that could possibly work is if you managed to import the resolution variable from the config file. Then, for ultimate customisability, in the room code, you would have a command like SetBoundaries (x_percentage_start, x_percentage_end, y_percentage_start, y_percentage_end). Using percentages instead of pixels would allow the patch to automatically adjust the boundaries for any resolution. And having a command to set the boundaries inside the game, of course, simply means that the graphic design of the fiction room could be changed as much as one wanted. Theoretically, such plastic boundaries could even allow for the displaying of multiple "pages" at a time, though I don't know if there would be any worthwhile application for that. Anyway, I don't know if that's actually a doable idea, but if it is, I think it would work fairly well.
 
Ever thought of using a different engine for UE2? The SO engine was good back when it came out, but bigger and better engines are out there. i.e.: Tachyon: the Fringe; StarLancer...
 
Yeah, they had big structures on tachyon, but it was more or less the same thing. I remember I played tachyon, I think, using a 3DFX card. Monster 3D. The first one. 3D-only, not the "combo" version, so it still required a normal 2D card to run.

In the most crucial mission, when I got close to the main baddie, the game would freeze the screen but stuff would continue to happen. It was not good, of course. I think that the problem was loading new textures or something, but by computer couldn't handle it. So, I had to set the course of the fighter on parallel vector, turn the slide on, and point it to the directing of where the galspan ship would be, and keep firing when the system hang. Eventually, this was strategy proved successful in destroying the little sub targets on that ship.
 
I never had thar problem on tachion, anyway is posible to add pixel shading to the SO engien or to add bean FX or flak canon FX
 
Background nebulas with a higher res, or destroyed subsystem models (not only a different texture, a diff model too)- would that be possible?
 
Background nebulas in a higher resoloution would only be possible in direct 3d and only look good in 32bit color, but you'll be happy to know that both high resoloution ship textures and backgrounds are a strong possiblility. :)
 
Originally posted by Lynx
...destroyed subsystem models (not only a different texture, a diff model too)- would that be possible?

That has always been possible, since WCP. The problem is that either the modellers are just lazy and only change the textures (that's where I fit in :)) or only make slightly different models.

--Eder
 
Yeah... just take a look at the Pelican for an example of a different mesh for a destroyed subsystem.
 
What about engine glow?

If missiles have it, there my be a possibility to invent it for ships too.
 
FreeSpace 2 is open source now. And you can download it semi-legally.
 
Semi-Legaly? Open Source? What are you talking about exactaly? If it is open source, it's a legal download... But why would anyone open the copyright on such a recent engine?
 
Back
Top