logo
Main

Forums

Downloads

Unreal-Netiquette

Donate for Oldunreal:
Donate

borderline

Links to our wiki:
Wiki

Walkthrough

Links

Tutorials

Unreal Reference

Usermaps

borderline

Contact us:
Submit News
Page Index Toggle Pages: [1] 2  Send TopicPrint
Very Hot Topic (More than 25 Replies) Klingon Honor Guard UMX Project (De-CD-ification) (Read 6157 times)
MusicallyInspired
Junior Member
**
Offline


Oldunreal member

Posts: 51
Location: Manitoba, Canada
Joined: Dec 28th, 2013
Gender: Male
Klingon Honor Guard UMX Project (De-CD-ification)
Dec 30th, 2013 at 4:57am
Print Post  
Wasn't sure if this should go in the Unreal Music forum or this one...

I'm working on a KHG project which makes dynamic use of UMX music files (much like Unreal SP did) instead of the CD Audio tracks. Each CD track contains two songs, about two minutes or so of fast-paced orchestral Klingon music and then about a minute or so of quieter suspenseful themes. I always thought that this was strange and didn't work well with the pacing or atmosphere at all. So I separated the fast-paced tracks from the suspenseful ones and made them loop seamlessly by working with the audio data in a DAW. I even extended some of the suspenseful themes because they were simply too short. Then I packaged them into UMX files and will trigger them at appropriate times during the game by creating new Triggers and MusicEvents. My preliminary tests have been successful and it has really impacted the pacing of the game! The goal is to get the game entirely independent of requiring the CD (I'm talking about the CD tracks specifically, however, for my own personal use, I've already hacked the windrv.dll file to remove the CD check because it's so annoying).

The point of doing all this is A) for the fun and creativity, and B) even if you have the CD in your drive the music doesn't always play and when it does it's far too loud. The CD tracks don't always play because the game is hardcoded to look for the tracks in the first CD-ROM device only. So if you have multiple CD drives or have a virtual drive the tracks won't play unless the device your CD or CD image is loaded in is the first CD drive device. This requires going into Administrative Tools and reconfiguring the drive letters which is annoying. This solves that whole problem and also the problem of volume control as it is now configurable in-game!

As for the fun part, here's an example. In level two, the Klingon city where you have to break into the guarded compound, the orchestral music now plays as normal (but with the added benefit of seamless looping), but when you head down into the sewers underneath the city, the music changes to the quieter suspenseful theme (and loops seamlessly). Then when you come back up from the sewer inside the building the music shifts back again to the klingon theme. There are a lot of ways I can think of to utilize these dynamic changes effectively throughout the game (some I'll need help with!). Some levels could even start with the suspenseful theme first and shift to the fast-paced battle music later on when meeting large groups of enemies. It's been a fun project to work on. Encountered a few snags, but found workarounds.

I do have some questions I'd like to pose to those who may know (or may know a way to find) answers:

1) When you beat a level in KHG the screen changes to show your game stats for that level. When this happens it stops the currently playing music and plays CD track 7. I've been trying to find where this occurs in scripts but I can't find any. The game responds to these endoflevel events with two kinds of teleporters: AVITeleporter (which plays a mission briefing AVI for the next level) or just Teleporter (for levels that are split up into multiple parts and don't have a mission briefing in between). However, I can find no reference to music changes in either scripts or in the Gamestats script. Would this be hardcoded somewhere else by any chance? What are the chances of finding and altering this functionality?

2) I've been poking around the KHG menu scripts to try and add a menu item for setting music volume via a slider like the current sound volume slider. The menu system still baffles me, however, as the scripts for each menu reference what happens when you interact with each item but I cannot find where the menu lists themselves are setup or how to add a new entry. Any help here? Remember, KHG is not a UWindow game so it uses the classic Unreal menu, if that makes a difference.

...I'm sure there were more questions I had, but I can't recall them now. When I remember I'll post them.
  

SC-55 Music Packs
Roland SC-55 Music Packs for old DOS games!
Back to top
WWW  
IP Logged
 
MusicallyInspired
Junior Member
**
Offline


Oldunreal member

Posts: 51
Location: Manitoba, Canada
Joined: Dec 28th, 2013
Gender: Male
Re: Klingon Honor Guard UMX Project (De-CD-ification)
Reply #1 - Dec 31st, 2013 at 6:16pm
Print Post  
Another question regarding triggering MusicEvents. How can I set up a Trigger system so that it toggles between triggering two MusicEvents when crossed? Giving the Klingon City example again, there is the above ground area and the sewers underneath the city. There are multiple entrances and exits to/from the sewers. Is there a technique I can use to trigger one MusicEvent change when entering the sewer through any of these entrances and then trigger the other MusicEvent when you come back out of any of these exits? Is it possible to toggle between two different MusicEvents in this way? Possibly with the same Triggers perhaps triggering something else that does the toggling? And they'd have to work between entrances. So every time a Trigger is touched the music toggles, and not necessarily the same Trigger.

