#169940 - boppy - Sun Aug 16, 2009 11:01 pm
Hey everyone, I'm new here, this being my first post.
I am an amateur graphics artist and illustrator, and have been wanting to get my hands into video games for quite some time now... Although I have no programming experience, I plan on getting informed in the near future (that is once I have more free time for it).
I have been playing around with a game idea lately which would ultimately play like a combination of 'Super Smash TV' and 'Super Off Road'.
In essence, this game would consist of running around in a top-view style stadium, killing plenty of enemies with up to 8 different weapons (from knives and bats to guns and flame throwers). As well as power ups like
Boost dash and High jump, invincibility, and extra ammo for guns.
There would also be a few vehicles to drive such as a dirt bike, monster truck and maybe a trophy truck even.
As I mentioned before, the game would take place in a stadium. Rather then 'levels', there would be scenarios. For example, 'kill all enemies', 'survive for 5 minutes', 'race' and perhaps a sort of battle royale between the player and 3 other stronger Computer opponents. For different scenarios, the arena would be changed (different jumps in different places etc.).
Also, I would like the arena to be 4 to six times the size of the gameboy screen
Basically what I have as far as what I want the game to contain is:
-(possibly but unlikely) 2 player
-(Up to) 8 weapons
-(Up to) 4 power ups
-(up to) 3 vehicles
-(up to) 30 stages divided into (up to) 7 different scenario categories.
Although these are the things I would like to see the game contain, I understand that it would probably be very hard to see all of it happen within my first project.
In any case, I just want to get some perspective from the veterans around here, Does this sound like too much for a homebrew project?
Should i be interested in a different platform for this project?
Here is a link to some of my pixel stuff, let me know what you think about this project!
http://img199.imageshack.us/gal.php?g=cassetted.gif (pixel work)
http://img23.imageshack.us/gal.php?g=thelastholocaust.jpg
(Graphic design/Illustration)
#169949 - Karatorian - Tue Aug 18, 2009 1:44 am
What you've proposed seems doable to me, although perhaps a bit large for a newbie project. However, I'm an optimist about the possibilities (too often unrealized) of small independant developments. Others are more likely to tell you to build Pong, Tetris, and a few other basic classics first (and they're probably right).
boppy wrote: |
-(possibly but unlikely) 2 player |
Well, multiplayer is hard for a couple of reasons. First up are the challenges of developing multiplayer games on the GBA. There is little to no emulator support for it, so you have to do most of your testing on real hardware. In other words, you'll need multiple consoles, possibly multiple flash carts, and proper link cables. Also, as you need to use the link port for communication, you can't test with multiboot images like many developers do.
Secondly, multiplayer games (especially when running on seperate devices) are technically challenging. This is particularly true of games that intend to provide both solid single and multiplayer gameplay. Even many professional games fail at making both shine. Usually a game's main draw is one or the other, and a lot of developers realize this and just pick one.
AFAIK, very few GBA homebrew games implement multiplayer. It is good that you realize the unlikelyhood of this and I would suggest dropping it to achive a more realistic spec.
Quote: |
-(Up to) 8 weapons
-(Up to) 4 power ups
-(up to) 3 vehicles
|
Compared to a lot of games, these are not very demanding in terms of numbers. Depending on the complexity of the effects, it could require a fair bit of coding, or simply be a matter of setting a few variables and a timeout. The important thing is to provide a solid framework in your engine for adding these elements. Ideally you should be able to add an item (weapon, powerup, vehicle, etc.) without changing code all over the place. Modularization is key.
As the number of combinations grow, you're likely to require a lot of art assets. However, as you've said that's your specialty, you should be all right on that front.
Quote: |
-(up to) 30 stages divided into (up to) 7 different scenario categories. |
A lack of stages is what seperates a lot of tech demos from full fledged games. Stages take time to build and usually require custom level editing tools or tedious hand hacking. You seem to have planned for a lot of variety, which will be a boon if you can complete it all, but could be an issue if you've overreached.
However, with the stadium or arena idea, you've simplified things quite a bit for yourself. In that case, once you've built the basic map, you've got a solid base. You'll only need to edit the various objects (ramps, hazards, items), rather than build full scenery like some other games.
That said, each senario (or, as they're often called, game mode) is going to require custom programming. As each one adds more complexity, it will be easy for the engine to become a mess of special cases, nested conditionals, and unexpected conflicts. Again, modularization is key. The core engine needs to be able to support adding new game modes without requiring changes hither and yone.
The big problem you have is a lack of programming experiance. I hate to say this, but that, more than anything else, is what's likely to kill your project. While I belive anyone can learn to code, I know it's not easy and game programming (especially low level stuff on an embedded platform) is not the best place to start.
What a lot of people don't understand is that game programming is one of the more difficult types. Of course, I understand why all the newbies want to get into it, it's also the sexiest. The other thing about console game programming is that a lot of what you might learn in a course or tutorial doesn't apply. Often there's no OS to handle the low level stuff (as on the GBA) and many times, the usual libraries you're taught to depend on are not availible or subject to unexpected limitations or inefficiencies.
Finally, the usual languages used on the GBA (C and C++) are not exactly beginner friendly. While I think C is a great language (although I can't stand C++) and every would be coder should get to know it, I wouldn't recommend it as a first language. Something a little higher level (such as my personal favorite, Python) is often better for someone starting out. On the other tentacle, many people have started successfully with C and you will need to learn it.
But as long as you really understand what you're getting into, I'd encourage you to go for it. You have basically three tasks to accomplish to get started. Firstly, you must learn to code. Secondly, you must learn C (or C++). Thirdly, you must learn the capabilities and limitations of the GBA platform.
That is, of course, if you want to code it all yourself. If your main goal is simply to get your idea implemented, you may be able to get some help, but you have to go about it the right way. As I'm sure you know, simply saying you've got an idea for a game won't usually garner much support.
If you want to go with the team route, you'll have to prove you can hold up your end. You'll need a detailed design document with enough information for the programmer to be able to clearly understand what needs to be done. As you're an artist, it would also be a good idea to work on art assets, design mockups, etc. so that once the engine is in a working state, they're ready to use.
In either case, you'll need to learn about the GBA to make your artwork usable. I would encourage you to learn to program yourself, even if you find a programmer willing to join you in this. It will allow you to better understand how to properly design the game and create assets a programmer can easily use.
What might be a good way to get your feet wet is to go over the the help wanted forum and find a project in need of an artist. While not as glamorous as working on your own project, it would allow you to get some experiance creating GBA and game artwork and allow you to find associates who may be willing to help you in return.
In any event, once you get into building your game, start small. Get basic tile maps and sprites working and then work on some basic controls. Start out with the empty stadium and slowly add complexity as your skills develop. Limit your goals at first to a subset of the final design and build a solid foundation. Then you can incrementally add more bells and whistles as your skills progress and the engine matures.
Keep in mind that this will not be a quick project. I've read that to really learn to program takes ten years. That's not to say that it takes that long to learn to write basic programs or even games, but that that's the timeframe required to really know your stuff. I've been coding for twenty years and consider my skillset to be about average.
#169952 - boppy - Tue Aug 18, 2009 5:09 am
Thanks so much for your reply, you basically answered the bulk of my questions, leaving me with a good direction to start. What you were saying about needing ten plus years of programming/coding experience to really know what your doing is essentially why I want to "recruit" programmers for this project.
I will definitely need to learn enough about coding as well as the gba specs and limitations in order to get it going, but I will probably take your advice and volunteer my artwork to some other projects in order to get a grasp on that part.
I'm working on some sprites right now, but I'm really worried about what kind of palette I should be using, because I don't want to spend 30+ hours on some sprites only to find out that they are completely incompatible with the gba. Anyways thanks a lot for the heads-up karatorian.
#169959 - sgeos - Tue Aug 18, 2009 4:16 pm
boppy wrote: |
What you were saying about needing ten plus years of programming/coding experience to really know what your doing is essentially why I want to "recruit" programmers for this project. |
Specialization is a good thing. If you want to be an artist, be an artist and work with programmers and the various other people that help get something made.
I very strongly recommend volunteering to help with other people's projects a couple of times before you try to start your own.
The GBA basically uses 15 color plus transparency for sprites.
I've seen professional projects toss out so many hours of work it is sickening. I suppose all unfinished projects, pro or not, end up tossing all their work...
#169962 - ArugulaZ - Wed Aug 19, 2009 3:13 am
True, but the GameBoy Advance has a total of 16 different sprite palettes, so you could have sprites with different palettes active on the screen at the same time. Even Dragon BASIC proves just how capable this little system really is... learning to use tiled graphics was quite a challenge at first, but once I got the hang of it I quickly learned that this system blows the doors off anything else I've designed games with in the past. Crisp, flicker-free graphics, a wide assortment of colors, speedy execution and a rock-solid frame rate... what I would have done to have a system like this ten or fifteen years ago!
#170459 - boppy - Mon Sep 28, 2009 12:58 am
If I was to create some sprites and backgrounds on photoshop, would I (or someone experienced in animating) be able to somehow transfer them to dragon basic?