I Wanna Community

Fangames => Game Design => Topic started by: WetWookie on March 23, 2016, 11:55:48 AM

Title: Required reading for new developers
Post by: WetWookie on March 23, 2016, 11:55:48 AM
I keep seeing new developers run into the same issues over and over so here's a list of common issues and their fixes.

If your room seems to bounce when you press reset (or it does funny things with screen capture or streaming) it's because your rooms (or views) are a different size than your 'system' screens (rMenu, rInit, etc...). Make sure the rooms and views are all the same size (800 x 608 or 800 x 600 typically).

If you made a large room and put a camera object in to make the view follow the player and the room gets stretched out of shape it's because the room's view properties are not set properly. Your engine should have come with a template room. If you duplicate that to create your new room all of the settings for the view should be set properly. Otherwise you'll have to set the rooms view properties manually each time you create a new large room.

If you use a portal room as your menu screen where the player jumps into a new game portal or a load game portal it is best to label the portals clearly and put the new game portal farther away (or past) the load game portal to prevent players from accidentally starting a new game and overwriting their existing save file.

Some PCs will crash your game if you play three or more copies of the same sound at the same time. While the player can do some things to fix this issue on their end it's best to avoid playing multiple copies of a sound on top of each other.

If you have secret rooms you need to provide the player with a way of exiting the room without completing it with either a warp or by pressing escape. This prevents the player from getting stuck in an optional room that they cannot (or do not want to) complete.

Projectiles need to be seen easily. Don't use dark projectiles on a dark background (or light on light) and they should have a depth that places them on top of blocks.

Particle effects are nice but can cause issues if not managed properly. If you have an object in a room that uses the particle system you must destroy those particle systems, types and emitters when the object is destroyed to avoid having a memory leak. Additionally you MUST also destroy them in the objects Room End event (or call instance_destroy() in the Room End event). Studio for some reason does not run each object's destroy event when a room ends so you will need to take care of it for objects that use particles yourself.

When choosing aesthetics it is better to be subtle than flashy. Scrolling graphics, heavy particle usage and clashing colors will cause annoyance and eye strains.

Try to get all of your music near the same volume. You can use a free audio editing program like Audacity to adjust the sound levels.



Did I miss anything?
Title: Re: Required reading for new developers
Post by: patrickgh3 on March 23, 2016, 03:09:44 PM
I'll add a list for Studio-specific technical things. Some of these are in the readme of Yoyo's engine.

And some general things.


This is a good idea for a thread, thanks Wetwookie. If people post more stuff it might be nice to compile it in the first post.
Title: Re: Required reading for new developers
Post by: Kyir on March 23, 2016, 03:17:19 PM
I've already written an excessive amount for new developers, so I'll just say all these points are solid and leave it at that.
Title: Re: Required reading for new developers
Post by: patrickgh3 on July 19, 2016, 04:00:44 PM
Here are some notes that aren't critical, but are good to keep in the back of your head.

Make your game stream-friendly

Make your game speedrun-friendly
Title: Re: Required reading for new developers
Post by: Derf on July 20, 2016, 12:09:48 PM
Good thread. A few thoughts:

When choosing aesthetics it is better to be subtle than flashy. Scrolling graphics, heavy particle usage and clashing colors will cause annoyance and eye strains.

I agree with the general principle that graphics should never detract from gameplay, however what you say here isn't really true. It's very possible to pull off flashy graphics, contrasting colours, heavy particle usage & scrolling graphics without them causing annoyance or eye strain (though probably not all at once). The underlying principle here is solid, but I think this is less of a rule and more of a preference on your part.

Export your game as a standalone exe or a zip, and not an installer.

I think when people do this it's just because they haven't worked out that GM:S picks NSIS installer as its default export type; it's worth mentioning to newcomers that you can click the drop down to select a runtime application (.exe).

Don't include inappropriate content that puts streamers at risk for being banned. It may be funny or artistic, but being able to stream games is more important than that.


Though, to some people it's not. This is a good warning to those unaware, but for some (including myself) streaming ability is far less important than artistic coherence.

Playtesting is super important. If you spend 100 hours making a game, you don't want a few segments to be huge roadblocks or a mechanic to be confusing. Spending like 5 hours working with playtesters and changing things can make your game be twice as enjoyable, not exaggerating. It can be easy to overlook playtesting when you're finishing your game and you're exhausted, but you absolutely have to have other people play your game and point out things you can't see. Hm, it might be nice if someone wrote a longer piece about playtesting fangames.

Great point. To expand on this though, be discerning about who you pick to playtest. You want a good slice of skill level from your testers to ensure the game is interesting enough for hardcore players but not impossible for novice players & that the difficulty settings reflect this accurately. Obviously this isn't true if you're purposefully making a very hard game, but I think most people want to open their games up to as wider audience as possible.

Another thing to be mindful of when picking testers is if you're exclusively using friends. Sometimes it's hard to be fully honest with someone when you like them and don't want to hurt their feelings. If you think your playtesters might be holding back, push them to be more critical and try choosing people you are less close to in the future. Sometimes streamers like Stonk & Paragus can be good for this as you're getting their live reaction (though the chat should be taken with a pinch of salt in situations like this).

Also a longer piece on playtester both for what to do if you're a playtester & if you're the creator would be cool, yeah.