Re: If your packaged BYOND game is over 2 MB, you suck.

Every once in a while, I browse the Members blogs here to find interesting reads. Sometimes I find hidden gems (nice posts that go unnoticed), and sometimes I find a turd pretending to be a diamond:

The turd in question here is this one, and since I'm banned from SilkWizard's blog, I may as well take up this topic here proper.

However, this isn't about how stupid someone is or isn't. Whats the right thing to be doing, with assets in BYOND?

What sort of file formats should I be using?


For sound: OGG, MIDI, MP3 or properly compressed WAV files depending on the sound in question. Obviously, only compress to the point where there is no audible difference - If you start to experience sound quality loss, then step back up in file size until you don't. Many games use MP3 for longer sounds and compressed WAV for shorter sounds. Bad sound is very noticable, so if theres something you don't want to compress its most likely here.

For graphics: This will vary quite a bit if we're talking outside of BYOND, but in the case of BYOND you should be using PNG's and potentially JPEG files. Obviously, again, only compress to the point where there is no visible difference. This will depend largely on your artistic vision for the game - Palette reduction is better done as an initial choice before assets are drawn, rather than compression.

Is there lossless compression for PNGs?


Short answer: Yes. PNGOut.

Here is a tutorial for PNGOut. The command-line version is free, most of the default options for various values are completely fine.

Short list of the above


1) Compress your PNGs with a lossless compression tool, if possible.
2) Use proper formats for the job at hand (PNG, MP3, OGG, MIDI, compressed WAV)
3) Don't compress or reduce something if it looks worse or sounds worse. Ever.

Now, looking at the Games folder on this computer, here are a few figures:

Barkley Shut Up and Jam Gaiden:
Sound assets: 48.11MB (3MB of Voices, rest MP3s and a few compressed WAV's for sound effects)

Graphical assets: 5.63MB

A note on the graphical assets: Those are only backdrops / backgrounds / tile screens. The characters don't seem to be there, so I'm going to assume they're somewhere I haven't found them or bundled inside the game or something else.

Depths of Peril
Total assets size: 88.1MB

Depths of Peril bundles its assets into zipfiles, and I'm not much into looking inside them all and figuring out how much is sound and how much is graphics.

Galaxy Online
Total assets size: About 90MB

These are all games that have comparable graphics/sound to what BYOND is intended, and all 3 of these games could reliably be re-created in BYOND, with the exception of Galaxy Online, at least if it is to support thousands of simultaneous players as it does.

If you're not developing a game for web play, you don't need to go crazy optimizing a darn thing. People are downloading games regularly that take up in excess of 500-1000MB for smaller games - If your game is 3MB compressed and 6MB uncompressed and the difference in sound/visual quality is noticable, then you shouldn't be compressing at all. You're in such a low ballpark that it doesn't matter. Compress and optimize because its a good habbit to be doing, but not to the point where it has an effect on your intended game vision.

So, taking a look at SilkWizard's 2MB hardcap I really can't do anything except boggle at why you would set such a ridiculously low cap. I agree with Foomer's assessment that doing so only encourages worse-looking, worse-sounding games. If you have other techniques or ideas on how to reduce game size without resorting to reducing the quality of your game, then go ahead and mention them and I'll edit them in. If I'm incorrect somewhere, please point it out =)

Posted by Alathon on Friday, August 07, 2009 03:08AM - 17 comments / Members say: yea +15, nay -0
(Edited on Friday, August 07, 2009 11:52AM)

Status: Inactive

Since I joined BYOND back in 2000/2001, I've picked up a wealth of knowledge both from the language and the community. Being a forum moderator taught me patience and respect for differences despite anonymity, amongst other things. As a programmer I grew from a vague understanding of C via text MUDs, to a solid grasp of design principles and object-oriented programming in DM. And as a person I learned to appreciate the small communities that gather online in the presence of games and similar interests; f.ex the people I still talk to now years after I met them online in a game, in Chatters or on the forums.

Nowadays, I don't really find myself with the time or inclination to finish my dream game here, however. As such, and in consideration of the pseudo-responsibilities I've held in the past, I figured I'd give a heads-up to those inclined to care. I suspect I'll still be dropping by Chatters occasionally to insult Haywire or play some CrossFire (or whatever be the fad of the day there), and I'm reachable via MSN.

Have a good one ;)

