Sign in to follow this  
Mac2492

Just poking around... (Sidescrollers, Torque...?)

Recommended Posts

Hi. This is my first post here, so I guess I'll give a little introduction... My name is Matthew. I'm 15 years old, and I'm currently residing in California. My main hobbies are piano, guitar, soccer, kung fu, and computers (hooray!). I'm not entirely sure what I want to do later on, but writing music and creating games seem like the two most appealing *careers* for me. Anyway, I have been planning on making a game for about half a year now. The first game that I drafted up was way over my head. I ended up with a 5 page outline and more that I couldn't possibly cram into a game. I lost almost completely lost interest in game development for a while, then came back to the idea after playing a side-scrolling fighter (I'm also anticipating Super Smash Brothers Brawl!). Without getting too much into the game concept, I'll try to lay out what I want to do with this game and why I want to create it. 1) I love shooters, but I want to start "small". The way I work just won't allow me to start big. I aim really, really high, get pretty far, latch on, lose interest, then come back later. This works okay for some things (soccer, piano, etc...), but I need to stay dedicated if I want to get into game development. I simply have too many ideas that I want to cram into a 3D shooter + fighter and not enough experience. 2) Games like Super Smash Brothers and Jump! Ultimate Stars have made me appreciate side-scrolling fighters. I find them to be equally as fun as 3D shooters. a) Basic concept: The game will be a side-scrolling fighter at its core. Player customization (to a certain extent) is emphasized. I have experience with actual weapons, so I'm having lots of fun with weapon concepts. Different game modes... Yada-yada-yada. I'm sure you don't want to here another newbie ramble on about his "uber cool game idea". ^,^ I have very basic C++ knowledge. I'm a fast learner, but I lose interest quickly. (Which is why I only have very basic C++ knowledge. >,>) Here are the questions I have... 1) Is the Torque Game Builder a good starting point? I really like the price, and it seems sufficient for the purpose. Actually, something like Game Maker might even be enough for the this project (with some tweaking). I don't want make the game in Game Maker, though. That won't really help me in the future. 2) 2D? Magical hand changing? I heard that it's easier to make 2D games. However, I want to make characters customizable. Making weapons display isn't the problem. I figure I could make a basic, white "ragdoll" and simply attach items onto it. Hitboxes aren't a problem either. The problem is animations... In real life, I am semi-ambidextrous. I can write with both hands with fair ease, use chop sticks, etc... So the problem I'm about to illustrate just ticks me off. =P Image: http://img181.imageshack.us/img181/4850/problemyr0.png Is this something to worry about? It just... bothers me. I don't want to have to create back AND front models, as well as back AND front animations. If I did, though, then dual wielding would immediately become possible. (I was planning to exclude it because of animation woes) 3) Team? Would it be more recommendable to start on the game alone or with a team? I can't really comment on this, since I'm mostly unfamiliar with game development. If you have any other tips of comment, I would be glad to hear them. Thanks in advance. =)

Share this post


Link to post
Share on other sites
Have you looked into other languages already? C++ isn't exactly the best language for rapid development, which, in your case, sounds rather important. I think you'll find Python and Pygame pretty interesting. Or maybe you should considered Flash?

Anyway, what sort of games have you built already? If the answer is none, then I can tell you: you're already aiming too high. 3D games easily take years, but even 2D games such as Super Mario can already take months. Tetris and Pong are better choices for a first game. Think of them as taking a staircase: you can't just jump onto the second floor. You can't just build a complex game without practicing first. And practicing means actually building games that you can finish with your current skills and motivation span. After all, finishing a game is an important aspect that shouldn't be skipped.


Oh, and don't focus on unimportant things such as the magic hand issue for now. What is more important to you: having a working game with magic hands, or a correctly animated character... that does nothing? :)

Share this post


Link to post
Share on other sites
Quote:
Original post by Captain P
Have you looked into other languages already? C++ isn't exactly the best language for rapid development, which, in your case, sounds rather important. I think you'll find Python and Pygame pretty interesting. Or maybe you should considered Flash?

