Originally posted by: bunnyboy
Originally posted by: GradualGames
Retro homebrew itself is growing, but...you are now getting lots of folks wanting to code in C which..has...mixed results in actual practice on old consoles.
Maybe a year ago now I was talking to their hardware guys (team #2 of 4 I think) and suggested they use clone GBA hardware. That would get a prebuilt library of games and a community with some nice C based dev tools. Throw some money into consolidating tools, and maybe an FPGA just to translate LCD signals to HDMI, and it could be a good system. Still could work, but that was around the time Mike decided it must run 4GB Unity games in 3d too.
Of course I think lots could be done in the NES side if some people put money into dev tools. C compiler could be lots better, or something like BASIC, libraries of prebuilt code, graphics/music creation, etc etc etc. Much of it is still out of reach even for those people who know C.
I am skeptical that tools for the NES could be improved such that it starts bringing in a much larger group of people. I suppose one could make it possible for more people to do "legal rom hacks" as it were, basically making games that essentially play nearly identical to one another but with the same engine. There are already efforts underway to do this, I suppose. But I think what's really valuable to game developers and players is to have something truly unique. To do that on the NES, can be quite difficult...you have to wrestle with the system every turn you take---and in ways that don't have much to do with the precise language or toolset you're employing. Every time you take a step forward, you have to take a step back somewhere in the form of a trade-off. It's extremely tough. I don't anticipate any toolset will ever be created that actually makes this process easier (except like I said, to enable "legal rom hacks" perhaps).
I'm not impressed with what I've seen from C adherants in the community, especially after trying it myself (note: I do not mean to say I am not impressed by the games that these folks have made, some are very good. I mean "not impressed" as in, I don't see it helping me personally) I believe it actually makes NES development *more difficult.* Now instead of just wrestling with the hardware, you have to wrestle with a language which is ill-suited for the system. Shiru published a list of things you should do with your C code to get acceptable performance, for example. Follow all these and you are not really coding in C but bastardized C. You have to deal with compiler bugs, too, sometimes. Perhaps code is marginally more readable, but it's going to be hugely bloated, and slow. I toyed with it for a while and quickly abandoned it because of how unebelievably awful it was, performance wise. At the end, I felt well written 6502 was much more manageable than C. So, I'm quite doubtful this situation can be improved much. The system is too constrained and too slow for a high level language to produce enough benefit to be worth the effort. Some folks appear to be masochistic enough to continue to pursue it, however!
To really make retro game development accessible, via a higher level language, fewer hardware constraints, etc...I agree, they'd have to clone something similar to the GBA...glad to hear I'm not the first person who has been trying to talk sense into them.
I really think a "new retro console" is a viable product but it would have to create a market for itself gradually. The first audience for such a system would be hobbyists who want to program it---no games (besides a few demos) would need to be available directly at release. From there, it would be up to the newly created community surrounding the system to get creative with it and make games that are good enough that casual game players would want to buy one just to play the games that are available. I think this process could take some years, but...I think it has potential if marketed correctly. I go back to the "raspberry pi of retro game development." Not all hobbyists are hardware hobbyists. I'm definitely not. I'd much prefer a machine that's already in a case that already is set up for playing games and has a nice SDK for development. I go back to the fact that there are TONS of indie devs out there who can't make it on steam...or their games are free or on humble bundle. I bet a large number of those folks would love such a system.
If somebody made something like this, I'd definitely back it and get a system to mess around with, in the hopes that a community would form and I'd have a way to share my creations eventually. Of course even this is problematic. As a homebrew developer for existing consoles there's no hurdle of "needing to create a community where there was none before" and "needing the community to get so large, and make so many good games that gamers want to actually purchase the system."
While I'm fond of this idea, even if someone pursued this more realistic path I fear at the end would be nothing more than a "better uzebox" as I said above---with a tiny community and not that many gamers willing to purchase new games.
I'm probably taking for granted how much nostalgic capital enables me to even share my games with others. If I made Nomolos for steam or any other modern platform, it would have been completely ignored and forgotten almost immediately. Create a new system and suddenly the demands would be much higher: What are you going to show me that would make me want to buy this system? What's new about it? What's new about the games? Why shouldn't I just get a refurbished SNES or NES? ...*edit* The only thing I could think is, if someone did make the "raspberry pi of retro game development," it'd need to be about 35$. Then, I think this plan could work....
I keep trying to think positively about this idea, as one last ditch mental effort to give the Coleco Chameleon folks the benefit of the doubt (which they are making extremely difficult with their apparently deceitful shenanigans), but...I really think the very premise of a new retro system is flawed and not likely to take off. Probably beating all these things to death at this point! (driven by my wish to code games for pmode DOS again....haha. Which I suppose I could do with dosbox, but that's lame. I want my stuff to run legit on real hardware!)