Poll of the Day > I know some of you do game design/dev - what's the best way to go about 2D?

Topic List
Page List: 1
DorkLink
05/15/17 8:55:16 PM
#1:


I downloaded Unity a long time ago and I've given it a few tries but it always just ends up frustrating me. Like why can't I just specify the size I want the game to be in pixels, and then import sprites that are X amount of pixels? I mean, I can, but they don't at all fit into the game world at the size I thought they would be. I tried to figure this out, there's shit where you can adjust the camera and sprite scales, but I didn't find a lot of useful info. A lot of the responses were just people trying to sell like $10 asset packs that supposedly figure it out for you... no thanks.


I know Unity is more meant for 3D but I still thought that 2D would be a little more intuitive. Are there any good alternatives? Do some of you just code it all from the ground up? I know a decent amount about coding but it's mostly backend. I don't know anything about how to do graphics beyond "functional"-type applications, not games.
... Copied to Clipboard!
DorkLink
05/15/17 9:31:50 PM
#2:


@Lokarin
@jamieyello3

I don't know who else makes games
... Copied to Clipboard!
Lokarin
05/15/17 9:37:35 PM
#3:


I make games, I'm just exceptionally lazy

I use GameMaker Studio for 2D since it's soooooo easy. You can get a working prototype in mere hours.
---
"Salt cures Everything!"
My YouTube: https://www.youtube.com/user/Nirakolov/videos
... Copied to Clipboard!
DorkLink
05/15/17 9:44:58 PM
#4:


Unity has terrible tutorials, btw. Everything is video and they're just walkthroughs for their specific example games. Of course it's easy to make a game when the assets are already there for you and somebody has given you the right camera size settings.

Even if there was useful general advice, how am I supposed to find it across so many 40+ minute videos? Just give me a text reference please. I know a video is easier to make, but I don't think they are very beneficial.
... Copied to Clipboard!
Lokarin
05/15/17 9:46:58 PM
#5:


https://docs.yoyogames.com/

Is there something specific you need to do? Just getting tutorials of random stuff does help
---
"Salt cures Everything!"
My YouTube: https://www.youtube.com/user/Nirakolov/videos
... Copied to Clipboard!
DorkLink
05/15/17 9:53:50 PM
#6:


Lokarin posted...
Is there something specific you need to do?


For GameMaker, or Unity? I haven't used GameMaker, but in Unity I was just trying to get the sprites at the right scale and it was ridiculously hard to pull off
... Copied to Clipboard!
Lokarin
05/15/17 9:59:02 PM
#7:


I haven't used Unity since ancient times, so I only know GameMaker
---
"Salt cures Everything!"
My YouTube: https://www.youtube.com/user/Nirakolov/videos
... Copied to Clipboard!
DorkLink
05/15/17 10:02:56 PM
#8:


GameMaker sounds much easier to use but I kind of want to do Unity since it would be a more valuable skill for getting jobs
... Copied to Clipboard!
Lokarin
05/15/17 10:14:53 PM
#9:


If you are looking for a future job in game development then you're better off not even making games - go to school in programming and/or game development.
---
"Salt cures Everything!"
My YouTube: https://www.youtube.com/user/Nirakolov/videos
... Copied to Clipboard!
green dragon
05/15/17 10:15:25 PM
#10:


I used gamemaker when I was like 7 to make sonic fan games. I say go with that
... Copied to Clipboard!
DrPrimemaster
05/15/17 10:20:35 PM
#11:


My last job was programming in Unity, it was mostly 3D applications for VR though. The only time I messed around with 2D was when I was testing algorithms.

What do you want to do?
---
Metroids Suck
... Copied to Clipboard!
DorkLink
05/15/17 10:21:06 PM
#12:


I'm not looking for a job in game development necessarily but still probably something with programming, so I'm not sure I want to use something as basic as GameMaker. Having a Unity game in my portfolio is going to be much nicer-looking
... Copied to Clipboard!
DorkLink
05/15/17 10:22:11 PM
#13:


DrPrimemaster posted...
What do you want to do?


I just want to get the camera (or the sprites?) to be the right goddamn size and it's like whhhhhy is it so counter-intuitive


Or was that a more general question about what I want to do
... Copied to Clipboard!
DrPrimemaster
05/15/17 10:29:46 PM
#14:


General question as I haven't done enough 2D work to help you with that specific problem.

Are you ever going to the Unity Answers forum? or documentation? https://docs.unity3d.com/Manual/index.html
---
Metroids Suck
... Copied to Clipboard!
jamieyello3
05/15/17 10:30:36 PM
#15:


@DorkLink

Do you know any programming languages?

MonoGame is the easiest resource I've ever used when it comes to sprites. I don't like Unity or other engines like it, because it's super inflated and it's hard to do a very specific thing.

I've written a renderer in C++ once.. to draw a sprite on the screen it took around 500 lines of code. In MonoGame, it takes maybe 3 lines to load and draw it wherever you want.

