Jump to content
  • Advertisement
Sign in to follow this  
UltimateWarriorDash

SNES development?

This topic is 3619 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, I love my Super Nintendo, which I first got at a pawn shop in 2001. I have always preferred console gaming to computer gaming, especially for classic 2D games, and am dismayed that even the best old-style 2D games today are for PC, a system with (by default) no controller. Using the keyboard for movement on a classic Megadrive or SNES-style game just seems sacrilegious to me. The keyboard and mouse arrangement was meant for high-end MMORPGs and FPSs, what I think the PC does best. That's when I heard about people making modern, homebrew games for SNES. I am interested in learning to do so eventually, and was wondering if any of you know how you go about making SNES games. First-off, how did they make cartridge-based games back in the day, what with the possibly very big hardware difference between the intended console and the computer used for developing the game? For now, I know I cannot actually put the thing on a SNES cartridge and play it on my SNES, so I'd like to just focus on developing the ROM image, then playing it on ZSNES or some other emulator (I will not go further into talking about emulators, for obvious legal reasons.) There has GOT to be a way to develop the game using standard game development tools like an IDE and sprite editors, and a MOD tracker for the music (there's a music-conversion utility I found that converts XM tracker format to SPC Super Nintendo format. Unfortunately it is DOS-based and very, VERY hard to use.) Any comments would be very appreciated :) Cheers, -Dash

Share this post


Link to post
Share on other sites
Advertisement
I quick search on google found me http://en.wikibooks.org/wiki/Super_NES_Programming

Not sure if that's what your looking for. Considering you're just going to be running this through an emulator anyways why not just create a regular pc game with the old snes style? It would seem making it for snes when you're not even going to play it on one just over complicates things and reduces the chances you'll ever finish it. Plus it reduces your audience as people are more likely to install a small game than install an emulator and try to load your game in it.

Share this post


Link to post
Share on other sites
Quote:
Considering you're just going to be running this through an emulator anyways why not just create a regular pc game with the old snes style?


Looking at it from a practical viewpoint, this is not a bad idea. The only problem I have with that is, like I said, the PC usually just uses the keyboard and/or mouse for input, which I find very unsatisfying for SNES and Megadrive-style games. Also like I said before, today's PCs are very high-end, mainly designed for very powerful 3D games, not 2D retro ones.

Maybe I'm just a purist, but using mostly just software abstractions to run games that once depended on game-specific hardware just seems fake and uninteresting to me. It certainly doesn't help matters that most music for supposedly "old-school" type games are not realtime-sequenced at all, but rather just prerecorded OGG files like any other modern game. That seems even more fake to me.

I should move on before I start to ramble.

Share this post


Link to post
Share on other sites
The official development route had a proper C compiler and assembly language. They had access to development hardware, documentation, and other materials. These have all been recalled by Nintendo.

Homebrew developers don't have access to the compilers or other resources, and must rely on their own assemblers for the hardware. They don't have the SDKs and must rely on hardware information that has been reverse engineered or occasionally leaked from official sources.

For hardware, homebrew developers must hack an existing game's ROM (it involves a soldering iron) or play their creations on an emulator like ZSNES as you mentioned. Emulators themselves are not a banned topic, since they do have a legitimate purpose for homebrew development.


Google doesn't turn up very much documentation on either of these. See this romhacking.net post as one of the better links for homebrew snes development.

Share this post


Link to post
Share on other sites
UWD, you are aware that you can just go down to the store and buy a controller for your PC and then program for it right?

Share this post


Link to post
Share on other sites
Quote:
Original post by Daaark
UWD, you are aware that you can just go down to the store and buy a controller for your PC and then program for it right?


But what of the audience? Not everyone is gonna want to buy a controller for my games.

Quote:
Maybe I'm just a purist, but using mostly just software abstractions to run games that once depended on game-specific hardware just seems fake and uninteresting to me.


Haha, I quoted myself :)

Anyways, why not build a computer of limited graphics and sound ability, designed for controller use and being hooked up to the TV? In short, building your own console. I'm sure it's possible...just get a video card, sound card, disk drive, etc. (in short, everything a computer needs to run,) install Windows XP, strip down Windows to its bare essentials, and design the machine specifically for playing 2D, and limited 3D, games on it.

With a keyboard, mouse and monitor hookups, the machine could be used to develop games yourself. A developer's console.

Share this post


Link to post
Share on other sites
Quote:
Original post by UltimateWarriorDash
But what of the audience? Not everyone is gonna want to buy a controller for my games.


You're not going to be able to produce SNES cartridges anyway. So if you develop for SNES you're already requiring your audience to get an emulator to play. So long as there are arbitrary requirements to play your games, you might as well tell people to get a controller.

Or, better yet, just write a PC game and let users configure their own control schemes.

Share this post


Link to post
Share on other sites
GBA development has similar hardware capabilities as SNES but is more accessible with an active community and tools at gbadev.org. You can run it either through emulators or on hardware via flash carts (which are still sold IIRC).

Failing that, the DS is also a possibility.

Share this post


Link to post
Share on other sites
Quote:
Failing that, the DS is also a possibility.


That is a splendid idea, an idea I neglected to mention because I do not want Nintendo suing me.

My friend started programming for the DS a while back, but gave up. I will definitely look into it.

Share this post


Link to post
Share on other sites
Quote:
Original post by UltimateWarriorDash

Looking at it from a practical viewpoint, this is not a bad idea. The only problem I have with that is, like I said, the PC usually just uses the keyboard and/or mouse for input, which I find very unsatisfying for SNES and Megadrive-style games. Also like I said before, today's PCs are very high-end, mainly designed for very powerful 3D games, not 2D retro ones.


Yes I understood as much from your original post that you think they should only be played with a controller but the options you yourself admitted you had have the same limitations. Everybody with an emulator isn't going to have a controller and you yourself said you have no way to put them on cartrdiges. Anyways I think the controller is going to be the least of your problems if you want to go the pure way for this project :)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!