Announcement

Collapse
No announcement yet.

Suggestions: Midi and Xml

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Suggestions: Midi and Xml

    Greetings,
    I have been using UDK since march in college projects, and because i am new to these forums, i guess i must start by saying that this engine is great, congratulations, and thank you for making this available to us =)
    Even with it's random crashes (sh*t happens), i had never felt so excited with game development as i am now.

    So suddenly i start to feel that urge of suggestion. First of all, Xml isn't a new suggestion. Why haven't we seen a XML class in unrealscript yet? It would be most useful, especially in academic research work, where we generally try to complicate stuff, and make udk run "upside-down" =) but really, it would be great if we could create our own hierarchical parameterizations in a simple text-editable file. one of the first things i created in unrealscript was a player-NPC dialog system, for a game in college, and all the dialog was added in the .uc files, because it was a non linear narrative, so each sequence was constantly splitting, depending on the conditions. we really longed for a xml loader then.
    i'm sure someone could tell me various ways to do this, but at the time it would have been great, and of course, it would have, millions of uses for everyone, making millions of developers happy =D

    Second, have you (udk team) ever considered adding midi support to udk?
    I mean creating especially 2 components: a midinode which could be included as a soundnode into any soundcue in the editor, and a midisource, which could both be loaded from a file, or generated in runtime, and assigned to the midinode (or assigned to the midinode, and then just have its midi sequence being generated in runtime).
    i think you get the point.
    the purpose would be to be able to dynamically generate procedural sound, without having to try to link to external tools through the use of sockets (like a friend of mine suggested). there are already open source midi engines that could be easily integrated in udk, i guess. i would try to do that, but i don't have access to the udk source. and i'm certain you guys would do a much better job with much less effort.
    also, some people would just love the retro feel in games =)


    thanks for the attention,

    Tiago Ribeiro

    #2
    Well, I also had this xml problem when working with custom php-services.
    I wrote a simple line parser beeing able to read this:
    Code:
    meta.now=1280222108
    meta.success=1
    meta.dataisfor.MyHUD=1
    data._root.friendlist.friends.0.id=33
    data._root.friendlist.friends.0.name=He
    data._root.friendlist.friends.0.status=idle
    So even if XML would be nicer there is no real need for it.

    But DirectInput-Midi would be cool. (And other controllers like Wii-Remote or 3D-gloves) ^^

    Comment


      #3
      XML is bloaty, MIDI is ancient. If you really want to use them, how about writing DLLBind classes yourself?

      Comment


        #4
        MIDI does have several other functions besides providing pre-DOOM style game music. XML is, however, usually more complex for both humans and machines to read, than doing things in a format suited for your data.

        Comment


          #5
          maybe i will, just when i finish my thesis.
          i just thought that you would do a better job, and including it in the release would make it instantly available to everyone.
          xml may be bloaty, but as i argumented, it is much useful in academic research, while trying to create complex parameterizations for characters, narratives, emotions, etc.. i think there would be many people who would like that (maybe pull up a poll?)
          being part of academic community, i have been finding an increased interest in udk for research purposes, so i though academic community would also deserve some attention from udk. i also know that we researchers use the free version, so we don't pay your salary; but it is us, researchers, that many times develop new ideas and techniques that then enable game creators to use in their games, publishing then with your commercial version of udk.
          if you are telling me to create this myself, i'm sure it shouldn't be that hard. and like i said, when i finish off my thesis, i might just try that. but if it isn't that hard, so why couldn't the official team make it become part of the sdk? of course i understand that whoever need these things might as well develop something better for their own purpose. but for trying out and fast prototyping.. xml provides a usable standard.

          as to midi, i have also seen growing interest in procedural music for games, and generating music from interaction and emotions (have a couple of friends working on things like that), and i just think it would be an interesting feature.
          regard that i am not talking about 1st-gen-cellphone-arcade-sound.
          i was talking about software instruments and multitrack midi: connecting the midi node to the sound card midi output device (software synth basically), assigning an instrument to it; procedurally generate a piano riff, along with some cymbals and drums.
          i think current sound cards and software midi synths produce fairly usable sounds for these purposes.
          also, connecting it in an audio cue would make it possible to get physics and processing on the sound to push up the immersion.

          Comment


            #6
            Originally posted by Wormbo View Post
            XML is bloaty, MIDI is ancient. If you really want to use them, how about writing DLLBind classes yourself?
            Realistically there aren't many good alternatives out there than XML. INI is ancient and was superseded by XML, and JSON might be mire lightweight but theres still not really widespread support out there for it.
            Aside from that, you get things like REST/SOAP which are XML-based and theres a **** good reason to implement XML along with a proper way to do HTTP requests/responses.

            And a good reason to not write DLLBind classes: iPhone.

            Comment


              #7
              Originally posted by Wormbo View Post
              ...MIDI is ancient...
              So is C, but it continues to be used because it works.

              Comment


                #8
                JSON actually looks quite nice, i haven't heard of it before =)
                i guess it's like you said, it isn't widespread. yeah, xml is ugly, but it works, and everybody knows how it works.
                INIs are ANCIENT. i subscribe on that.
                when i started programming, on visualbasic, like 10 years ago, i thought INIs were just great =)
                nowadays we really need hierarchies to represent information. of course, at the time, when i spent my time scripting my own mIRC script, i remember creating complex hierarchies and knowledgebases using INIs. but today if i think of that, i just lay back and laugh.

                ok, let's face it, i need to reformulate my suggestion. thanks for who have been participating to this point.

                i guess what we need in UDK is just some text-config-file importer that handles abstract hierarchical information. because we currently only have configs imported from .INIs
                now if you think it should be XML, or JSON, another format, or a new format that you guys create.. i don't think it really matters.
                whoever needs hierarchical information on configuration files will know or learn how to use the solution you give us.
                i think it doesn't make much sense on just discussing which format is better, if we currently don't have none. any of them would be better than not having it. after having it we could, of course, discuss which is better. but obviously, you won't want to add something to the sdk, to then find out that someone had a better idea;

                so i continue to suggest that this should go for a poll, with various alternatives (including "UDK doesn't need this.", as that is also a fair opinion)

                Comment


                  #9
                  dont know anything about xml so i wont comment on that
                  but midi..
                  that is ancient and you would probably struggle to find something to do with it.
                  i doubt anyone would want to hear music made with the standard midi sounds in their sound card, and external midi modules are something from the 1980s so theres probably not many of those left kicking around.
                  if your talking about procedural music for games it really has to be vst. a vst interface in udk would be incredible, i have asked before but i think people didnt really get the idea. you can make any sound related things you want with it, not just synths and drum machines, theres a whole universe of possibility left untapped.

                  Comment


                    #10
                    ok, now you're talking.
                    i seem to have started this thread with some conceptual ideas that i had some trouble to express, but this discussion has evolved into more practical thinking, and i think that is great.

                    i don't have much experience with vst, but i am deeply aware that it is widely used in sound design. i think that would be something which would greatly stimulate sound artists to work more close to game designers, and to better involve gameplay and audio. like Rod Humble says: "Sound and music is a very powerful medium in and of itself", and its role in gaming is many times underappreciated.
                    but i also see udk as a great tool for experimentalism and art games, so in those cases, it would just be great to have some way to control music and sound composition from gameplay, despite the overall quality not being the best (as would happen if we could simply sequence midi in realtime from gameplay)
                    of course, vst would take this all to a higher level.

                    i wonder if anyone who has actual contact with udk development team will become aware of this discussion. i looked for a "suggestions" area in the forum that would be read by the official developers, but didn't find any.
                    is it possible that we transmit this discussion to the team, in order to receive proper and official feedback?

                    Comment


                      #11
                      actually thinking about it, if udk had vst, midi in and out would come with it.
                      so everyones happy

                      Comment


                        #12
                        =)
                        i can't say i'm exactly a midi fan. i have friends who are, i' am not. never had midi hardware, and never did much with midi. but i had an idea for an art/concept game for which would be great if i had it. and then i remembered some discussions, some months ago, when a friend of mine was talking about linking udk to.. processing or puredata, not sure which =X.. using sockets. and i just thought. ****, there must be more people out there who try to synthesize their own music environments in realtime, in udk.
                        and the fact that we can't do it directly with what the sdk has is just a closed door for all these ideas. any really great game designer knows how sound design is important, and how these kind of things could greatly boost their importance in game.
                        great graphics, incredible AI, non linear narratives.. cool, do you have any dynamic music environment that goes with? i'll take half a dozen, know some friends who might need some.
                        today midi, tomorrow something else. the purpose is not to have midi sound, but to be able to create a composer linked to gameplay. any alternative will suit (like i discussed about XML.. just give us anything, and we'll happily play around with it =)
                        of today the most direct way would be midi and/or vst, tomorrow there might be some new instrument synthesizing technology. the important right now is to be able to try it out, to learn what we can do with it.

                        Comment


                          #13
                          Originally posted by TiagoRibeiro View Post
                          xml may be bloaty, but as i argumented, it is much useful in academic research, while trying to create complex parameterizations for characters, narratives, emotions, etc.. i think there would be many people who would like that (maybe pull up a poll?)
                          Just because it is USED in academic research, doesn't mean it is a very good tool for the job. The college I went to in 1994 still requires Cobol and/or RPG classes, and still use a VAX from 1980 for the majority of their programming classes. (yes, I realize that is not typical, but it does give you the mindset of the people who build these curriculums) The amount of CPU usage to parse relatively complex XML in a computer, or brainpower to parse it in your head, is probably a ton more than what is necessary for any gaming task.

                          Comment


                            #14
                            heres the sdk if anyone fancies a go
                            i had a little play with it a while back but c++ is not my cup of tea.
                            im sure you could use dllbind to get it working.
                            http://www.steinberg.net/en/company/developer.html
                            please someone

                            Comment


                              #15
                              Originally posted by Blade[UG] View Post
                              Just because it is USED in academic research, doesn't mean it is a very good tool for the job. The college I went to in 1994 still requires Cobol and/or RPG classes, and still use a VAX from 1980 for the majority of their programming classes. (yes, I realize that is not typical, but it does give you the mindset of the people who build these curriculums) The amount of CPU usage to parse relatively complex XML in a computer, or brainpower to parse it in your head, is probably a ton more than what is necessary for any gaming task.
                              Sort of beyond the point, though, because the main side of the issue (in my opinion, at least) is the fact that XML is often returned for alot of web-based calls and things like that.
                              I'd really like some more details on the iPhone version, because things like OpenFeint or Facebook integration are pretty big on the mobile platforms, and if the engine is completely closed then its pretty limiting for some people who are interested in building social games using the engine.

                              Comment

                              Working...
                              X