Anyway, what sort of games have you built already? If the answer is none, then I can tell you: you're already aiming too high. 3D games easily take years, but even 2D games such as Super Mario can already take months. Tetris and Pong are better choices for a first game. Think of them as taking a staircase: you can't just jump onto the second floor. You can't just build a complex game without practicing first. And practicing means actually building games that you can finish with your current skills and motivation span. After all, finishing a game is an important aspect that shouldn't be skipped.


Oh, and don't focus on unimportant things such as the magic hand issue for now. What is more important to you: having a working game with magic hands, or a correctly animated character... that does nothing? :)


Thanks for the response.

Actually, I'm willing to take a long time on this project. I wasn't aiming to make the full game off the bat. Rather, I was going to use individual parts of the game and as my main learning tools.

(Such as starting with a circle and having it move around, then slowly making it controllable, allowing it to hit another circle and kill it, etc... Work my way up to the final game slowly, yet still have something playable every step in between.)


Of course, I still planned on using tutorials and creating other games. I just wanted to see if the language was appropriate for one of my future goals. I don't care if I can code X rudimentary game in Y super simple language if I can't use that same language for the game I actually want to make. ^,^


I'll definitely look into Python and Pygame. Flash... I'm not sure. I like Flash, but it won't work for the games I'm looking to make later on.

Again, thanks for the response. That really helps. =)



EDIT: Pygame seems a bit too simple. xD! I might study computer programming (not sure how specific the classes get) in college, so I'm not so sure if I need something this simple. I'll download it later and see how the actual coding goes, though.

I'm not looking to make a game in a short amount of time. At the moment, I'm just trying to find a language that's simple enough to allow very basic games to be created in a short amount of time, yet powerful enough to satisfy my game development needs if I decide to continue in the field. Then again, I'm not looking to become a big game developer (programmer, rather... I wouldn't mind being stuck in the proofreading department [don't ask]), so I don't need too much power! xP

So far, the only thing that I don't want to start learning is an overly specialized language that won't be worth knowing in the future because it uses such unorthodox syntax.

(If I learn C++, I can move on to C# without too much trouble. If I learn how to make Game Maker, I can move on to... well... the next Game Maker program. xD)



In short, I'm mainly looking for something that I can either keep using in the future, or at least build on because it's similar to a more complicated language that I want to move on to. I don't need the "baby step" tools like Game Maker or RPG Maker, but I don't need the "big boy" stuff like Unreal Engine or Source either. Which brings me back to one of my earlier questions... Does the Torque engine seem to fit this description?

I've been going through the 2D games made with Torque and none of them seem to be even remotely close to what I want to make. That's this engine is hit-and-miss to me.

[Edited by - Mac2492 on March 4, 2008 7:54:21 PM]

Share this post


Link to post
Share on other sites
Quote:
Original post by Mac2492
(Such as starting with a circle and having it move around, then slowly making it controllable, allowing it to hit another circle and kill it, etc... Work my way up to the final game slowly, yet still have something playable every step in between.)

This seems to be the exact opposite of what you were describing in your first post...

"I have very basic C++ knowledge. I'm a fast learner, but I lose interest quickly. (Which is why I only have very basic C++ knowledge. >,>)"

Starting with low level development is going to make it really, really difficult to keep motivated. I know I got tired of drawing circles and moving them around on the screen when I was 15 pretty quickly. A holds-you-by-your-hand game builder software is not a bad thing to start with. Game Maker (never used it, so I'm not really endorsing it) has a built in scripting language. Rapid development with such a toolset can be a great motivator and wherever you find that it falls short you can extend it due to the scripting system.


Quote:
Of course, I still planned on using tutorials and creating other games. I just wanted to see if the language was appropriate for one of my future goals. I don't care if I can code X rudimentary game in Y super simple language if I can't use that same language for the game I actually want to make. ^,^

A lot of languages are "appropriate" if you stick with them. Any competent programmer will eventually develop capability with a multitude of languages anyways.


Quote:
I'll definitely look into Python and Pygame. Flash... I'm not sure. I like Flash, but it won't work for the games I'm looking to make later on.

Again, thanks for the response. That really helps. =)

EDIT: Pygame seems a bit too simple. xD! I might study computer programming (not sure how specific the classes get) in college, so I'm not so sure if I need something this simple. I'll download it later and see how the actual coding goes, though.

How is PyGame too simple? And since when is simple a bad thing? Using the most efficient tool for a job just makes sense. If you're wanting to develop a 2d game, well, PyGame would be fantastic for that.

You seem to be hung up on learning something that you're going to be using in 5 years or whatever. Learning any language and tools will help you with other languages and tools. Fundamentals between technologies transfer over pretty well. A game loop is a game loop is a game loop, no matter what language you write it in.

Quote:
I'm not looking to make a game in a short amount of time. At the moment, I'm just trying to find a language that's simple enough to allow very basic games to be created in a short amount of time, yet powerful enough to satisfy my game development needs if I decide to continue in the field. Then again, I'm not looking to become a big game developer (programmer, rather... I wouldn't mind being stuck in the proofreading department [don't ask]), so I don't need too much power! xP