Right now I'm working on a big project using MonoGame, and C# is just a great language to use in general.

If you've never used a programming language before, C# is a great modern language to start on. Plus, I know all about it, so you can ask here and I'll probably know the answer. I say you should look up a C# basic tutorial if you don't already know it, make sure you have the basics down. It's very important to know how to use functions you make effectively. You're also going to want to know how to use arrays. You can get away with not knowing how to use classes and objects. If you already know any C language, you basically already know C#.

As for your actual problem, you would have to scale the sprites up and down in Unity. In Monogame, you could either do that or make a buffer to draw to, and then scale that. (Not as hard as it sounds, if you get to that point ask me). Then you can just scale your whole screen up. There's a catch with that, though. If you draw to a 300*200 buffer and then scale it up, small amounts of movement won't come through. You'll have to move your character one entire large pixel or not at all. If you scale every single sprite individually, you can keep that small movement. Something to keep in mind.

You could just set your game's resolution to native 300*200 or something, but if you think about it there are probably tons of TVs that don't support that, and what happens when people want to play in windowed? You would have to scale it anyway.
... Copied to Clipboard!
DorkLink
05/15/17 10:40:10 PM
#16:


I know C++ fairly well and some C# already.

I can check out MonoGame, but it sounds like you have to do some kind of scaling in that too. I don't know what you even mean by buffer. As for Unity, maybe my issue is that I don't understand what it means by "units". I don't get why, say, if I had my resolution set to 240 pixels wide and I had a sprite that's 24 pixels wide, how come it doesn't just show up as 1/10 the width of the screen by default?

