Author |
Message |
sheepandshepherd Trandoshan
Joined: 01 Apr 2008
|
Posted: May 18, 2008 17:12 Post subject: Feature Request/Suggestion Thread |
|
|
DarkXL is still far from finished, so now is not the time to barrage lucius with feature requests. However, if you have any ideas, suggestions, or requests you want to contribute to DarkXL, please post them here. lucius, I suggest you don't read this thread until basic Dark Forces functionality is complete, I don't want to cause any feature creep. Most of these things will probably be optional features for the extended mode, which is still in the far future.
But anyways, I had some really good ideas to add later on, and I'd rather write them down now. Everyone post your ideas here to keep them out of lucius' beta testing forums. That way, we won't slow down his progress or get in his way.
One simple thing first: we don't have any of these weapons in the current build yet, but be sure to include the secondary fire key before we get to those.
When people start making new levels and mods for DarkXL, we're gonna need a way to launch them. I suggest you add a "Mods" menu to the DarkXL frontend that allows you to pick from a list of "mod files". Each "mod file" will include a name and short description of the mod, the names of the GOB file, the LFD file(s), and the new logic file (CoreLogics.as, or whatever new mods will use). That way, we just drop the GOB and LFD in the DF folder and the mod file and logics file in, for example, a DarkXL\mods\ folder.
Also, when you start work on DarkXL's extended version, this "mod file" could tell what extended options to enable or disable for that particular mod.
The LEV header in WDFUSE had an option for music that didn't work because the music was hardcoded in DF . . . will DarkXL support this option? It would make things a little easier for modders with new music. I think you already mentioned that .wav and .mp3 music files will be supported.
You mentioned that new textures and sprites will support high color depth instead of palletes. Does that mean you'll be rewriting the BM and WAX file formats, or will we just use normal TGAs for textures and some new animated format for sprites?
Could you add a LOGIC for the Bryar Pistol item to pick up? It annoyed me that you couldn't pick that weapon up in levels that you didn't start with it (any addon level that used JABSHIP).
Speaking of weapons, will we be able to create new weapons in the extended version (not just a new texture for existing weapons)? If yes, how will this work, will it replace one of the 1-0 keys, or will it just not have its own key? One quick idea: you could include optional keys for Weapon 11 - Weapon 20 in the config file, and any new weapons used in a mod will use those keys.
Will we be able to use new keys besides the Red, Blue, and Yellow keys to lock and open doors? I have found a way to use objective completion items such as the DS plans as "fake" keys, but it's a very limited method, and new keys would just be better.
Will we be able to use floor and ceiling textures that aren't all 64x64?
We discussed optional crosshairs earlier, such as the red laser dot. Will each weapon have its own crosshair? If you decide to include this, you don't have to make all the crosshairs yourself, just include a crosshair field in each weapon's logic so we can make our own depending on our own preferences.
Will there be ally LOGICs that will fight for us and shoot at the enemy? Also, will there be different "factions" of enemies that will fight each other? Will there be new INF commands that change an AI's "faction"?
One common scripting command I noticed DF didn't have is a kill counter. Could you include something like this in the extended version, maybe?
Could you add a new command that changes an elevator's INF? Or maybe an elevator could have multiple separate INF sequences, and a switch could change which one is currently active. That would make elevators a lot more dynamic and useful.
Could you allow any enemy use the BOSS logic, not just Dark Troopers and Boba Fett and the Kell Dragon? It would really help make new levels funner and more dynamic. Also, we could use multiple separate BOSS logics (for example, BOSS01 - BOSS99, each with its own BOSSxx elevator).
I think most of the enemies in DF besides Dark Troopers and Boba Fett are also present in Jedi Knight . . . using JK's 3D models could be one useful option in the extended mode.
And remember, lucius, you really shouldn't worry about implementing any of these things until you're done with the basic work. I'd rather have a working DarkXL that can play through the original DF than an incomplete DarkXL loaded with optional features.
|
|
Fenwar Admiral Ackbar
Joined: 15 Sep 2003
|
|
lucius DarkXL Developer
Joined: 17 Feb 2008
|
|
lucius DarkXL Developer
Joined: 17 Feb 2008
|
Posted: May 19, 2008 18:08 Post subject: Re: Feature Request/Suggestion Thread |
|
|
sheepandshepherd wrote:
DarkXL is still far from finished, so now is not the time to barrage lucius with feature requests. However, if you have any ideas, suggestions, or requests you want to contribute to DarkXL, please post them here. lucius, I suggest you don't read this thread until basic Dark Forces functionality is complete, I don't want to cause any feature creep. Most of these things will probably be optional features for the extended mode, which is still in the far future.
But anyways, I had some really good ideas to add later on, and I'd rather write them down now. Everyone post your ideas here to keep them out of lucius' beta testing forums. That way, we won't slow down his progress or get in his way.
Don't worry I have lots of ideas myself but I'm disciplined enough to implement things in a sensible order
sheepandshepherd wrote:
When people start making new levels and mods for DarkXL, we're gonna need a way to launch them. I suggest you add a "Mods" menu to the DarkXL frontend that allows you to pick from a list of "mod files". Each "mod file" will include a name and short description of the mod, the names of the GOB file, the LFD file(s), and the new logic file (CoreLogics.as, or whatever new mods will use). That way, we just drop the GOB and LFD in the DF folder and the mod file and logics file in, for example, a DarkXL\mods\ folder.
Also, when you start work on DarkXL's extended version, this "mod file" could tell what extended options to enable or disable for that particular mod.
This is already planned. There will be in game options for picking which mod(s) you're running which will include standard mods, texture packs, model packs, etc. Also mods will have optional compatbility and feature options, although the user can choose to use the mod options or ignore them and use their own (although the experience may suffer in
this case).
sheepandshepherd wrote:
The LEV header in WDFUSE had an option for music that didn't work because the music was hardcoded in DF . . . will DarkXL support this option? It would make things a little easier for modders with new music. I think you already mentioned that .wav and .mp3 music files will be supported.
Good idea. I was going to support custom music (using midi, WAVs or OGG files), this is one good option for playing it. There will be a new INF command for changing the music as well.
sheepandshepherd wrote:
You mentioned that new textures and sprites will support high color depth instead of palletes. Does that mean you'll be rewriting the BM and WAX file formats, or will we just use normal TGAs for textures and some new animated format for sprites?
Normal TGA, BMP, PNG, JPG or DDS files for textures. There will be a modified WAX format as well. In addition textures will need a world size in order to compute their texture coordinates in the game while allowing higher resolution. This will be specified in a seperate file.
sheepandshepherd wrote:
Could you add a LOGIC for the Bryar Pistol item to pick up? It annoyed me that you couldn't pick that weapon up in levels that you didn't start with it (any addon level that used JABSHIP).
You'll be able to do that easily enough if you want to. Add logics that give players specific items or weapons is pretty easy
sheepandshepherd wrote:
Speaking of weapons, will we be able to create new weapons in the extended version (not just a new texture for existing weapons)? If yes, how will this work, will it replace one of the 1-0 keys, or will it just not have its own key? One quick idea: you could include optional keys for Weapon 11 - Weapon 20 in the config file, and any new weapons used in a mod will use those keys.
Sounds interesting, I'll think about how to add additional weapons later. Weapon scripting is planned to change any of the current weapons.
sheepandshepherd wrote:
Will we be able to use new keys besides the Red, Blue, and Yellow keys to lock and open doors? I have found a way to use objective completion items such as the DS plans as "fake" keys, but it's a very limited method, and new keys would just be better.
This is something that you'll be able to do as well.
sheepandshepherd wrote:
Will we be able to use floor and ceiling textures that aren't all 64x64?
When creating hi-res textures, a world size must be specified. In the case of ground textures that world size should be 64x64, although this isn't actually required. Anyway DarkXL will treat the texture as if it is 64x64 when generating uvs, but will display the entire texture.
sheepandshepherd wrote:
We discussed optional crosshairs earlier, such as the red laser dot. Will each weapon have its own crosshair? If you decide to include this, you don't have to make all the crosshairs yourself, just include a crosshair field in each weapon's logic so we can make our own depending on our own preferences.
I'm not planning on making most of the crosshairs - I'll do a couple and anything additional will have to be made by the community. Different weapons could have their own, I hadn't thought about that. The first pass implementation would probably be just one crosshair image for everything then I'll expand it later.
sheepandshepherd wrote:
Will there be ally LOGICs that will fight for us and shoot at the enemy? Also, will there be different "factions" of enemies that will fight each other? Will there be new INF commands that change an AI's "faction"?
I won't be making any ally logics but modders sure can You guys can make allies and factions and all sorts of things with the scripting.
sheepandshepherd wrote:
One common scripting command I noticed DF didn't have is a kill counter. Could you include something like this in the extended version, maybe?
Does this count how many enemies a player killed? This could be added later.
sheepandshepherd wrote:
Could you add a new command that changes an elevator's INF? Or maybe an elevator could have multiple separate INF sequences, and a switch could change which one is currently active. That would make elevators a lot more dynamic and useful.
I haven't talked about it yet but there will be some interoperability between scripts and INF... I won't talk about it anymore until later though
sheepandshepherd wrote:
Could you allow any enemy use the BOSS logic, not just Dark Troopers and Boba Fett and the Kell Dragon? It would really help make new levels funner and more dynamic. Also, we could use multiple separate BOSS logics (for example, BOSS01 - BOSS99, each with its own BOSSxx elevator).
There is no coupling between enemy sprite / name and which logics it uses. (so the answer is yes, this will work)
sheepandshepherd wrote:
I think most of the enemies in DF besides Dark Troopers and Boba Fett are also present in Jedi Knight . . . using JK's 3D models could be one useful option in the extended mode.[/list]
Sprite replacement with models will be supported, but someone in the community will have to do it.
sheepandshepherd wrote:
And remember, lucius, you really shouldn't worry about implementing any of these things until you're done with the basic work. I'd rather have a working DarkXL that can play through the original DF than an incomplete DarkXL loaded with optional features.
Don't worry, most of these things were planned anyway
_________________ DarkXL....http://darkxl.wordpress.com |
|
sheepandshepherd Trandoshan
Joined: 01 Apr 2008
|
Posted: May 20, 2008 02:22 Post subject: |
|
|
Awesome
|
|
sheepandshepherd Trandoshan
Joined: 01 Apr 2008
|
Posted: May 22, 2008 02:35 Post subject: |
|
|
One thing that really limited INF in DF was the lack of conditional statements (for example: IF elevator 1 is at stop 1, THEN move elevator 2 to stop 3, ELSE move elevator 2 to stop 4). Adding those in to the new INF would really help modders out with making more complex levels and elevators.
|
|
Emon Ree-Yees
Joined: 10 Aug 2007
|
Posted: May 23, 2008 01:45 Post subject: |
|
|
Something I thought about doing for my DF clone (but never did since the project never really took off), was to have the scripting engine be based in another language, such as Lua, and then have the INF interpreter run on top of the scripting engine. That way, INF is supported by modders could use the underlying Lua engine to do anything they wanted. So you get INF plus a powerful scripting engine without implementing both separately.
That may be over engineering, though. It depends on how much you want to support future modding.
|
|
lucius DarkXL Developer
Joined: 17 Feb 2008
|
|
sheepandshepherd Trandoshan
Joined: 01 Apr 2008
|
Posted: May 24, 2008 18:11 Post subject: |
|
|
In DF, sign textures were always drawn on the MID texture if the wall was unadjoined, the BOT texture if it was adjoined, and the TOP texture if it didn't have a BOT texture. This rule made sense, but it would be nice if we had a new wall flag to change where the sign texture was drawn, just to make the use of sign textures a little more flexible.
|
|
The MAZZTer Death Star
Joined: 25 Sep 2003
|
Posted: May 24, 2008 20:21 Post subject: |
|
|
I thought it was drawn on all three always... hrm.
_________________ http://www.mzzt.net/ | I am a respectable admin with a respectable sig. |
|
sheepandshepherd Trandoshan
Joined: 01 Apr 2008
|
|
sheepandshepherd Trandoshan
Joined: 01 Apr 2008
|
Posted: May 25, 2008 01:51 Post subject: |
|
|
Since we'll be able to use different texture types, will we be able to use alpha (transparent) images in the briefing screens? Also, will we have more freedom of where the backgrounds, text, and buttons in the briefing will be?
EDIT: Will we be able to use animated textures (not just in the briefings, anywhere)? If so, what format will they be? GIFs aren't really convenient at all as textures, but there are animated PNGs, I think . . .
|
|
lucius DarkXL Developer
Joined: 17 Feb 2008
|
Posted: May 25, 2008 07:34 Post subject: |
|
|
sheepandshepherd wrote:
Since we'll be able to use different texture types, will we be able to use alpha (transparent) images in the briefing screens? Also, will we have more freedom of where the backgrounds, text, and buttons in the briefing will be?
EDIT: Will we be able to use animated textures (not just in the briefings, anywhere)? If so, what format will they be? GIFs aren't really convenient at all as textures, but there are animated PNGs, I think . . .
Translucent/partially transparent textures will be possible in levels, as sprites and in briefings. It works that way currently, its just only uses fully transparent vs. opaque texels now because that's what the original art does. As for animated textures, I plan on supporting that more directly, although I am not sure how the user will go about making these textures yet.
_________________ DarkXL....http://darkxl.wordpress.com |
|
sheepandshepherd Trandoshan
Joined: 01 Apr 2008
|
Posted: May 25, 2008 15:03 Post subject: |
|
|
Two high-quality animated image formats are APNG and MNG. Both are extensions of the PNG format, but I'm not sure how we'll make them . . . I know there is a Firefox-based converter for APNG that takes several PNGs and puts them together, but I haven't tried it out yet.
|
|
The MAZZTer Death Star
Joined: 25 Sep 2003
|
Posted: May 25, 2008 20:36 Post subject: |
|
|
APNG Edit is great if you want to generate frames programmatically. If you already have some frames, especially many, I found a better tool for that.
_________________ http://www.mzzt.net/ | I am a respectable admin with a respectable sig. |
|
sheepandshepherd Trandoshan
Joined: 01 Apr 2008
|
Posted: May 25, 2008 20:51 Post subject: |
|
|
The_Mega_ZZTer wrote:
APNG Edit is great if you want to generate frames programmatically. If you already have some frames, especially many, I found a better tool for that.
Awesome, I'll be sure to try it. Hopefully lucius can implement APNG support in DarkXL eventually.
|
|
Fenwar Admiral Ackbar
Joined: 15 Sep 2003
|
Posted: May 25, 2008 21:21 Post subject: |
|
|
sheepandshepherd wrote:
One thing that really limited INF in DF was the lack of conditional statements (for example: IF elevator 1 is at stop 1, THEN move elevator 2 to stop 3, ELSE move elevator 2 to stop 4). Adding those in to the new INF would really help modders out with making more complex levels and elevators.
With apologies for the stripped down pseudo-inf (it's been a while) but this can be done with a dummy sector and the following:
elevator_1
----------
stop: 0 0
# added for consistency because stops are zero indexed
stop: 10 hold
message: 1 conditional_elevator master_on 4096
message: 1 conditional_elevator master_off 8192
stop: 10 hold
message: 2 conditional_elevator master_off 4096
message: 2 conditional_elevator master_on 8192
--------------
conditional_elevator
--------------
event_mask: 4096
master: off
stop: 0 hold
stop: 0.01 0
message: 1 elevator_2 goto_stop 3
--------------
event_mask: 8192
master: off
stop: 0 hold
stop: 0.01 0
message: 1 elevator_2 goto_stop 4
--------------
And in the place you would put your IF statement, you simply place message: [n] conditional_elevator next_stop.
Yeah, it's not as neat as an IF, but INF is not a structured programming language. Think of it as a flow control system - like a model railway, where messages are trains and event_masks are points... (Except you can also choose to send the same train down multiple tracks simultaneously - or have it vanish altogether... hmm perhaps not such a great analogy, but I hope you can see what I mean?? )
If it's going to be extended I'd want to see better interaction with enemy logics and so forth (if the AI is going to be scriptable, then I want it to depend on the state of a given sector, for example) and also better interaction with the player's inventory (e.g. a particular weapon triggering a special reaction) - (and even that kind of effect was achieved in a demo by Murgo, based on the height of the projectile WAX...)
I guess at heart I just like the challenge of having to think outside the IF THEN ELSE box when writing INF. If Tic-Tac-Toe * can be done then so can anything else you like, surely.
* Totally blowing my own trumpet here but maybe a lot of newer people here haven't tried all of these levels...
|
|
sheepandshepherd Trandoshan
Joined: 01 Apr 2008
|
Posted: May 25, 2008 22:42 Post subject: |
|
|
Yeah, I've played the Tic-Tac-Toe level . . . it was amazing. If I remember correctly, he had like fifty dummy sectors for the AI. I'll think about incorporating something similar into one of my levels someday.
That reminds me . . . in DF, only objects were affected by difficulty. Maybe lucius could implement some way to make sectors and INF be affected as well. That would make it possible to make puzzles and such harder with higher difficulties.
|
|
sweatervest Ree-Yees
Joined: 22 Apr 2008
|
|
sheepandshepherd Trandoshan
Joined: 01 Apr 2008
|
|
The MAZZTer Death Star
Joined: 25 Sep 2003
|
Posted: May 27, 2008 03:18 Post subject: |
|
|
Simpler than that. Put any enemy that appears in certain difficulties, for my example Easy, in a dummy elevator sector with speed = 0 and no crushing.
Have that sector move the ceiling to meet the floor. At that stop, you know it is not the easy difficulty!
I used a similar trick to make a normal character into a boss character, by constraining it to one sector and having the elevator try to move the ceiling to meet the floor. Once it was able to do so it quickly moved back (I had set the speed to 0) and triggered the objective complete.
The most flexible way to make this difficulty inf idea work is to make two move_ceiling elevators, one with an easy-medium enemy in it, one with a medium-hard enemy.
We shall assume you have three inf sectors set to control a puzzle (or different puzzles) for three different difficulties: easy_puzzle, med_puzzle, hard_puzzle. We turn easy_puzzle and hard_puzzle off to start in their INF, so by default if we did nothing else only med_puzzle would run.
Then our easy-medium enemy elevator, if it can touch the ceiling to the floor, knows it's hard, and can send master off to all medium puzzle INF and master on to all hard.
The medium-hard enemy elevator can do a similar job, disabling medium inf and enabling easy inf.
If we start the game on Easy, the easy-medium elevator can't move so nothing happens. The medium-hard one can since the enemy is omitted for easy difficulty. So it triggers master_off for all medium INF and master_on for the easy INF.
On Medium, neither elevator can move so no messages are fired by our two elevators, so the medium INF stays on and the rest stay off.
On Hard, the easy-medium elevator triggers while the other one does not. Medium INF gets shut off while Hard INF gets turned on.
_________________ http://www.mzzt.net/ | I am a respectable admin with a respectable sig. |
|
sheepandshepherd Trandoshan
Joined: 01 Apr 2008
|
Posted: May 27, 2008 03:54 Post subject: |
|
|
Didn't think about that trick . . . it's good
I saw something like that in one of the INF showcase levels, turning a trandoshan into a boss. After the trandoshan died, I heard the sound of a Dark Trooper Mk III dying . . . don't know why though.
|
|
sheepandshepherd Trandoshan
Joined: 01 Apr 2008
|
Posted: May 27, 2008 21:38 Post subject: |
|
|
I really hate parallaxing used for skies . . . what other options will we have in DarkXL?
|
|
The MAZZTer Death Star
Joined: 25 Sep 2003
|
Posted: May 27, 2008 21:40 Post subject: |
|
|
I want source-engine style skyboxes!
_________________ http://www.mzzt.net/ | I am a respectable admin with a respectable sig. |
|
lucius DarkXL Developer
Joined: 17 Feb 2008
|
|
Geoffrey S Gamorrean
Joined: 29 Jan 2005
|
Posted: May 27, 2008 23:06 Post subject: |
|
|
A very simple trick I used was adding an enemy on Hard, who upon spotting the player through a window would move forward, crossing an adjoin - this would set off some INF blocking one route and opening another.
|
|
sheepandshepherd Trandoshan
Joined: 01 Apr 2008
|
Posted: May 28, 2008 00:13 Post subject: |
|
|
lucius wrote:
Here is my plan for skyboxes:
I'll add a "skybox camera" logic that will stay in one place (where ever you place the dummy object it's attached too) and where the camera direction matches the player camera direction. Then anything that camera can see from that view is rendered as the current sky. So to add a cubic skybox: make a cubic sector, place the skybox camera in the center and place your 6 textures on the walls. Of course, since this will be a logic attached to an object, nothing says that the camera has to be stationary... And you can make any sort of sectors or geometry as normal, so you can have 3D elements in your skybox, scrolling textures, or whatever you can normally make in the engine.
That . . . is the work of a genius
It's awesome . . . I could definitely use it for something I have planned for chapter 3 of my upcoming series, something that would be pretty much impossible in DF . . . I bet DarkXL will be finished by then, seeing as I'm still only about 10% done with chapter 1 . . .
That reminds me . . . in Outlaws, one of the first few levels was on a train, and the area around the train was constantly moving (or . . . the train was constantly moving ). How was this effect created? I'm guessing some kind of repeated INF pattern . . .
|
|
The MAZZTer Death Star
Joined: 25 Sep 2003
|
Posted: May 28, 2008 00:18 Post subject: |
|
|
Yeah that's pretty much how Source does it. Make sure the skybox is rendered at 16x it's original size (or some big number, Source uses 16) so the skybox doesn't have to be stretched to the bounds of a DF level editor to be big.
_________________ http://www.mzzt.net/ | I am a respectable admin with a respectable sig. |
|
sheepandshepherd Trandoshan
Joined: 01 Apr 2008
|
Posted: May 28, 2008 00:26 Post subject: |
|
|
Question - I know far off walls create HOMs, but what if they're set to be parallaxing backgrounds? Will those still create HOMs?
|
|
lucius DarkXL Developer
Joined: 17 Feb 2008
|
|
|