Hmmm, is it possible to only have a Trigger trigger if certain conditions are met?

EDIT: It seems that ConditionalTrigger would be what I need but it only seems to exist in UT200x. Can I reproduce this functionality somehow for the older UnrealEd 219?

EDIT 2: Sorry, another edit. And sorry for so many questions! Could I use the ZoneInfo actor somehow to trigger different MusicEvents depending on where the player is? I see that there are ActorEntered and ActorLeaving properties but they only seem to exist in UT200x as well. Frustrating! lol

How does the ZoneInfo's Events>Event property trigger? Just by entering it? Maybe that's all I need?
  

SC-55 Music Packs
Roland SC-55 Music Packs for old DOS games!
Back to top
WWW  
IP Logged
 
MusicallyInspired
Junior Member
**
Offline


Oldunreal member

Posts: 51
Location: Manitoba, Canada
Joined: Dec 28th, 2013
Gender: Male
Re: Klingon Honor Guard UMX Project (De-CD-ification)
Reply #2 - Jan 1st, 2014 at 12:33am
Print Post  
Nobody can help? Is this forum just not that lively lately?  Sad
  

SC-55 Music Packs
Roland SC-55 Music Packs for old DOS games!
Back to top
WWW  
IP Logged
 
Hellkeeper
Global Moderator
*****
Offline


Soulless Automaton

Posts: 2614
Location: France
Joined: May 21st, 2008
Gender: Male
Re: Klingon Honor Guard UMX Project (De-CD-ification)
Reply #3 - Jan 1st, 2014 at 1:19pm
Print Post  
Come on, it's the holidays, of course people are busy elsewhere.

To answer your question: one solution would be to have triggers at every entry/exit of the sewers to change the music accordingly. Another would be to use the zoneinfo actor: setting ZonePlayerEvent to your musicevent's tag triggers the event whenever the player enters the zone. So put the ZonePlayerEvent of the sewer's zoneinfo to the musicevent that rules the sewer music, and the upper zoninfo's ZonePlayerEvent to the musicevent that rules the normal song.

All in all, it tookme 5 minutes to test that.
  

You must construct additional pylons.
Back to top
WWW  
IP Logged
 
MusicallyInspired
Junior Member
**
Offline


Oldunreal member

Posts: 51
Location: Manitoba, Canada
Joined: Dec 28th, 2013
Gender: Male
Re: Klingon Honor Guard UMX Project (De-CD-ification)
Reply #4 - Jan 1st, 2014 at 5:02pm
Print Post  
You're right. Upon reflection that was incredibly insensitive of me, I apologize. Please excuse my ignorant behaviour, not a very good first impression. It was not my intention to make anyone feel insulted or anything.

Thanks for you response! Please remember that I am completely new to Unreal editing and I don't know all of the functions of every actor and their possibilities. I have a great amount of respect for everyone's abilities and understanding of the Unreal engine here! I don't know very much, but I do learn fairly quickly. I stumbled through the code and the wiki and discovered things like the ZoneInfo actor and the ZonePlayerEvent and such after spending a lot of time with it. I did tests with ZonePlayerEvent and it works, the problem is it's not very ideal, especially with the sewers. Because the sewers contain water zones every time you dive underwater and come back up for air the music re-cues again each time. Also, the world above has no ZoneInfo actors. I read that LevelInfo acts as a ZoneInfo actor for all zones that don't have one, but setting its ZonePlayerEvent is inneffective and does nothing. Plus, even if it worked, there are multiple zones above ground so leaving each of these zones would also re-cue THAT music cue, unless there's a more intelligent way I can be setting it up...for now I'm not quite sure how.

In mission 10 (on the Andorian ship) there are sections where you can exit the ship and traverse the outer hull both to find secrets and to advance further in the level. Setting space's ZoneInfo ZonePlayerEvent to the music cue works fine. However, each secret door outside the ship is also a separate zone so entering the secret and exiting again re-cues the space music again. Also, the zones inside the ship have no ZoneInfo actors. Using LevelInfo's ZonePlayerEvent doesn't work, it wouldn't be ideal anyway because entering different zones inside the ship and exiting would have the same problem as the space secrets, the music gets re-cued. Adding a ZoneInfo actor and setting its ZonePlayerEvent strangely does not work at all. I don't understand why. Is there some special property or setting that must be set for each ZoneInfo to be active?