Posted by Alathon on Sunday, May 24, 2009 04:08AM - 5 comments / Members say: yea +0, nay -0

Life is short: Don't settle

2 days ago, during some fairly strong wind gusts - an oak tree fell over and smashed into a car driving along the side of the park in question; the driver was killed almost on the spot. Death by falling tree.

Life is too short to settle for not enjoying it, not demanding a slice of happiness just for yourself. And so in light of that (Not the death by tree), I've dropped my internship (which I felt wasn't going anywhere) and will be studying software design at IT University Copenhagen; that, or software engineering at DTU, the Danish Technical University - Come August.

And as I realized thats what I was going to do, I managed to let out a sigh of relief; because settling and barricading yourself in a situation that you know isn't good for you just plain sucks, and drains you of energy that could be used to create, f.ex, the best game in the world!

Most all of this is common sense, and yet so many people (myself included) settle with little or no thought as to the consequence it has on our mind, energy, daily joy and similar - Instead of demanding more for ourselves. Why ? I suppose in my case because I'm so used to not getting what I want that it becomes the daily norm and it starts being okay. Which is terrible, if you think about it - And I have, so I've decided to do away with that notion altogether.

Posted by Alathon on Thursday, May 07, 2009 03:27AM - 4 comments / Members say: yea +1, nay -0

Always always link!

I notice a bunch of blog posts talk about a game, maybe even your own game, but in that post there is not a single link to the game!

I would've checked out the medals for Murder Mansion, but there was no link! Yes, I can go find it in the hub, but I wont - Yet I'd have looked at the game, possibly gotten more interested etc, if there had been a link in the blog post.

I would've downloaded the newest version of Tomb Explorer, maybe even played a game or two, checked out the current standings, etc. - But there was no link to the game in the blog post!

This might make you go, 'Well if you aren't interested enough in the game to go visit the hub, sod you!'; but try not to think like that. This is an attempt to emphasize something: The easier you make it for players to find and get into your game, the more players you'll have. The more times you lure them into viewing your hub entry, the more likely they are to try it out.

So start linking to your games in posts about them, already!

Posted by Alathon on Sunday, April 19, 2009 02:26AM - 11 comments / Members say: yea +2, nay -1

Rupture: Brief Combat Synopsis

Combat takes place on a seperate map, where up to 3 players and/or NPCs can face off against up to 3 others. You can join mid-combat, which means NPCs can join mid-combat too.

Rupture uses a turn-based model, where each battle takes place between two sides (Left and Right). Players/NPCs on a side all take their turn simultaneously, and then the other side. You have 30 seconds to perform actions with your units, before you run out of time and the turn switches to the other side.

All units have the basic 4 abilities of: Attack, Guard, Swap Position and Use Item. In addition to these 4, units may have up to 6 of their own abilities; abilities use up action points, which are partially regenerated at the start of every turn.

The Attack ability is the basic attack of every character; depending on the class, the range and amount of units hit may vary. Some can only attack the first unit in a row, while others will hit a straight line of units; some may attack flying units and others not.

All player parties have a 'main' character in their group of units. If that main character dies, the rest of that group automatically flees. Main characters are typically stronger than the rest, having access to more abilities than regular characters do.

Some attacks can be chained together to create combos; these are specific attack combinations from differently classed units, from the same group, during the same turn. The combo attack replaces the last attack in the chain with the combo.

Posted by Alathon on Wednesday, April 08, 2009 02:38AM - 1 comment / Members say: yea +2, nay -0
(Edited on Wednesday, April 08, 2009 03:24AM)