The power is in the programmer, not the language. Python looks too "simple" for you? Well, ya know, Eve Online was developed with Python, oh and Sid Meier's Civilization IV used extensive amounts of Python in its development. Blender, Housini, and Maya are three incredible popular 3D graphics packages that support Python scripting. In short, it isn't the language, but the programmers who use it.

Quote:
So far, the only thing that I don't want to start learning is an overly specialized language that won't be worth knowing in the future because it uses such unorthodox syntax.

(If I learn C++, I can move on to C# without too much trouble. If I learn how to make Game Maker, I can move on to... well... the next Game Maker program. xD)

Syntax is just syntax. Seriously, I'm a hack programmer at best, but I can still jump in and start work with Visual Basic, C#, Java, or UnrealScript without much thought.

Quote:
In short, I'm mainly looking for something that I can either keep using in the future, or at least build on because it's similar to a more complicated language that I want to move on to. I don't need the "baby step" tools like Game Maker or RPG Maker, but I don't need the "big boy" stuff like Unreal Engine or Source either. Which brings me back to one of my earlier questions... Does the Torque engine seem to fit this description?

I would reiterate a bunch of things I already said here, but that'd just be too redundant. In a nut shell, use whatever has a work flow that appeals to you. Don't worry about future extensibility or popularity or anything else other than if the tool helps you develop what you want to develop the easiest.

Quote:
I've been going through the 2D games made with Torque and none of them seem to be even remotely close to what I want to make. That's this engine is hit-and-miss to me.

Again, it's the programmer, not the tool.

Share this post


Link to post
Share on other sites
Point taken.


Thank you. I'll try to start with something simple and see if creating games is in my interests before worrying too much about programming languages.

It's nice to have some sense smacked into me. I'm a really meticulous person, so I end up getting consumed by details before I even look at things as a whole.

Share this post


Link to post
Share on other sites
Hello and welcome to the forum.

My advice is start off small. Don't try to build your ideal game on your first pass, especially if you are still starting to learn to program.

Begin with small "games" things like pong, pacman etc until you get comfortable using the tools and you fully understand the programming language. As you work through these small projects you will start to get a better appreciation for what is involved in creating a game.

Try to build your next game a little more complex/better then your last... eventually you'll get to something you can sell!

Share this post


Link to post
Share on other sites
Thanks for the advice.

I think I'm going to start off with GameMaker. (I'll create Pong, Tetris, and something like PacMan) If it's as simple as I think it is, this "phase" won't last very long anyway. If I have trouble, then I have bigger problems than finding a programming language. >,> After that, I'll move on to PyGame and see how that works out.


One last question... If I move from one platform to another, should I avoid creating the same sort of games, intentionally try to create the same sort of games, or just do either because it doesn't really matter?


Reworded: If I made PacMan in GameMaker, should I or should I not make PacMan in PyGame? Using basic logic, it goes both ways. If I make a similar game, I already know the basics behind the game and will probably find it much easier to rework the game onto another platform. Thus, I will gain familiarity on the new platform with relative ease. If I make a completely different (yet equally simple) game, I'll learn a whole bunch of new things both about the platform and about the creation of those sort of games.

I'm leaning towards "it doesn't matter", but I want to get everyone's take on it since I would have ended up banging my head against the wall if I had gone on as I initially planned.

Share this post


