Jump to content
AggrorJorn

Ogg support

Recommended Posts

Has been asked many times before. I can't believe we still don't have support for this or at least some other format besides .wav.

 

My game itself is 30MB but with 2 songs (barely 7 minutes of sound), the game is over 270 MB. Might as well leave the sound out.

Share this post


Link to post

Yep, my current project uses only 1 looped song because of this and it's 27MB (3.6MB OGG) for 2:39 minutes.

 

Music in Little Dagon is 157MB but converted to OGG is 22.5MB.

 

/me pokes Josh, twice, in the forehead

Share this post


Link to post

This may be one of the most requested feature ever, ogg would make the leadwerks game launcher even more appealing since the smaller size the games would get. :/

 

A demon's game is over 1GB because the lack of compressed sound support.

 

Josh suggested put Voice acting in some games, but it's hard to do a proper game with VA as a feature since this will increase a lot the final build.

 

http://www.leadwerks.com/werkspace/blog/1/entry-1844-three-ways-you-can-polish-your-game-without-programming/

Share this post


Link to post

This may be one of the most requested feature ever, ogg would make the leadwerks game launcher even more appealing since the smaller size the games would get. :/

 

A demon's game is over 1GB because the lack of compressed sound support.

 

Josh suggested put Voice acting in some games, but it's hard to do a proper game with VA as a feature since this will increase a lot the final build.

 

http://www.leadwerks.com/werkspace/blog/1/entry-1844-three-ways-you-can-polish-your-game-without-programming/

How do you know that? What is the size of all the WAV files in that game?

Share this post


Link to post