I really wish there was a way to trigger Triggers based on certain conditions, like whether the player is in a certain zone or not. Having multiple triggers on the inside and outside of doors is another answer, but then if you even walked by the door the music would change even if you don't enter it. It would be nice if the Trigger (or the MusicEvent) would only trigger if the music isn't playing already. But I don't know if UnrealEd 219 is even capable of that.

Thanks so much for your help I don't take it lightly. Happy holidays and a Happy New Year to you all! Smiley
  

SC-55 Music Packs
Roland SC-55 Music Packs for old DOS games!
Back to top
WWW  
IP Logged
 
Hellkeeper
Global Moderator
*****
Offline


Soulless Automaton

Posts: 2614
Location: France
Joined: May 21st, 2008
Gender: Male
Re: Klingon Honor Guard UMX Project (De-CD-ification)
Reply #5 - Jan 1st, 2014 at 8:42pm
Print Post  
Don't be sorry, you're not the only one requesting stuff and wanting it fast. As a newcomer, don't worry, you'll find all needed help here, there are many people who know this engine by heart.

First, you said you were mapping with KHG. The best thing to do would be to look at the maps themselves and see how it works: there must be an actor used for such an effect, or maybe a way this is set up. There is maybe a tricky way to pull it off with some combination of normal triggers.

MusicallyInspired wrote on Jan 1st, 2014 at 5:02pm:
Also, the world above has no ZoneInfo actors. I read that LevelInfo acts as a ZoneInfo actor for all zones that don't have one, but setting its ZonePlayerEvent is inneffective and does nothing.


The levelinfo does not work like a regular zoneinfo. Some things like its ZonePlayerEvent doesn't seem to work indeed.


Now, reflecting about your problem.

The best way for you would probably be to have a trigger to switch music at the entry/exit of your sewer: it would prevent the problem that comes with the water zones in the sewers, and would make sure the change happens only at the entries, and remains for as long as you remain in the same part of the map. It also would make sure the music isn't retriggered when it's not needed.

Another way, which is, I think, the quick, easy and messy way to do it, would be to have a trigger with a huge radius encompassing the totality of your sewers, and another one encompassing all of the outside world, and have them trigger music event.
This work because:
  • The event is sent when the player enters the trigger's radius, and the trigger's radius can be extended over several zones.
  • When leaving the trigger's radius, there is no end to the effect until the player enters the trigger again or into another trigger.


Here are how things work in this example: Player enters the sewers and imediately enters the radius of Trigger n°1, which sents an event to activate the sewers music. The Trigger covers all of the sewers, so that the player never leaves its radius.
When going up and outside of the sewers, Player leaves the radius of Trigger 1 (no effect), and enters imediately the radius of Trigger 2 which activates the outside music. As long as he remains outside, he never leaves the radius of Trigger2, except when entering the sewers, at which point he enters the radius of Trigger 1.

The only downside of this is that if the player spawns inside the radius of one of these triggers, he will hear no music until he moves a bit, at which point his presence inside the radius will be noticed.

However, the music will still be reset whenever the player enters the radius of another trigger, then back into the huge music trigger.

In the end, I'm afraid there is no simple way I know of of pulling this trick without a specific actor. Again: I advise you check the maps themselves in the game and see how the effect works, if a special actor is used or a combination of actors tricked into having the right behaviour.
  

You must construct additional pylons.
Back to top
WWW  
IP Logged
 
MusicallyInspired
Junior Member
**
Offline


Oldunreal member

Posts: 51
Location: Manitoba, Canada
Joined: Dec 28th, 2013
Gender: Male
Re: Klingon Honor Guard UMX Project (De-CD-ification)
Reply #6 - Jan 2nd, 2014 at 1:47am
Print Post  
Large Trigger radii...I didn't think of that! That would definitely work well for a sewer/above ground setting. That would definitely insure that the wrong track doesn't get played at the wrong time. For space/spaceship zones, however, that would be a little harder to pull off. Though I cold have small Triggers at all the airlock exits and have larger ones encompassing the insides of the ships/space stations.

As far as looking at the maps themselves, that's pretty much exactly what I am doing. What I'm doing is making changes to all the existing maps (rather than creating new ones) to implement dynamic UMX tracks instead of the straight CD track calls that are present in each level's LevelInfo. The maps don't have any special actors for music changes because the game uses CD audio tracks which just play through the duration of the whole level. The only MusicEvents present are stops for cutscenes and level changes in certain areas. KHG does have unique actors for different functions, but one for music changes isn't one of them unfortunately.

