it's actually a matter of balance... The NES has always had tons of emulators and few homebrew games, and right now this scene needs games more than it needs emulators.
In order to make games that aren't clones of well-known single-screen games like Tetris, Breakout, Concentration, or Missile Command, and in order to do so within the attention span of a homebrewer with a day job, one first needs to make tools to make games. An example of such a tool is the engine of a well-known game for the same platform. Romhacking.net has dozens of mods of Super Mario Bros., Super Mario World, and other games with editors. Some of these mods even have original coding in them. But I have the feeling that you're referring to games where every tile and every line of code come from the homebrew community.
Another example of a tool is a game designed specifically for modding. There's an RPG Maker on the PlayStation, and there's WarioWare DIY on the DS, but that doesn't help with the NES. Or is it my job to make such a game?
Sometimes some of these tools might require specialized emulators, such as a music editor that sends playback commands to an emulated NES.
Older related topics:
Homebrew complexity,
Where is Super NES homebrew?
I'm working on level creation tools at the moment. My goal is to try to modularize things, so my level editor just pumps out pretty basic stuff, and that my level compressor organizes it into a compact format that I can use. That way, I can work on making the level editor as intuitive and easy to use (for me) as I can make it, and if I decide to change my level compression format or someone else thinks the format sucks and wants to use there own it would be pretty simple to change it.
I think it's less of a lack of tools and more of a lack of will or time for people to do the work.
I get by with FCE Ultra, a text editor, YY-CHR, and Famitracker (for music previewing only).
But that's just my thought on the matter.
I agree that it's possible to do a LOT using only the tools that are already available. Blaming the tools for the lack of homebrew games is like blaming mappers for the lack of complexity in the games.
Sivak wrote:
I think it's less of a lack of tools and more of a lack of will or time for people to do the work.
I get by with FCE Ultra, a text editor, YY-CHR, and Famitracker (for music previewing only).
But that's just my thought on the matter.
Yeah. It's a grueling process. I've got a whole lot already designed in my mind, but it's the actual programming and content development that's hard to find time to do.
I agree that new emulators seem like a huge waste of time unless you're doing it for a platform that still needs one, but I don't think there's anything that can be done to entice more people to make NES games.
If we make a "platformer maker" sort of tool and people just edit the levels, graphics and music, are the resulting games really something we need? We've actually already seen what that results in - Super Nazi Mario, Mega Glitch Man, Naked Zelda 2, Naked City Ransom, Naked Metroid. The easier you make content creation, the more banal and inept finished products you get.
I think the current state of the "scene" has enough information available to make creation achievable without cheapening it. New games are significant contributions that people notice and care about. I don't know if we should bother trying to make things any easier.
I agree with UncleSporky 100%.
I had to realize for myself after many failed attempts at creating some kind of home brew game (mainly for PC in the past) that in order to be successful you must be willing to use whatever tools are available but also be willing to create your own tools to do exactly what you are envisioning for your game. So, I also agree. Besides, writing tools can be fun projects in and of themselves. Anyone who wants to mostly take shortcuts doesn't really deserve to see a project through to completion. Of course, I still have yet to finish my project. At this point though unless I or my artist dies I'm 99% confident it will get completed.
Being able to code small tools (converters/encoders/compressors, mostly) for yourself helps, but I don't think it's an absolute necessity. It may make tasks like composing music and designing levels easier, and may pack the data your game uses more tightly, but I'm sure it's still possible to make a decent game without those.
Ian A wrote:
I'm working on level creation tools at the moment. My goal is to try to modularize things, so my level editor just pumps out pretty basic stuff, and that my level compressor organizes it into a compact format that I can use. That way, I can work on making the level editor as intuitive and easy to use (for me) as I can make it, and if I decide to change my level compression format or someone else thinks the format sucks and wants to use there own it would be pretty simple to change it.
Sounds good, I hope to see that released. Can it provide a 2nd layer for hit detection, or does it deal with that kind of stuff? (yeah it can be just part of the metatile attribute, generally)
What's nice with an editor is that you can hand it off to someone who isn't necessarily a programmer. It makes it infinitely easier to collaborate with people. I thought it was great how some early NES games even included a level editor inside the game (but they really got the shaft, since the tape drive never came out).
tokumaru wrote:
Being able to code small tools (converters/encoders/compressors, mostly) for yourself helps, but I don't think it's an absolute necessity. It may make tasks like composing music and designing levels easier, and may pack the data your game uses more tightly, but I'm sure it's still possible to make a decent game without those.
I'm sure you're right. I guess in my case, I easily get frustrated with other tools so it was best for me to write my own. It was the only way *I* could really get into full swing with a project like this, I think.
Memblers wrote:
Sounds good, I hope to see that released. Can it provide a 2nd layer for hit detection, or does it deal with that kind of stuff? (yeah it can be just part of the metatile attribute, generally)
What's nice with an editor is that you can hand it off to someone who isn't necessarily a programmer. It makes it infinitely easier to collaborate with people. I thought it was great how some early NES games even included a level editor inside the game (but they really got the shaft, since the tape drive never came out).
So far it only handles basic tiles, but I'm pretty early in and I planned to put in handling for collision, palette and attributes (ice, water, etc) based on command line options. I'm not a very good coder, so I can't promise anything, but it works so far for me!
UncleSporky wrote:
Yeah. It's a grueling process. I've got a whole lot already designed in my mind, but it's the actual programming and content development that's hard to find time to do.
I agree that new emulators seem like a huge waste of time unless you're doing it for a platform that still needs one, but I don't think there's anything that can be done to entice more people to make NES games.
If we make a "platformer maker" sort of tool and people just edit the levels, graphics and music, are the resulting games really something we need? We've actually already seen what that results in - Super Nazi Mario, Mega Glitch Man, Naked Zelda 2, Naked City Ransom, Naked Metroid. The easier you make content creation, the more banal and inept finished products you get.
I think the current state of the "scene" has enough information available to make creation achievable without cheapening it. New games are significant contributions that people notice and care about. I don't know if we should bother trying to make things any easier.
I remember when CD burners began to proliferate, I was pretty exited at the possibility of great bands who couldn't afford to put out an album being able to make CDs cheaply. Most bands I saw made extremely low quality releases and tried to sell them at retail prices. (Seriously! For punk bands, no less!) Usually people who are serious will find the resources.
I do, however, consider level design, graphic design and music composition as different skills, and it's quite possible to excel at one and not be so good at the others, and tools are pretty handy if you know someone who is seriously into one of those and not so good at the rest.
I do not really believe that a lack of certain tools is related to people not making their own NES games. It's a lack off will and/or skill usually, or support roles. If you have the skills needed to make a NES game, you probably can make tools for graphics, palettes, levels, other data without a problem. I can see how you may have an issue with Sound Programming and Sound Tool programming. I certainly think that is something that all homebrew could benefit from. Famitracker is nice but not intended for game use. Support roles ofcourse would be things like artists to draw graphics.
Really if you can't make a level editor/level data format I don't think you have the ability to make a NES game anyway so tools to do that sort of thing for you just pass you on a little bit further to fail later on. If you have the skills to do it but use someone else's you make just make your own later if it doesn't have all the features you want or has some you don't like.
Again my #1 NES Tool suggestion that would help with homebrew development would be a game oriented Sound Driver + SFX & Music tool suite. Being able to relatively easily add sound to your programs as well as having a sort of standard for artists to compose for would be helpful I think.
Actually I agree on the sound driver front. I don't think it's the one thing keeping people from nesdev or anything, but it is still quite a stumbling block. One issue is that, like anything else, you can't meet everyone's needs with just one template. If you make it small and have to cut a few corners so that it can fit into most programs easily, it might lack advanced features that some people might want.
But I'd still like something better than the finicky, modified Famitracker driver we have now (versus the option of having to figure it out myself). I know Neil's working on something that promises to be interesting...
What's wrong with the Famitracker or Nerdtracker drivers? I haven't used Famitracker as much so I am actually pretty curious.
Only bad thing with Nerdtracker is that it takes maybe 8 times as much time on the beginning of a pattern, but then you're talking maybe losing only 15 scanlines or so of CPU time (it depends on what you're doing on that first line). Memory usage doesn't hurt zeropage much.
If one wants an super-optimized sound driver that takes 16 bytes of RAM and ntohing else, then yeah I guess you have to write your own, but there's no harm in dedicating a whole 256 byte page in RAM just for sound when it's available.
Memblers wrote:
there's no harm in dedicating a whole 256 byte page in RAM just for sound when it's available.
In most of my game designs I don't have 256 bytes of RAM to dedicate to sound. In my current project I have around 80 bytes in page 1 and maybe 32 or so bytes in ZP set aside for the music/sound engine, which I haven't coded yet.
I wouldn't feel good about myself if I used other peoples' code in my projects... I guess I'm a control freak that needs to know absolutely everything that goes on in my programs! =)
Memblers wrote:
What's wrong with the Famitracker or Nerdtracker drivers? I haven't used Famitracker as much so I am actually pretty curious.
How much RAM and how much of an NROM-128 does it use? I seem to remember NT2 taking 3 KiB
without sound effect support, compared to my own 1 KiB sound driver (used in LJ65 and Concentration Room) that has sound effect support but no "effects" channel.
Quote:
there's no harm in dedicating a whole 256 byte page in RAM just for sound when it's available.
I'd prefer dedicating only half a 256 byte page. For example, it could fit into an unused area of the stack if you aren't already using that for VRAM transfer buffers.
tokumaru wrote:
I wouldn't feel good about myself if I used other peoples' code in my projects
♻ I'm not afraid to reuse code, as long as I understand what it does, the space and time efficiency are right, and the license is right.
tepples wrote:
♻ I'm not afraid to reuse code, as long as I understand what it does, the space and time efficiency are right, and the license is right.
I understand. Personally I'd rather use the time I'd waste checking all of those things to develop my own version of the code in question instead. Like I said, when it comes to coding I am a control freak, I'm aware of that.
tepples wrote:
Memblers wrote:
What's wrong with the Famitracker or Nerdtracker drivers? I haven't used Famitracker as much so I am actually pretty curious.
How much RAM and how much of an NROM-128 does it use? I seem to remember NT2 taking 3 KiB
without sound effect support, compared to my own 1 KiB sound driver (used in LJ65 and Concentration Room) that has sound effect support but no "effects" channel.
Yeah, 3kB sounds about right. The data size is more important (and yeah NT2's NED files can compress a lot further - like MatrixZ's NESnake did). I figure I would reserve at least 16kB for music code/data, probably more though. With uncompressed NED's that's not a heck of a lot of music (Solar Wars' soundtrack was 16kB, not counting the DPCM samples).
I apologize if this has been mentioned before (I didn't read the entire thread before replying), but I really think the problem is a lack of public libraries.
Not the kind you read books in, but the kind that supply basic functionality, like PPU management, sound driving, controller input, that kind of thing. I already have "system code" like this that I use in my projects, and I'm working on a public release of my sound engine already, and unless I'm mistaken, Neil was working on a release of his sound engine as well.
That's good for getting the NES up and running, so next, it'd be nice to have libraries to handle game engines. Actor management with collision detection, possibly some level-loading/rendering libraries, sprite management/animation, that sort of thing.
Then, it'd be absolutely awesome to have a giant repository of free-to-use graphics and resources.
The biggest problem I personally keep running into is that it's very difficult to code a game from the ground up (including the system code), with no help, and often, it requires too much effort than what I have, and I lose interest in the project.
Quote:
I apologize if this has been mentioned before (I didn't read the entire thread before replying), but I really think the problem is a lack of public libraries.
Not the kind you read books in, but the kind that supply basic functionality, like PPU management, sound driving, controller input, that kind of thing. I already have "system code" like this that I use in my projects, and I'm working on a public release of my sound engine already, and unless I'm mistaken, Neil was working on a release of his sound engine as well.
I dont thinink this is a problem I have long done all of this stuff and yet I'm still stuck in the development of my game. The problem is coding enemies' AI and no tool can fix it.
Perhaps what is needed is an engine for things like collision and movement that makes designing object behaviors almost as easy as it is in WarioWare DIY. Nintendo has got it to the point where AI is just Action Instructions. Sure, it would be limited, probably to single-screen games, but then at least people would be able to make their own NES games with less need for obsessive dedication.
But engines are already available, just grab Megaman and change all the graphics and music. And that's what people do.
I would like a library, though. Small routines that have been tested and optimized and will be generally useful for most people. I am always worried that I'm coding the wrong way, wasting too much time in functions that are used often.
UncleSporky wrote:
But engines are already available, just grab Megaman and change all the graphics and music. And that's what people do.
Games based on those engines are called "hacks", not "homebrews", as I hinted in the first post in this topic. That's why I was trying to make my own side-scroller engine last summer before I got sidetracked by my day job and my physical fitness.
tepples wrote:
UncleSporky wrote:
But engines are already available, just grab Megaman and change all the graphics and music. And that's what people do.
Games based on those engines are called "hacks", not "homebrews", as I hinted in the first post in this topic. That's why I was trying to make my own side-scroller engine last summer before I got sidetracked by my day job and my physical fitness.
Whatever they're called, they're still easier than making something from scratch, which is why people would sooner go that route than even using a homebrew engine or game maker analogue. Hacks have shown us that if a person doesn't have to put much effort into one aspect (the coding), they'll tend to not put effort into the rest either.
Plus I have a hard time advocating a system that encourages people to not bother learning the actual mechanisms behind the game they're working on. And I probably wouldn't want to buy or even play a game that I know has been built from a simple template - I have a hard time getting into stuff from RPGMaker, for example.
Maybe the problem is lack of collaboration. You don't see any commercial video games that just have one name in the credits (though it would be interesting if anybody knew of any exceptions).
notinasia wrote:
Maybe the problem is lack of collaboration. You don't see any commercial video games that just have one name in the credits (though it would be interesting if anybody knew of any exceptions).
It's not 1 name, almost : Another world for PC. I think they were mostly 2 but one contributor. I could be wrong. I think the chances are high for older PC games.
A lot of NES games were made by a half-dozen people. It's easier to get collaboration when 1. a producer is signing paychecks, or 2. there are enough developers in a geographic area that they can meet face to face. Guess what the homebrew scene lacks: money and density.
Banshaku wrote:
notinasia wrote:
Maybe the problem is lack of collaboration. You don't see any commercial video games that just have one name in the credits (though it would be interesting if anybody knew of any exceptions).
It's not 1 name, almost : Another world for PC. I think they were mostly 2 but one contributor. I could be wrong. I think the chances are high for older PC games.
Rollercoaster Tycoon 1 and 2 comes to mind. Maybe Civilization. For sure though it can't be expected that any designer/programmer would also have done exactly 100% of the graphics and sound for any platform in any time period.
I don't think I've ever seen credits for a console game with just 2 or 3 names (I've never played atari either though).
For example, MM1 credits:
1 planner
4 character designers
1 programmer
2 sound programmers
Granted, people are using a lot more advanced tools now than back in the day, but that's just one person (in his spare time) doing a task that would normally be done by a team (9:00 to 5:00 and getting paid). I'm not saying it's impossible, it's just pretty inefficient- albeit fun, challenging, etc. And I think that's why some of the projects around here never get finished.
I think a good way to get more homebrew games out would be teamwork.
Memblers wrote:
Banshaku wrote:
notinasia wrote:
Maybe the problem is lack of collaboration. You don't see any commercial video games that just have one name in the credits (though it would be interesting if anybody knew of any exceptions).
It's not 1 name, almost : Another world for PC. I think they were mostly 2 but one contributor. I could be wrong. I think the chances are high for older PC games.
Rollercoaster Tycoon 1 and 2 comes to mind. Maybe Civilization. For sure though it can't be expected that any designer/programmer would also have done exactly 100% of the graphics and sound for any platform in any time period.
I know a guy who made and sold his own XBLA game to fairly decent success. It's called Epiphany in Spaaace! and it's basically an interactive novel.
But his second game, Breath of Death VII: The Beginning, is a full RPG and was just him and one other person.
I imagine a lot of XBLA games are made by one person.
World of Goo was made by two people, if I remember right. Incredibly successful. and lots of other popular indie games are similar in that respect: Cave Story, Spelunky, Within a Deep Forest, Knytt Stories, all made by very few people. At the most it's a programmer, artist, and a musician.
Someone needs to fix a
spec first though, or the team won't know what to do.
It'd probably be pretty hard to get a bunch of people to work together because of idea clash. I think most people who have the skills to make games, or are acquiring the skills to make them, have pretty specific ideas about what they'd like to do.
I've had problems in the past working with friends. It's difficult telling someone who's working for free that their graphic design isn't uniform enough, or the monster they designed not only doesn't fit the graphic style, but doesn't even fit the game at all.
That being said, if you had a good team together, and they can work well together, it would be possible to make something very amazing.
tepples wrote:
Someone needs to fix a
spec first though, or the team won't know what to do.
I think that'd be one of the easiest steps in the process.
Memblers wrote:
Ian A wrote:
I'm working on level creation tools at the moment. My goal is to try to modularize things, so my level editor just pumps out pretty basic stuff, and that my level compressor organizes it into a compact format that I can use. That way, I can work on making the level editor as intuitive and easy to use (for me) as I can make it, and if I decide to change my level compression format or someone else thinks the format sucks and wants to use there own it would be pretty simple to change it.
Sounds good, I hope to see that released. Can it provide a 2nd layer for hit detection, or does it deal with that kind of stuff? (yeah it can be just part of the metatile attribute, generally)
What's nice with an editor is that you can hand it off to someone who isn't necessarily a programmer. It makes it infinitely easier to collaborate with people. I thought it was great how some early NES games even included a level editor inside the game (but they really got the shaft, since the tape drive never came out).
I love games with 2nd layer collision. Its a horribly underused gameplay mechanic.