Link to post
Share on other sites
1) First thought. Look into the possibility of ADHD. I have it and it hampered my ability to make anything until I figured it out. From what you said in your post, I see alot of myself in you. The aiming high, failing, loosing interest, etc. Took me 7 years from when I started thinking about the game I wanted to make until I actually started building something. Took me 5 months to start after I found out about my ADHD. And four of those were spent traveling in Europe. Anyway, just a suggestion. Feel free to ignore.

2) Go with something simpler than C++. It's a great language and eventually if you want to work in the industry you'll probably need it. You might want to consider C# and the XNA framework. The XNA framework greatly simplifies the directX interface and for me, took out the biggest barrier to starting.

3) Agile development works. The core concept of agile development is to deliver working software as often as possible. So, break your project up into smaller components. You have a large dream and that's great. But it's impossible to realize when it is that large. Instead if you break it down into manageable components, then things become MUCH simpler.

For example: When I started my game (rock climbing simulator, aiming to have a complete rpg type feel to it) the scope was huge including Alpine climbing, many walls, tournaments, NPC's etc. But the truth was that that was simply too much for me, by myself to realize. So I broke it down and celebrated each accomplishment along the way. Right now, all I have is a 2d engine, but it works really well and I am extremely happy with it. It's not what I want, but it's a start. (Oh and it's ~3 months of work) The iterations of the game went something like this -> 1) Make the climber's arms move 2) Make the climber's legs move. 3) Draw the climber on the screen 4) Make a climbing wall. 5) Make the wall move relatively to the climber 6) Make the climber fall 7) Make a realistic physics engine 8) ... etc. Take this as a life's lesson whether you end up in gaming or business or music. Breaking down a large project into small manageable pieces will make the world of difference for you.

4) Start with a text based engine. I know that this might not be the best way to do it, but it's how I did it. My weakness is graphics. I can't make a stick figure look good for the life of me. So instead of focusing on what I can't do, I focused on what I can do. And what I can do is program. So I modeled my climber without any thought to how it would look. Only after I had a climber who could move and climb based on my rules did I move towards the graphics part of the game.

Anyway, that's my bit of long-winded advice. Good luck!

Share this post


Link to post
Share on other sites
Quote:
Original post by jumpingrock
1) First thought. Look into the possibility of ADHD. I have it and it hampered my ability to make anything until I figured it out. From what you said in your post, I see alot of myself in you. The aiming high, failing, loosing interest, etc. Took me 7 years from when I started thinking about the game I wanted to make until I actually started building something. Took me 5 months to start after I found out about my ADHD. And four of those were spent traveling in Europe. Anyway, just a suggestion. Feel free to ignore.

2) Go with something simpler than C++. It's a great language and eventually if you want to work in the industry you'll probably need it. You might want to consider C# and the XNA framework. The XNA framework greatly simplifies the directX interface and for me, took out the biggest barrier to starting.

3) Agile development works. The core concept of agile development is to deliver working software as often as possible. So, break your project up into smaller components. You have a large dream and that's great. But it's impossible to realize when it is that large. Instead if you break it down into manageable components, then things become MUCH simpler.

For example: When I started my game (rock climbing simulator, aiming to have a complete rpg type feel to it) the scope was huge including Alpine climbing, many walls, tournaments, NPC's etc. But the truth was that that was simply too much for me, by myself to realize. So I broke it down and celebrated each accomplishment along the way. Right now, all I have is a 2d engine, but it works really well and I am extremely happy with it. It's not what I want, but it's a start. (Oh and it's ~3 months of work) The iterations of the game went something like this -> 1) Make the climber's arms move 2) Make the climber's legs move. 3) Draw the climber on the screen 4) Make a climbing wall. 5) Make the wall move relatively to the climber 6) Make the climber fall 7) Make a realistic physics engine 8) ... etc. Take this as a life's lesson whether you end up in gaming or business or music. Breaking down a large project into small manageable pieces will make the world of difference for you.

4) Start with a text based engine. I know that this might not be the best way to do it, but it's how I did it. My weakness is graphics. I can't make a stick figure look good for the life of me. So instead of focusing on what I can't do, I focused on what I can do. And what I can do is program. So I modeled my climber without any thought to how it would look. Only after I had a climber who could move and climb based on my rules did I move towards the graphics part of the game.