Unreal's design centers around this capability, however, as it was designed for dynamic UMX music obviously. They are much more linear and have a continuous "point a to point b" styled approach. KHG's level designs don't take this into account and are a little more like the old-school self-contained "large maze" design so it's harder to approach to make these changes. It's a tough job, probably tougher than its worth, but I enjoy the challenge of solving puzzles like this. Plus it helps me understand the engine all the more. Smiley I have aspirations of creating a new self-contained series of maps for KHG as there really haven't been any custom maps made for it at all, and this is all experience gained to that end. But that's a long ways off if I even get to it. For now, these challenges will suffice.

How about my earlier question about customizing the menu? As I said, I've found the classes for what happens in each menu screen (New Game, Options, etc), but I cannot find a way to add or edit new entries to a specific menu. I've tried to search up on customizing Unreal menus but there isn't much information. I've also tried looking at Unreal's menu design (the old style menu, not UWindow) and haven't found anything either. Is this something hardcoded perhaps or are there menu entry listings somewhere else that I'm not looking?

Thanks!
  

SC-55 Music Packs
Roland SC-55 Music Packs for old DOS games!
Back to top
WWW  
IP Logged
 
Hellkeeper
Global Moderator
*****
Offline


Soulless Automaton

Posts: 2614
Location: France
Joined: May 21st, 2008
Gender: Male
Re: Klingon Honor Guard UMX Project (De-CD-ification)
Reply #7 - Jan 2nd, 2014 at 11:54am
Print Post  
I can't answer the menu question because it would require, I believe, some scripting. It's out of my field of competence unfortunately.

As for the music stuff, if the game doesn't make it possible, then you'll have to think about something. The large trigger radius trick I mentioned is an imperfect solution to the problem, for the reasons I gave: no music until the player moves, retriggering each time the player enters another trigger inside the trigger's radius (so that if a door is opened by a trigger in the outside world, opening the door will have the outside song restart. Same in the sewers, if a door has to be opened via a trigger, the sewers music will restart instantly). However, it gives you the best control, as it acts like the ZonePlayerEvent, but can be extended over several zones at once.

Another solution would be to script a small actor where you would enter two songs and a list of zones for each song. If you have some Unreal Script knowledge, this might be the best option. Otherwise, you'll need someone to do it for you, or learn to do it. I'd help you if I could do such a thing.
  

You must construct additional pylons.
Back to top
WWW  
IP Logged
 
MusicallyInspired
Junior Member
**
Offline


Oldunreal member

Posts: 51
Location: Manitoba, Canada
Joined: Dec 28th, 2013
Gender: Male
Re: Klingon Honor Guard UMX Project (De-CD-ification)
Reply #8 - Jan 3rd, 2014 at 9:06pm
Print Post  
Ahh. So multiple small Triggers inside a large one will cause the large one to trigger again when exited. That is indeed not favourable. I'll have to brush up on Unreal Scripting then. Seeing as my other two questions in my first post have to do more with scripting, I'll wait for someone more knowledgeable there to respond. Thanks for your advice! I may have more questions about mapping later on as I go.
  

SC-55 Music Packs
Roland SC-55 Music Packs for old DOS games!
Back to top
WWW  
IP Logged
 
MusicallyInspired
Junior Member
**
Offline


Oldunreal member

Posts: 51
Location: Manitoba, Canada
Joined: Dec 28th, 2013
Gender: Male
Re: Klingon Honor Guard UMX Project (De-CD-ification)
Reply #9 - Feb 26th, 2014 at 5:02am
Print Post  
So after completing my task of transforming the CD Audio tracks into perfectly looping UMX files, I decided to go back and attempt to recreate one of the tracks as an actual proper tracked MOD. I gathered some samples from my libraries and used an existing MOD as a base. There are still some samples in there that I'm not happy with, and this song isn't completely copied yet, but it's a nice start I think. Though, it's much easier to recreate an orchestral song than it is to recreate some of the synth music from the game with all their unique sound effects. It'd be easier if I knew what equipment was used when recording the original score, but unfortunately I don't. The orchestral sounds are very similar to Roland/Edirol ones that I've heard/used, however. Either way, 30 MB down to 6.6MB a song IS a better trade-off. But recreating all the songs takes a LOT more time.