Do you have to scale things manually or can your TV/screen take care of it? For example, there are a lot of 4:3 resolutions, and maybe I want to make an 8-bit style game (I haven't decided yet). I would think that it would make more sense to choose a low resolution so that the sprites can be drawn with fewer pixels, but is that wrong? Is it better to choose a higher, more modern resolution and draw the sprites with more pixels (i.e. 4 pixels for every "visual" pixel)?
... Copied to Clipboard!
DrPrimemaster
05/15/17 10:44:34 PM
#17:


Does it have to be in 2D? What are you trying to put on your resume?
---
Metroids Suck
... Copied to Clipboard!
green dragon
05/15/17 10:45:57 PM
#18:


chewy, i always thought that you had a job relating to psychology. what the hell do you do as of now?
... Copied to Clipboard!
DorkLink
05/15/17 10:58:01 PM
#19:


DrPrimemaster posted...
Does it have to be in 2D? What are you trying to put on your resume?


It doesn't have to be in 2D, but isn't a 2D game much easier to make in the long run? I just want to have some kind of portfolio that I can continually expand.

green dragon posted...
chewy, i always thought that you had a job relating to psychology. what the hell do you do as of now?


I never did, and right now I don't have a job
... Copied to Clipboard!
jamieyello3
05/15/17 10:59:42 PM
#20:


Your problem sounds like no matter what you're going to have to scale your sprites, I think the way they designed the resolution changing functionality was to keep things looking the same for people using different resolution monitors.

Actually, I don't know what I'm thinking with these buffers. In MonoGame you wouldn't have to use buffers, you would just have to tell the renderer to scale everything for you when you call the Draw() function. Me overthinking things, I like using buffers.

I'll tell you what I mean by the resolution, though. I don't use Unity (and I just Googled the way you'd do this on Unity, I don't like the idea of using scripts to be honest) If you were to go and set your game's resolution directly to 300*200 in fullscreen mode, it's generally a bad idea to do that. That leaves it up to the end user's TV to scale the image, and it's possible the end user's TV will go "resolution not supported" and the user wouldn't be able to play the game. Then, if the user wants to play in windowed mode, it would be tiny. (I don't know why people do that but they do, maybe they're streaming the game and want to see chat)

DorkLink posted...
It doesn't have to be in 2D, but isn't a 2D game much easier to make in the long run? I just want to have some kind of portfolio that I can continually expand.

2D games are so much easier to do. 3D games can be done but to be honest they rarely end up good from the indie community.
... Copied to Clipboard!
DorkLink
05/15/17 11:23:04 PM
#21:


Oh, I think I'm starting to get the hang of the math for this now. It's not really hard math (just dividing things), but finding the right variables was confusing me. I'm still not sure yet on how deep I'm willing to dive into the engine, though. Like the issue where you mentioned the resolution being unsupported is something I probably should test out before I go fully making something at an odd resolution.
... Copied to Clipboard!
DrPrimemaster
05/15/17 11:35:19 PM
#22:


3D isn't that much harder and if you want something that isn't gaming you should probably do 3D.

Have you considered doing app development?
---
Metroids Suck
... Copied to Clipboard!
jamieyello3
05/15/17 11:38:32 PM
#23:


DrPrimemaster posted...
3D isn't that much harder and if you want something that isn't gaming you should probably do 3D.

Have you considered doing app development?

I guess if you're already working with Unity it can't be that much harder.

I must be living in ye olden times.
... Copied to Clipboard!
Kungfu Kenobi
05/16/17 12:04:24 AM
#24:


jamieyello3 posted...
DrPrimemaster posted...
3D isn't that much harder and if you want something that isn't gaming you should probably do 3D.

Have you considered doing app development?

I guess if you're already working with Unity it can't be that much harder.

I must be living in ye olden times.


Yeah, these days making a 3D game is no harder, and arguably easier than making a 2D game. Or for that matter, you can make a game in a 3D space, that only uses 2 of those axes. This is how a lot of RTS games with 3D graphics play out.
---
This album is not available to the public.
Even if it were, you wouldn't wanna listen to it!
... Copied to Clipboard!
DorkLink
05/16/17 12:04:54 AM
#25:


DrPrimemaster posted...
3D isn't that much harder and if you want something that isn't gaming you should probably do 3D.

Have you considered doing app development?


It's true that 3D is probably better for credentials, but I don't really have a strong interest in making a 3D game.

I have considered app development but I have a lot to learn about that too. I don't know, there are too many different things I could do and I have a hard time narrowing my focus.
... Copied to Clipboard!
Zeus
05/16/17 2:34:04 AM
#26:


jamieyello3 posted...

If you've never used a programming language before, C# is a great modern language to start on. Plus, I know all about it, so you can ask here and I'll probably know the answer. I say you should look up a C# basic tutorial if you don't already know it, make sure you have the basics down. It's very important to know how to use functions you make effectively. You're also going to want to know how to use arrays. You can get away with not knowing how to use classes and objects. If you already know any C language, you basically already know C#.


I sometimes regret bailing on a C# class in college which I had initially signed up for thinking it was C++ (hence why I skipped)
---
(\/)(\/)|-|
In Zeus We Trust: All Others Pay Cash
... Copied to Clipboard!
DorkLink
05/16/17 2:39:16 AM
#27:


Our "default" programming class for non-CS students was C++. There were a few other ones, but they were harder to get into (fewer slots), and some of them were ridiculous shit like Fortran, which I don't think I've seen listed in a single job posting (and believe me, I've seen a lot of them). I believe they also had Java, and I feel like maybe that would have been more useful, but I had no idea what the hell to take at the time. I just took C++ because I had to do one required programming class and it was the most available one.
... Copied to Clipboard!
jamieyello3
05/16/17 3:18:08 AM
#28:


I was big on C++ too, then I learned C# and realized how convoluted C++ is. There are no headers in C#, and that's great. Anything you do in C++ is probably easier to do in C#, and that's probably the reason why you look around at job postings and see tons of C# and not C++.

C++ came out in 1979, C# 1994. There's really hardly any reason to go with C++ these days. I'm waiting for the next big language too, I'm not really impressed with Python. I'm not really impressed with anything that needs a third party runtime to work on the end user's end. I don't know much about Ruby, but I'm hesitant to go with a language that isn't widely used.

Zeus posted...
I sometimes regret bailing on a C# class in college which I had initially signed up for thinking it was C++ (hence why I skipped)

The good thing is if you know one C language you know them all.
... Copied to Clipboard!
Sahuagin
05/16/17 3:40:47 AM
#29:


jamieyello3 posted...
MonoGame is the easiest resource I've ever used when it comes to sprites. I don't like Unity or other engines like it, because it's super inflated and it's hard to do a very specific thing.

I've written a renderer in C++ once.. to draw a sprite on the screen it took around 500 lines of code. In MonoGame, it takes maybe 3 lines to load and draw it wherever you want.

Right now I'm working on a big project using MonoGame, and C# is just a great language to use in general.

If you've never used a programming language before, C# is a great modern language to start on. Plus, I know all about it, so you can ask here and I'll probably know the answer. I say you should look up a C# basic tutorial if you don't already know it, make sure you have the basics down. It's very important to know how to use functions you make effectively. You're also going to want to know how to use arrays. You can get away with not knowing how to use classes and objects. If you already know any C language, you basically already know C#.

this
---
... Copied to Clipboard!
Kungfu Kenobi
05/16/17 5:55:34 AM
#30:


DorkLink posted...
It's true that 3D is probably better for credentials, but I don't really have a strong interest in making a 3D game.


If you're looking to build a resume, then you really should know a 3D engine like Unity or Unreal 4.

That doesn't mean you have to make a 3D game per se, as I was saying you only need to use 2 of those axes in your mechanics, and there's nothing technically stopping you from mapping your 2D art on to flat objects. Dragon's Crown does this.
---
This album is not available to the public.
Even if it were, you wouldn't wanna listen to it!
... Copied to Clipboard!
Topic List
Page List: 1