Anyway, that's my bit of long-winded advice. Good luck!



1) ADHD... I don't know. The only "symptom" I have is procrastination. I just enjoy challenges, so I usually take the more difficult path. (And up "failing" because of that)

2) Heh! I'll look in into that too. Thanks.

3) I actually wrote that I was going do to just this in an earlier post, but I deleted the message accidentally.

4) Text? That's really odd. Now that I think of it, I'm not sure how that's supposed to work...

[Edited by - Mac2492 on March 5, 2008 6:54:29 PM]

Share this post


Link to post
Share on other sites
Quote:
Original post by Mac2492
1) ADHD... I don't know. The only "symptom" I have is procrastination. I just enjoy challenges, so I usually take the more difficult path. (And up "failing" because of that)

Sounds more like being a perfectionist to me, yeah. Sometimes it's a good attitude, sometimes it's really just a hindrance. I tend to focus more on the core stuff now because I've learned how treacherous perfectionism can be, but when the small details need to be polished, it's still usefull. The thing is, if I don't suppress my perfectionism, those small details will never be. ;)

Quote:
4) Text? O,o! That's really odd, but it sounds like a good idea. I'm terrible at drawing anyway.

Might be a good idea, might not be. It can be usefull to become more familiar with the language you're working with - less graphics means less distraction - but on the other hand, a text-based game usually works in a different way than a visual game (no game-loop, blocking input handling, etc), so for game-specific things, I don't think it's too usefull.

Share this post


Link to post
Share on other sites
Quote:
Original post by Captain PSounds more like being a perfectionist to me, yeah. Sometimes it's a good attitude, sometimes it's really just a hindrance. I tend to focus more on the core stuff now because I've learned how treacherous perfectionism can be, but when the small details need to be polished, it's still usefull. The thing is, if I don't suppress my perfectionism, those small details will never be. ;)


Actually, I am a perfectionist. How'd you know? =P

(And, yeah, perfectionism often does get in my way. When it doesn't, though, it's really helpful.)


Quote:
Might be a good idea, might not be. It can be usefull to become more familiar with the language you're working with - less graphics means less distraction - but on the other hand, a text-based game usually works in a different way than a visual game (no game-loop, blocking input handling, etc), so for game-specific things, I don't think it's too usefull.


Hmm... I don't think he actually meant a "text-system" like MUD games do. I liked the idea of using a basic model instead of making complicated ones right off the bat, but I planned on doing that anyway.

[Edited by - Mac2492 on March 5, 2008 11:00:49 PM]

Share this post


Link to post
Share on other sites
I definitely did not mean to create a text based game such as a MUD. That would kinda defeat the purpose.

Basically what I meant is to try to separate your classes/domain model from your graphics code. So that you can start on your domain model, then work later on your graphics which may or may not be harder for you (they are harder for me).

My Architecture is like this:

1) Graphics Layer(Climbing.exe)
- This layer handles all the graphics, sounds, user input, etc
Classes:
ClimberDrawer.cs
WallDrawer.cs
SoundEffectProvider.cs
MenuScreen.cs
etc...


2) Game Layer(GameLayer.dll)
- This layer handles all the physics, character movement, etc.
Body.cs
Arm.cs
Leg.cs
Hand.cs
Foot.cs
etc...

So what I was able to do was focus on the making the arm move. There was no "game" at that point. I was testing my code using nunit (big hint, write unit tests, it'll help you develop and help you in school, I wish I had known how to write unit tests when I was in university). So a sample code would be:

class Arm {

public Arm()
{
// Set my instance variables
}

public MoveArm(Vector2 point)
{
// Do some code to move my arm
}
}

[TestFixture]
class ArmFixture()
{
[Test]
public TestMoveArm()
{
Arm theArm = new Arm();
theArm.Move(new Vector2(2,2));

Assert.AreEquals(theArm.Location, new Vector2(2,2));

}

}

That's all I meant by starting text based. What I guess I really meant is start on the engine and test it. Essentially what I am trying to get at, is start with your strengths. Don't get caught up with your weaknesses.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this