Here's the original and the work in progress of my recreation. It's an IT module so it'll play in Winamp or VLC or something. It will not play in WMP, obviously. The original MOD I'm working over was called "Distant Voyage", which is why it has that title. It's not the name of the song, though. Smiley

Original Track
ReTracked MOD

Thoughts?
  

SC-55 Music Packs
Roland SC-55 Music Packs for old DOS games!
Back to top
WWW  
IP Logged
 
Dr.Flay™
Senior Member
****
Offline


ChaosUT-333networks

Posts: 315
Location: Kernow, UK
Joined: Dec 9th, 2012
Gender: Male
Re: Klingon Honor Guard UMX Project (De-CD-ification)
Reply #10 - Mar 21st, 2014 at 10:30pm
Print Post  
You are to be congratulated for doing this, while most people are trying to hack a WAV into a UMX.

The opening needs more beef, and sounds thin compared to the original.
Other than that very well done  Cool
  
Back to top
IP Logged
 
Hellkeeper
Global Moderator
*****
Offline


Soulless Automaton

Posts: 2614
Location: France
Joined: May 21st, 2008
Gender: Male
Re: Klingon Honor Guard UMX Project (De-CD-ification)
Reply #11 - Mar 22nd, 2014 at 11:31am
Print Post  
Indeed, I need to congratulate you. It's extremely true to the original, even the samples are insanely similar to the real song. The amount of time and effort needed to recreate the entire song note by note is astonishing, and of course, it's thousands of times better than an wav of similar size.

Great work!
  

You must construct additional pylons.
Back to top
WWW  
IP Logged
 
MusicallyInspired
Junior Member
**
Offline


Oldunreal member

Posts: 51
Location: Manitoba, Canada
Joined: Dec 28th, 2013
Gender: Male
Re: Klingon Honor Guard UMX Project (De-CD-ification)
Reply #12 - Mar 22nd, 2014 at 7:38pm
Print Post  
Thanks! Like I said, these take ages to do. This one took me over half a day's work and it's only about a quarter done. So it's slow, but fun to see it come together.
  

SC-55 Music Packs
Roland SC-55 Music Packs for old DOS games!
Back to top
WWW  
IP Logged
 
Amaroq Clearwater
Senior Member
****
Offline


Check my signature for
a link to my character
bio.

Posts: 260
Location: DmAriza
Joined: Mar 6th, 2014
Gender: Male
Re: Klingon Honor Guard UMX Project (De-CD-ification)
Reply #13 - Mar 29th, 2014 at 1:38am
Print Post  
Are the CD-tracks mono perchance? The reason I ask is that the developer of KHG was Microprose, and they also made the game MechCommander in the same year.

I was trying to make the MechCommander Gold soundtrack usable in Unreal, because I love the songs from that game. The songs are all 22.05 kHz, and they are all mono. However, they are also all 16-Bit WAVs, so importing them into an ImpulseTracker or ScreamTracker project won't increase their filesize. Not only that, but it'll let me import them via Unreal Editor.

I discovered something on accident while I was doing that. Since I was using ModPlug Tracker, and forgot to turn off my various Player Settings, the music seemed to sound different, and when I looked at the global volume visualizer (or whatever its called), it was showing the Left and Right channels getting louder and quieter independently. That is when I checked my player settings, and sure enough "Dolby Pro-Logic Surround", "Reverb" and "Bass Expansion" were all checked. That, and the Dolby thing was maxed out on both sliders.

Dolby Pro-Logic is a very powerful thing. If only it were integrated directly into Unreal Engine -.-
« Last Edit: Dec 4th, 2014 at 11:59pm by Amaroq Clearwater »  

Read the bio for my fursona here:
*OUTDATED LINK, WILL BE REPLACED SOON*

---

"Daddy, I had a nightmare."
"What is it, darling?"
"The next Unreal won't have Deck16..."
"That's harsh."
Back to top
IP Logged
 
MusicallyInspired
Junior Member
**
Offline


Oldunreal member

Posts: 51
Location: Manitoba, Canada
Joined: Dec 28th, 2013
Gender: Male
Re: Klingon Honor Guard UMX Project (De-CD-ification)
Reply #14 - Apr 2nd, 2014 at 3:10pm
Print Post  
No, the KHG tracks are high quality, stereo, mixed and mastered.
  

SC-55 Music Packs
Roland SC-55 Music Packs for old DOS games!
Back to top
WWW  
IP Logged
 
Page Index Toggle Pages: [1] 2 
Send TopicPrint
Bookmarks: del.icio.us Digg Facebook Google Google+ Linked in reddit StumbleUpon Twitter Yahoo