A Few General Questions...

Started by
3 comments, last by Skye Veran 10 years, 7 months ago

Okay, this might be a bit long-winded, but I want to give as much information as possible. Basically I'm trying to figure out the logistics involved in creating and publishing the game I'm working on. Here's some background:

My friend and I are making a video game, which we refer to as "R" for now. R is a 2-dimensional sidescrolling action/exploration game comparable ( in a basic sense ) to recent Castlevania titles. My friend and I are both deeply involved in the project, but I'm handling all the coding and implementation.

We're using Yo-yo Games' Game Maker program. I know this is usually used to create casual games, but I'm confident that it will allow us to implement all the gameplay elements we need for R. I'm less certain about how well we can actually produce a product that can be played on different systems. Ideally, I'd like to see this game on both PC and PS3, but resolution problems are currently a cause for concern.

Right now we're coding the game in 1280x720. But what happens when this is played on different screens? Our graphics are all pixel-by-pixel drawn sprites; expanding them by anything other than 2x is going to ( I think? ) look horrible and distorted. I'd rather not expand the view distance on the windows, but would that be necessary? What happens if someone plays this on a standard-definition television? I keep thinking about these questions and having no answers makes me realize just how little I know about what I'm getting into.

Basically: How do I deal with different resolutions in this type of 2-d game? Is Game Maker too restrictive for this project? Two very different questions, I know, but that's what's on my mind right now.

Looking at the various topics on these forums, I can tell that I'm VERY much out of my league here, but I want to learn and I need a place to start. If anyone can point me to relevant information, or give me some advice, I'd really appreciate it. Thanks for reading!

Advertisement

Hello, and welcome to GD.net!

So as it is now, what you are shooting for may be a bit out of reach. I can't speak to your skill level, but from what I read, I'd say you're just starting out?

We're using Yo-yo Games' Game Maker program. I know this is usually used to create casual games, but I'm confident that it will allow us to implement all the gameplay elements we need for R. I'm less certain about how well we can actually produce a product that can be played on different systems. Ideally, I'd like to see this game on both PC and PS3, but resolution problems are currently a cause for concern.

GameMaker isn't a bad tool. It's fairly basic and clunky, but you can rapidly prototype and test your game. I used it for roughly 4-5 years, and I very much enjoyed it. However, it is a restrictive tool. You won't get amazing performance, but it will be good. That being said, I don't believe PS3 development is part of GameMaker, as with most consoles. This, I'd say is what you should be concerned about least, especially because porting to any console is a huge investment. This is because you need a development kit, or at the very least a $1200 debug PS3 to actually run and test your game on the platform before they accept it and put it onto the network (which they also have a certification process before any of that as well). You can read more about it here: http://www.gamasutra.com/php-bin/news_index.php?story=17707

PC is always a viable and easy option for publishing, so for now I would recommend that you stick to that.

Right now we're coding the game in 1280x720. But what happens when this is played on different screens? Our graphics are all pixel-by-pixel drawn sprites; expanding them by anything other than 2x is going to ( I think? ) look horrible and distorted. I'd rather not expand the view distance on the windows, but would that be necessary? What happens if someone plays this on a standard-definition television? I keep thinking about these questions and having no answers makes me realize just how little I know about what I'm getting into.

So what you're experiencing is a screen resizing issue, and in GameMaker, there's not all too much to be done with that. If you go into the global game options, there's an option along the lines of "interpolate colors between pixels," which changes your scaling algorithm slightly so that around the edges it's a bit blurrier and less distorted. Definitely do that if you're not doing pixel art.

Global game options also allow you to choose how your camera fills the screen, so if you're concerned about different aspect ratios consider this.

You may be able to find some DLL's that provide a better scaling algorithm, or use a 3D DLL and use it's scaling algorithm, but I can't really guarantee either.
OR if you're feeling ambitious, you can also create multiple sizes of your Sprites, and, assuming you can get the screen size, use the best fitting Sprite to fit your current screen. This attempt could reduce your distortion from scaling, but uses more memory and a bit of GML. So if you are comfortable managing duplicate sprites, having a larger game file, and using some GML, you could also look into that.


Again, it's been a bit since I've used GameMaker, but hopefully I've put you on the right track. smile.png
And don't forget about the GMC! They're a pretty good community, and much more dedicated and up-to-date with Game Maker than this site, so if we can't really help you, you should definitely ask this there.

Cheers!

A big problem with a lot of games, especially when cross-platform, is handling screen sizes. With pixel art, scaling up isn't as much of an issue with some other forms of art because you are working with individual pixels and making a single pixel bigger isn't difficult. Scaling down is sometimes a different issue.

It sounds like GameMaker doesn't handle this well, so what I would recommend is trying your hand at coding the game yourself or trying a more robust engine. Unity comes to mind of course, and it can handle scaling very well. You will also have the capability of testing any screen size you want while making the game so you know what your issues are immediately.

If you want to go the coding route, of course it will be more work, but you will absolutely learn more and have more control over your game. You might consider starting with something like Haxe for the many platforms it can target. You'll also get a lot of programming experience and have quite a bit of control using Unity and writing up all your own scripts.

Best of luck, and I hope I helped at least a little bit.

I would like to add that if this is truly a serious project you don't want to be in the dark about how your game is going to look on these other devices... and you don't want to just take some engine's word on things either, so you're going to want to test on these other devices as well. So that means including in your budget the money (if you have to buy the devices) for testing on them. I'm taking this route myself, with my current project.

Thanks so much for the replies, it's given me things to think about that should help.

So if you are comfortable managing duplicate sprites, having a larger game file, and using some GML, you could also look into that.

This isn't really an option, as we will probably end up with dozens, or more likely a few hundred of sprites, including all the animation frames for every “character.” That said, I haven't been using Drag-and-Drop in Game Maker for a long time; I'm comfortable with GML.

As for resolution and scaling... here is my confusion: Our main character sprite is about 120 pixels tall. That's not very large, so just about every pixel of detail we draw into it is important. Scaling down presents the very obvious problem of making details flat-out disappear... but won't any scaling at all, up or down, distort the sprite into a blurry mess? If a 120 pixel sprite scales up to 150 pixels, it can't simply increase each pixel size... the only way the sprite would retain its clarity would be if it was multiplied by an integer... right? And having one resolution setting with perfectly clear sprites, while all the others are awkwardly blurred seems completely unprofessional. Is this sprite distortion less of an issue than I'm thinking?

EDIT: Our solution to this perceived problem was to have different resolutions simply increase the window borders ( the view distance, essentially ). The only problem with this is that it would lessen our ability to use obfuscation for gameplay elements, like hiding things out of the player's view. We decided that intelligently using area transitions and level design might be a better solution than scaling the sprites, but now I'm not so sure.

This topic is closed to new replies.

Advertisement