Currently, in the latest steam version of the game this is my sound folder. (It's only sounds that the game actually uses, all the other ones have been removed)

 

2ef3083fd52c09cad6eb26ee7548964a.png

 

Yes, that's 1,18GB in sounds that I use.

Share this post


Link to post

World Factions only has 250 MB of Audio as wave data.

 

The conversations in WF for 3 quests amounts to 19 MB in files. In fact music is the biggest usage of space. 10 songs @ 200 MB.

 

Also 1 GB for a game is fairly small. Isn't ESO like 60 GB? I think the thing that would be better than having compressed audio, is the ability to "update" the game without needing to download all the assets again.

 

Considering ADG is on Steam now, users will have to start updating any time there's a patch.

 

@Josh, does Leadwerks use Streams to play Audio with the Sound class? Or is all the wave data loaded into memory when the sound is loaded?

Share this post


Link to post

World Factions only has 250 MB of Audio as wave data.

 

The conversations in WF for 3 quests amounts to 19 MB in files. In fact music is the biggest usage of space. 10 songs @ 200 MB.

 

Also 1 GB for a game is fairly small. Isn't ESO like 60 GB? I think the thing that would be better than having compressed audio, is the ability to "update" the game without needing to download all the assets again.

 

Considering ADG is on Steam now, users will have to start updating any time there's a patch.

 

@Josh, does Leadwerks use Streams to play Audio with the Sound class? Or is all the wave data loaded into memory when the sound is loaded?

Memory, but Ogg doesn't reduce that size.

Share this post


Link to post

If I write a bank or a stream class that decompresses ogg would you implement it into Leadwerks?

 

What class should I use as a base?

Share this post


Link to post

I'm in the same boat as Aggror. This is so desperately needed. I could have used it for Run! Jump! Climb! and I know I will need it for the Winter Tournament. Literally any game with sound and/or music benefits from this!

 

Thread from two years ago that kept getting bumped: http://www.leadwerks.com/werkspace/topic/10718-ogg-and-other-file-format-support/

Your game is a 32 mb download. I do think this is a good suggestion, but let's try to keep some perspective.

Share this post


Link to post

Presently it's not possible to plug in a sound loader class

 

Well, you could create a new class OggOpenALSound, which uses the OpenALSound as a base-class and just overwrites the Load-function. I played around with getting the open-source-library opusfile (opus is the latest codec for ogg) to run with Leadwerks but I stopped, when I noticed that these guys have neither .lib-files, nor vs-projects, which makes linking it a major hassle.

Share this post


Link to post

Your game is a 32 mb download. I do think this is a good suggestion, but let's try to keep some perspective.

The main song was a 24MB WAV. It ZIPs to 22MB. As an OGG it's 2MB and it ZIPs to the same size.

 

In other words, the download could have been 12MB instead of 32MB. And that's just a small tournament game with one song.

Share this post


Link to post

Hi all, actually i' m using a third part lib, and i can ose ogg files.

I created an interface and inserted some custom functions as FadeIn and FadeOut, FindSource and more.

Just i remove context created by lw create my own then i use this lib to play sounds and musics, also in loops.

 

I don't if i can say this, but for information i'm using CAudio, with ogg support only.

Share this post


Link to post

I tried using SDL2 and SDL2_mixer and the outcome was crackling audio.

 

Really hope this gets added eventually. I'd only use ogg for music tracks, as I don't think there is a real point using ogg for simple sounds. 3-4 minute music tracks; yeah that can eat up a lot of space.

Share this post


Link to post

"Considering ADG is on Steam now, users will have to start updating any time there's a patch."

 

This statement has been the quite underlying issue with Leadwerks packaging system. It doesn't matter for updates if you have off or not currently users would have to download the entire zip for any asset update to the game. This really should be looked at to help ease the pain. Customers of Leadwerks games aren't going to be happy when they read a games release notes to an update and see their download is massive and it's not adding up.

Share this post


Link to post

Customers of Leadwerks games aren't going to be happy when they read a games release notes to an update and see their download is massive and it's not adding up.

 

I feel that way when Epic releases a patch for the new Unreal Tournament where minor bug fixes go to be a gig and a half big.

 

On packaging, if you're not making a Game Launcher game, you should actually consider of ether hand packaging or making a batch or software that does the packaging for you the way you want. Just split the game's assets in password protected zip files and be done with it. A lot of thought should be taken into account before pushing a game on Steam.

Share this post


Link to post

I feel that way when Epic releases a patch for the new Unreal Tournament where minor bug fixes go to be a gig and a half big.

 

On packaging, if you're not making a Game Launcher game, you should actually consider of ether hand packaging or making a batch or software that does the packaging for you the way you want. Just split the game's assets in password protected zip files and be done with it. A lot of thought should be taken into account before pushing a game on Steam.

 

Unfortunately not everyone has the professional edition, the solution for this issue is so basic that should be something native in the engine itself.

Share this post


Link to post

That does leave the issue of Lua games and where the password is stored for the zip files. It would be nice if LEs packaging system did break out assets to multiple zip files logically as that helps some. Hell the directory structure of the game could be mimicked as is and every file inside is in its own zip file. That would give us control of the zip structure.

Share this post


Link to post

For ADG, you can just remove the sound files from the zip and place them in a folder in the game directory. The Steam build tool would skip the sound files and only upload the main zip.

Share this post


Link to post

Unfortunately not everyone has the professional edition, the solution for this issue is so basic that should be something native in the engine itself.

 

You can just use 7Zip to zip up each asset folder with a password. Tedious, but it should only be done post release and each update.

Share this post


Link to post

Were we able to set the zip pw via Leadwerks function that does that, from Lua? I know it does that in c++ and Leadwerks is the thing that needs to know the zip pw as it's the one that unzips and reads the data in its functions.

 

Currently that's all done "magically" via the le package process.

 

In the C++ main file is where it loads zipped files. Looks like Package::Load(). I don't see any pw being out in there so guessing Josh hides all that. I'm guessing he might be using the same pw for all LE packaged files that is in his library. Not at my pc atm to see if that function has an overload to take a custom pw but wouldn't that require pro version then since you're doing it in the C++ app?

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...