This post on Pocket Heaven details what drove koitsu away from the NES scene. Is there a chance that we could fix the problems he mentions so that we don't drive anyone else away?
His main complaint seems to be that the technical information about the NES is getting more accurate. If that's why he's not interested in participating, then that's really his problem. I hate to see anyone get frustrated and leave, especially someone who's contributed significantly to this scene. He says that the current state of emulator knowlegde is "borderline electrical engineering" and he's not interested in it. That's fine, he can do what he wants, but embedded systems like consoles involve EE principles, and unless you're modeling them at a very high level you need to understand that stuff. Anyone waiting for the NES to become less complicated is wasting their time, so it sounds like he's made the right choice for him.
Having centralized and clearly written documentation is obviously lacking right now, I think the wiki is our best shot at that. Maybe instead of answering tech questions in the forums, we can point people to the appropriate place in the wiki, updating it if necessary.
* Attitudes of freelance NES developers and those providing information for nestech. There is a certain attitude presented which is very difficult to describe... it's a combination of "You don't know jack shit" + "I do not show any form of emotion when communicating with you" + "I will present my knowledge in a form that supercedes your existance". I can't say it's an ego thing, because it doesn't really seem to be. It's just a personality trait a lot of individuals have in that "scene", and I just can't deal with it.
I think that's funny that he said that. I always thought I was the dumbone who was the only one confused after having things explained to me 1600 times. It's too bad that he gave up nesdev. Hopefully these forums aren't abandoned by the time we all master nesdev...
I agree with the loopy doc thing. Does anyone besides loopy understand what that thing is trying to say? If you do please rewrite it so that it makes some sense and even explain why it doesn't make sense to me so I can research what I didn't know that made it so confusing. EE is important but these documents should be written as they apply to development. If they only apply to hardware modification or creation then just say that. Someone should also compile a list of what is needed to get a game to work on real hardware as that is for the most part the point. If you are developing solely for emulation then it's probably a waste of time. I'm not saying everyone has to own a devcart or anything like that. It'd be nice but it doesn't always work out.
Yeah... I guess I feel like that sometimes too... I mean, it took me nearly 2 years to understand loopy's scrolling doc, from the 1st time I read it to the day I finally understood it, wich was a couple months ago, with the help of people in this board. It is not actually any hard, but it can, and should, be explained in a better way. I suck at writing technical docs, so I won't dare to try...
I don't know anything about electronics and stuff... I'm a programmer, and what I do understand is LOGIC. Many newer NES documents do lack the logic in favour of inner hardware workings. It may be helpfull to some people, but certainly not me.
However, I feel there is no point in "dumbing down" the documents so that everyone can understand them (in fact, there is no such level, there will always be someone that doesn't understand something!). Maybe we should have as many versions of the documents as possible. Maybe anyone who feels that something can be explained better should give it a try and write their explanation. But then, if someone gets something wrong, it will be chaos, and we'll have lots of wrong info floating around.
Right now, I feel there is really little info on sound programming. I don't know anything about sound or even music (I pretended to play when I was at music class in the 3rd and 4th grades!!). There is no document that can get me iniciated in that area in a simple way, and I guess I'll NEVER have any music in my games/demos. Never. I have no idea of where to begin.
So, I really don't know. There will always be someone saying they don't get something and there will always be people trying to explain stuff the hard way, or pointing them to the same docs they already read and didn't understand. Not everyone has the patience to start from the beginning, use examples and such.
I really don't know where I was trying to get with this post! Maybe nowhere... but at least I got to talk a little about what I think... This place has been kinda quiet lately, and I miss talking about nesdev, even though I haven't had much time for actual nesdev'ing, with a new job and all... have done a lot of actionscript'ing on the other hand, wich is not nearly as fun...! =)
Tokumaru
Quote:
There is no document that can get me iniciated in that area in a simple way, and I guess I'll NEVER have any music in my games/demos. Never. I have no idea of where to begin.
Check out
FamiTracker or
NerdTracker 2 or
MCK
Anyone can re-present the information in a way that suits a particular audience. The hardware description is fundamental; everything else can be derived from that. The reverse is not true. I can identify at least three uses, from most detailed to least detailed:
- Developing hardware for the NES
- Emulating the NES
- Programming the NES
Hardware developers need to know details that are irrelevant to emulation and programming. Emulator programmers need to know details that NES programmers don't need to know, other than to avoid depending on them. Since the majority of people are not doing hardware development, most people would be satisfied with a description of what happens in response to things the CPU does.
Eventually I'd like to put together a guide for NES programming that shows ways of doing things that avoids subtle problems, but without bogging things down with a description of the problems themselves. One thing sorely lacking is a way for a newcomer to tell what information is central and what is peripheral. Currently it's just a mess of details.
The thing that really puts me off is the lack if distinction between original raw data, original interpretations of this data, and compilations of these that have no new information. I didn't even know that the MMC3 and MMC5 had clear documentation until yesterday when I found kevtris's documents.
Which MMC3 doc is that?
I've only seen the MMC5 doc.
Having programmed C64 stuff, I'm familiar with the 6502, as well as the SID and VIC2 chip, all of which is very well documented (offcially).
I've just recently gotten into programming the NES's PPU, and must say that I'm not sure which docs to start with. (I've even been told that some are incorrect, and there's nothing worse than using incorrect information).
I remember the time when the only available info was too abstract at best, and even if that made the NES mysterious and intriguing in a sort of way, I sure prefer the situation now, when things have been carefully detailed at the hardware level. And I am forever thankful to the people who actually took the time to reverse-engineer the hardware, rather than just checking what different games expected the registers to do. Besides, the NES is more or less what got me interested into electronic engineering in the first place, and I'd say there's no more enjoyable way to learn EE basics than soldering up a devcart for your favourite videogame console. =)
That said, I see the reasons for having simpler documents that skip many of the technical details and deal with how to write simple code for it. But if people feel such information is missing, I'd say it's up to them to write it. After all, the people who are being bashed for writing "borderline electrical engineering crap" won't be good at writing a "NES programming for dummies" compilation, nor should it be their responsibility. A lot of the people complaining about the lack of such documentation are obviously competent enough to write it themselves. And if you worry about it adding to the pool of incorrect information, have it reviewed by people who know the details of the NES. Emotionless as we may be, most of us are happy to help out.
But I cannot stress this one enough: if you want to learn how to program a console, the only reasonable way is to EXPERIMENT on it. If you're unsure about how a register behaves from viewing a too detailed hardware description of it, then poke it and study the results. Then go back to the document, and it'll hopefully make more sense to you.
As for the question in the initial post, it's hard to give an answer considering the mix of different reasons Jeremy gives for "quitting the scene". But personally, I'm glad he left. At that time, his bitterness and self-righteousness had grown beyond reason. Newbies joining #nesdev for the first time were being interrogated by Jeremy on 6502 machine code, getting banned if they didn't prove themselves worthy by having learned enough before joining the channel. Or if they were just too young to have lived during the NES's golden era, for that matter. If anything, this elitist attitude is what would ultimately scare people away.
Already being IRC-friends with most of the people who have provided the "too detailed" information docs, I may be somewhat biased. But IMHO, the talk about them not being friendly enough is BS. Without people like Kevin Horton to patiently answer my EE questions, I'd have a much harder time learning the stuff I wanted to. And if they sometimes might have a paternal attitude towards you, I can live with that. After all, I'm the one asking to get lectured. :)
Nowadays, people don't get banned or insulted from not having read enough docs before asking questions. (even if they might be politely forwarded to that information if needed) And people aren't being called "niggers" i #nesdev anymore. Even if the information you seek is now scatthered among several individuals with their own docs and not having someone compile them into an easy-to-read document is indeed a loss, the price to pay would have been higher otherwise, as most people probably prefer "emotionless" communication to one full of negative emotions.
I respect Jeremy for having devoted much of his free time to maintaining a good document that helped me a lot when I wanted to learn how to program the NES. This is hardly "stealing information" in my vocabulary, but rather a honorable effort often not appreciated enough. And for generously providing the webspace needed to keep this wagon rolling.
But I think leaving was the right choice for him, and reading the linked post proves it further. He seems happier now, and far less bitter and hateful. Maybe he indeed has some points in his criticism of the current state of the nesdev community. But that Jeremy "you're a fucking nigger who just wants to get spoonfed and doesn't deserve our help" Chadwick has now become the spokesperson for people who find the nesdev community unfriendly, is ironic to say the least.
Seems I got logged out while writing the post above. And even if some people could probably figure out who wrote it, it's better to leave the nameguessing aside.
If I had the time, I'd probably help out with a tutorial from the perspective of an NES software programmer. Would this chapter outline make sense?
- 6502 tutorial
- NES Basics (covers iNES format, tones on channel 1, and controller reading)
- NES PPU Basics (palette, pattern tables, nametables)
- Basic Mappers (CNROM, UNROM)
I'd recommend teaching the basics of 6502 assembly language on a slightly less forbidding environment before graduating into making ROMs for Nintendulator*. Should we use a C=64 emulator, an Apple II emulator, or head straight to Nintendulator?
* Nesticle sucks. Nintendulator sucks much less.
I'd change this:
*Nesticle sucks. Nintendulator sucks much less.
to
*Nesticle SUCKS. Nintendulator does not suck. At all. 99.8% accurate. As apposed to Nesticle, which is 4.5% accurate.
And yes, your chapter outline makes much sense. And I would like to help out with writing a document for begginers, but I'm afraid the information I supply would be horribly inaccurate. And I don't know crap about NES hardware. I think a document like NES hardware for begginers would be very helpful. And perhaps a document on making a cart. I think that would be very useful to newbies. Those would be really useful, because there is no such thing at the moment, and people have to learn all this crap from scratch and the people that know this have to get annoyed answering questions left and right, so I think there should be a document on this kind of stuff. I would even find it useful, because I really don't know much about Flashroms/EPROMS/EEPROMS and I really don't understand the concept of adapters, what the heck are they even for? and how the heck to you know if you need one? If this was explained in a document, that would be so helpful to the NESdev world.
Celius wrote:
*Nesticle SUCKS. Nintendulator does not suck. At all. 99.8% accurate. As apposed to Nesticle, which is 4.5% accurate.
Now how did you get those figures?
tepples wrote:
- 6502 tutorial
- NES Basics (covers iNES format, tones on channel 1, and controller reading)
- NES PPU Basics (palette, pattern tables, nametables)
- Basic Mappers (CNROM, UNROM)
maybe exchange iNES with UNIF or add it to NES Basic?
tepples wrote:
I'd recommend teaching the basics of 6502 assembly language on a slightly less forbidding environment before graduating into making ROMs for Nintendulator*. Should we use a C=64 emulator, an Apple II emulator, or head straight to Nintendulator?
For learning 6502 assembly I would strongly recommend Michal Kowalski's 6502 simulator (
http://home.pacbell.net/michal_k/6502.html). I think it is good becouse you can abstract from ANY hardware details and focus entirely on the logic. Also, it requires no setup whatsoever, just type and run.
However there is one aspect wich I'm not sure if it is good or bad. The simulator has tons of debugging features, meaning you can see exactly what your code does/did, but there is no actual graphic response to the code, wich people might find boring. Well, you can map memory to a text display... text isnt much fun, but it is better than nothing.
I really think we should abstract from machine-specific details at first, as people who have never had contact with low level programming (or with programming at all) may get both things mixed up. I know I mixed things up a little when I was first learning to program the NES.
We must make it very clear for beginners: the 6502 is a CPU, it works like this and that, and it happens to be used to control the hardware on the NES, but any other processor could have been used.
Hyde wrote:
Celius wrote:
*Nesticle SUCKS. Nintendulator does not suck. At all. 99.8% accurate. As apposed to Nesticle, which is 4.5% accurate.
Now how did you get those figures?
I just made those up, though I think I did hear that Nintendulator was 99.8% accurate somewhere. I was just making fun of nesticle, though. haha.
tepples wrote:
If I had the time, I'd probably help out with a tutorial from the perspective of an NES software programmer. Would this chapter outline make sense?
- 6502 tutorial
- NES Basics (covers iNES format, tones on channel 1, and controller reading)
- NES PPU Basics (palette, pattern tables, nametables)
- Basic Mappers (CNROM, UNROM)
I'd recommend teaching the basics of 6502 assembly language on a slightly less forbidding environment before graduating into making ROMs for Nintendulator*. Should we use a C=64 emulator, an Apple II emulator, or head straight to Nintendulator?
* Nesticle sucks. Nintendulator sucks much less.
Yes, I think some documentation for us newbies would be awesome! I tried following joker21's "Programming that 8-bit beast of power, the NES," and didn't end up getting past nametables. I feel it's pretty tough to follow along. According to the top of the document, that was originally in a zip file with some other docs/tools. His site seems to not be there anymore, as well.
I'm gonna give that simulator that you posted a shot, tokumaru. I can't seem to find anything that I feel comfortable with experimenting in, so maybe this will really help. Thanks
If someone could add PPU emulation to that simulator, we would have an awesome dev tool. The source code is available too on his web page. Maybe (if my C skills improve), I might consider it as a project down the road.
I find that simulator pretty handy. Everytime I need to test a standalone routine I run to it. It's very usefull when programming math routines like division or multiplication, also when programming data compression/decompression routines... well, routines that are hardware independent, and can be tested separetely from the rest of the code.
In fact, I use that simulator for everything. I do all my nesdev'ing with that tool, as it can export assembled binary data. I think it is a very good learning tool. It helps you understand all the aspects of the processor, since you can view the memory, the stack, the registers, the flags without having to compile a ROM for this. You can see how each instruction affects the flags, and other stuff that is hard to get just by reading. It is a very good "do it yourself" kind of tool.
But I don't think adding PPU emulation to the simulator will be any good, because it would not be accurate at all if it didn't emulate ALL aspects of the PPU and then it wouldn't be a simulator anymore, but a NES emulator with strong debugging tools.
It would be great to have an accurate emulator able to assemble your code and run it on the fly, with debugging features for the CPU and the PPU. But that is just a lot to dream about....
tokumaru wrote:
but there is no actual graphic response to the code, wich people might find boring. Well, you can map memory to a text display... text isnt much fun, but it is better than nothing.
The 6502-based Apple II and Commodore 64 as well as the 8080-derived[1] IBM PC, ZX Spectrum, and Game Boy also use a memory-mapped text display, except that on all systems except the Apple II, you can change the font glyphs to arbitrary graphics.
[1] The x86 and GBZ80 are spiritual descendants of the Intel 8080.
Quote:
But that Jeremy "you're a fucking nigger who just wants to get spoonfed and doesn't deserve our help" Chadwick has now become the spokesperson for people who find the nesdev community unfriendly, is ironic to say the least.
Just for notation purposes: this is a perfect example of the "you don't know jack shit" + "I do not show any form of emotion when communicating with you" + "I will present my knowledge in a form that supercedes your existance" attitude I mentioned in my PocketHeaven post.
If I was really all that unfriendly, I wouldn't keep Parodius running for free, and do my best to try and make a very tiny portion of the 'net a better place.
The rest of what you say is mainly based on IRC antics. I take general IRC as pure, raw entertainment, and absolutely nothing more. God, if #nesdev is the centre of all opinions, then I guess I really *AM* Hitler like TNSe said!
quando omni flunkus moritati...
Anonymous wrote:
Check out
FamiTracker ...
I've wanted a tool *exactly like this* for nearly EIGHT YEARS. Nice to see someone actually took the initiative to make -- and maintain -- such. Source code available to boot...
<3
Quote:
Just for notation purposes: this is a perfect example of the "you don't know jack shit" + "I do not show any form of emotion when communicating with you" + "I will present my knowledge in a form that supercedes your existance" attitude I mentioned in my PocketHeaven post.
Hardly. It's just that I find it amusing that you, of all people, are accusing people of behaving elitist towards others.
Quote:
If I was really all that unfriendly, I wouldn't keep Parodius running for free, and do my best to try and make a very tiny portion of the 'net a better place.
Like I said in my post, I have no desire to belittle your contribution to the nesdev community, and that certainly includes keeping this place running for free. (which I also explicitly mentioned) People have their good sides and their bad sides. The problem was the latter one was getting the upper hand. You were scaring away a lot of people, some of who would later provide us with the detailed hardware docs we have today. (and trust me when I say that many of us are forever grateful for these bordeline EE docs)
Quote:
The rest of what you say is mainly based on IRC antics. I take general IRC as pure, raw entertainment, and absolutely nothing more.
Even if bullying and banning visitors in #nesdev for asking too simple questions might be highly entertaining to you, that doesn't compensate for the damage it does. And this didn't just apply to the IRC channel. It is not my intent to nag about 6 years old stuff, but if you claim elitist attitudes were your (partial) reason for leaving the nesdev community, then you seem to have a highly selective memory.
It's a matter of opinion, Ban. If you base your entire personal opinion of me on my IRC behaviour, then there's absolutely nothing I can do to "redeem" myself, because that's all of me you've seen. I won't lose any sleep over it, and nor will you. Such is an endless loop...
Not to take focus away from me, but MickoZ is in the same boat I am with #nesdev -- banned+kicked+removed "for life", due to his behaviour in the channel. I've pointed him to this thread, so he might chime in with some historic references of his own (he likely has a very different memory of things than I do). But I sincerely don't want to make this thread into some flame fest (it's starting to border on that, but I think all of our intentions are good or neutral -- we're just discussing and reminiscing... if it gets worse, I assume Memblers will lock this thread).
Anyways, I'm beating a dead horse.
For what it's worth, you're one of the few who doesn't present that attitude I mentioned. You were always a lot of fun to talk to, and you're enthusiastic in the way you communicate -- you didn't communicate like an emotionless robot, and you use emoticons to express your tone of intent. I think, generally speaking, the community could use more of that, but like my post on PocketHeaven, my opinion is just that of one man. I'm no more or less important than anyone else.
I honestly would've hoped that most would've read my list and concluded "Okay, so it's his own experience... but what matters in the end is that he's happier doing what he does now than what he did before".
I'm generally happier solely playing NES/FC games (rather than focusing on development), but I'd be lying if I said I "miss" anything on IRC. I'd also be lying if I said I didn't miss some of the challenges of console dev; but I have other challenges in my life now which take precidence. All the (very few) true friends I made from NES development work I still talk to on a daily basis; as for the rest, well, I have my memories -- good and bad. Life goes on, and I'm getting too old for this kind-of thing...
Well... it wasn't my intent to invalidate your own experience. I suppose I got upset when seeing this story being told i a way I didn't consider truthful.
My first impression of you wasn't very positive. But when I got to know you better, I came to like you, and consider you a friend of mine. But at the time you left, you obviously weren't very happy and were taking it out on others. You kept bullying newcomers to the #nesdev channel, often using racist language. One of these I met IRL and knew to be a nice guy, if somewhat "teenagered". I tried to defend you and your behavior, but found myself disliking it more and more each day. In the end, I gave up trying to defend you and did my best to ridicule you instead. The last time we talked on IRC, it wasn't on very good terms. That was 5-6 years ago and we haven't talked since. Which I kind of regret now. Last impressions also last, even when they shouldn't.
I can relate to what you say about being happier just playing NES games than doing development. That's mainly what I do nowadays as well. But fortunately, it hasn't made me feel the same way about the time I spent learning what goes on behind the scenes in my favourite games. I'd almost say I enjoy them more when knowing how things like the cool vertical parallax scrolling in the Mega Man 2 intro really works. I also like to read these forums from time to time, talk to old friends and help others test their stuff and improve their code, just by proposing the wild ideas I no longer care to try out myself.
I've also started (a very slow) development of a puzzle game which I hope to make for the NES. Besides thinking a lot about what elements to add to make the gameplay more fun, work on it mainly consists of learning to draw nice low-color graphics, something I've always wanted to do but never took the time to learn when all my focus was on becoming a "l33t" coder. It might never see the light of day since it competes with lots of other hobbies I have nowadays, but for once I'm focusing on designing a fun game experience rather than just pushing hardware limits.
Even if I suspect your note about famitracker was directed at me, I'll be the first to second it. I've kept wanting to see a better tool for making NES music developed from scratch ever since I definitely discontinued my own tracker 5 years ago, even planning different formats and user interfaces myself, but never finding the motivation to start a new project to maintain, since I've realized I now value spending time doing non-computer related stuff with other people IRL much more than getting credit from people I might never meet. So I'm relieved to see someone else take the responsibility I stopped enjoying. There's still a few areas where NT2 does a better job (namely melodic dpcm) but I'm hoping jsr will fix these soon.
Well, I've been mostly rambling on about myself for the last few paragraphs. But last I'd like to say that I AM glad to hear you're happier nowadays then you were back then. Like you said, that's what really matters. I didn't mean to put you down, but I felt I had to give my side of the story.
And btw, if you'd still like to see your FF2j intro work on a real NES, I could check out your source and see if I can figure out what the bugs are.
I am always afraid that when I post here with a question, someone will tell me I don't know crap, and forward me to the qbasic site, or 6502 for begginers. And I HATE it! I try to be newbie friendly, because I know what it's like to be a newbie. And I got to figure this out all from scratch. Nobody told me about making NES games, I just googled NES developement tools, and I found this site. I was surprised that there even were people that were in to NESdev when I found this site. I didn't know crap about programming when I came here. Now I do, though. I try to be newbie friendly, because I really think it sucks when people tell you you don't know anything, and it makes you feel like crap. And when people tell you you don't know anything, they don't think about how that will make you feel, because somehow, they were never newbies, they were never treated that way, and it IRRATATES ME! How the heck did everyone figure all this out!? Everyone knows about how many cycles the cpu blah blah blah scanlines blah blah megahertz blah blah, and I just don't get it! There was no document on this, they all somehow just obtained this knowledge from god or something! ya know?
I think a lot of the history of NES is in the archive of
nesdev@Yahoo! Groups.
But seriously, I think people should update the wiki more often so that we have somewhere to point newbies.
I think no newbies should ever be discriminated or something... after all, EVERYONE has to start things from the beginning. EVERYONES has been a newbie at something at some point in life.
But sometimes, beginners try to advance too quickly, and telling them that is a task for the more experienced. If someone that never programmed before, that so far has only used the computer to write documnts in MS Word and to navigate the net, pops out from nowhere wanting to program a full-featured RPG for the NES, someone has to tell them it doesn't quite work like this.
It's just wrong to say "You're a stupid idiot, you'll never accomplish that!". But it's OK to say "Look, this is a little too much for you right now. Why don't you try something simpler?".
I can say that because when I started programming I had such BIG projects but could never finish them. I never got to finish any of them, 'cause I was trying to move to fast. Today I know that I could never had finished them anyway, with the knowledge I had. The sad thing is that now that I can think of ways to implement all the aspects of a game in my head, I lack the time to actually do anything. =(
The thing is: If someone doesn't know X, he can't go and try to do XYZ. He has to learn X, then Y, than Z. And nobody can help that person through some sort of shortcut, as there will be many important things the person would have learnt by trial and error.
I mean, a tic-tac-toe kinda game may seem unoriginal and pretty boring to program (and even play), but the concepts one will get from doing that will be of MUCH help when working on larger projects. A person can learn about movement based on controller reading, restriction of movement (simple collision detection), basic animation, simple maps, by working on a simpler game... but these are all essential concepts needed for larger games.
I don't think people in this board mistreat newbies/begginers. The people here are pretty helpfull, and much more decent than the ones we can find on larger forums/boards around the net. In many other places people are so extreme with beginners, and here they are very forgiving.
The same questions are posted here over and over and there is always an answer for them. Some other places would ban someone that asked a repeated question for a while. I don't think this place is bad at all when it comes to respect for beginners.
What irks me about some newbies is an apparent lack of effort in understanding what they're doing. Teaching someone benefits the teacher as well as the student. Doing something for someone who doesn't want to understand (but acts like it) benefits neither party. On the other hand, good teaching materials go a long way even if someone doesn't want to understand how something works.
I was a newbie to NES development a couple of years ago, but I'm the type to give a good effort at understanding something before I ask for help. Each time I approach some new aspect of the NES, I gather materials and then slowly experiment. If I rushed things I would build only the illusion of understanding based on coincidences, that would eventually collapse. I guess when I started programming in C about 12 years ago I was rushing things, trying to make scrolling games. I look at that code now and shudder. :)
Yeah, I always loved platform games and that was the first thing I ever attempted to code, when I first made contact with the world of programming, about 9 years ago. Code from that times does look pretty bad, indeed!
I'm not as old in programming as you are blargg, but I think we were both learning it before there was THE internet. Back then, we were pretty much on our own. Back then, there was no place to cry for help. That may have contributed to the "experiment before asking help" attitude, as there was no way to get the help.
So, I guess there may be a new generation of newbies now, that aren't as eager for learning as they are for results. If some of them could cut'n paste everything, I bet they would.
But what good is it to have a "finished" game full of glitches because you didn't understand half of the stuff you did/used in the game? If it ever gets finished, 'cause most of the times it doesn't. If you take a look around the NES scene, even the most experienced coders haven't completed a game, and the ones that did, did simpler games. It's no picnic to finish a full-featured game on your own. And it gets even harder if you have a "real world" life, with jobs, relationships... AND if you are a newbie.
Enthusiasm is not a bad thing, that's for sure, but people have to be aware of their limitations as begginers, and at the same time make efforts to learn and break free form them, as knowledge comes from studying and hard work, not from plain reading or simply from time.
Rushing things can never result in quality software.
PS. is it just me or are we getting a little bit offtopic here? =P
Well, I think making one single full-featured game is very hard, but making two isn't harder than making one, if you see what I mean. Once you understand the concept and once you made all your engines... It will be much simpler and faster.
Personally, I learned basic long ago with Visual Basic and my C64, then I moved to NES progamming... But heh, I did the fatal error to direcly have an RPG as my project... I think I'll finish it someday, but now I'm working on a simpler game, simply because it was too hard and because I haven't enough programming experience.
Scince doing "tic tac toe" games are really boring for newbies, I think make techdemoes is much more interesting and effective. Still, "big" projects are a lot more interesting to design and to realise. I simply think people should be more assiociative, and exchange code, advices, and associate them to make decent games... Making a large game alone is very hard, but making one with friend would be much easier.
There should be a system where someone could say "Hey, guys, I'm making an RPG, to make thing fast up, could someone help me to programm my battle engine, while I do the field engine ?" for example.
Then, the roles could be reversed, the master would become slave and the slave would become master, so the guy that directed the RPG could help the guy that did his battle engine to make a platform game, for example.
Everyone has to be cooperative, and interested in global projects instead of his own project.... this would simply be better.
Quote:
Everyone has to be cooperative, and interested in global projects instead of his own project.... this would simply be better.
I second that!
Are we thinking of reviving the nesdevproject (the RPG that got halted)?
dXtr wrote:
Are we thinking of reviving the nesdevproject (the RPG that got halted)?
I wasn't around when that was first started, but such a project now would be very nice. I would be very interested in contributing somehow to a group project.
I think the main problem with this projet, is that it is actually designed by everyone. It's interesting, but everyone has it's own projects in mind. I mean, the typical guy with a project in head would be happy to have someone contribute to programming, but not someone meging it's ideas with his precise ideas. I think we shall make project with one or two designers, and much more relisator. The "designers" would be rather called director(s). The roles of the director(s) is to determine simply how would be the game, how would be the scenario, the gameplay, the story, witch mapper it uses and how it would hardwarely work, etc...
Then, under his/their orders, a bunch of other people would help him/them to realise the game, code the engine, and make music, graphics, etc... But I insist on under his orders. Because a project would work less well if everyone has it's own ideas that are different or opposite, and it would eventually get suck. Of course, it may seem less fun to code the game of someone else... but it's still not terrible, scince someday it may be the opposite, so the man that programmed the engine or that did the graphics under the order of another man could, himself, become director and command the other one to work for him.
Personally, I've a big RPG project with a friend of me, and we decided more or less how the story would be, how the four heroes would be, and I've "tried" to start programming... I'll restart it someday, sure, but I'd be happy if someone would make the field engine, programm the menu, and do the graphics under my direction. But I don't really want them to change how the heroes would be nor change the story, etc... Of course if they have fair ideas, they can sill mention it to me, then I'll decide if they are aproved or not. It's pretty much like this that "official" gaming companies works.
Also, the same engines would be possible to use from a game to another game, but customisation *should* be possible. I mean, once a big RPG has be made, another once would be made faster scince there is already a field engine, an event engine, etc... But the director certainly want different features than the previous director, so it would need some changes, and that sould be possible without re-programming the whole thing.
For example Contra and Life force uses a similar scroling engine, but one is a space shooter and the other one a platformer, so Konami didn't use exacly the same engine, but only part of it (scrooling), while the gameplay is totally different.
Here you are some ideas. I have an RPG in mind (in addition to the simpler game I'm making), Tokumaru has at least one platformer in mind, Celius had several games in mind, espectially FFVII version NES that won't be easily realisable, and he's sill new to programming, but I'm pretty sure he don't want someone that would change his main ideas, but he probably would be happy to have a bunch of people helping him at programming and giving fair ideas without imposing him to agree, if you see what I mean.
So there are enough potential directors to start. It's just better for every one to have a leader rather than having everyone giving it's own ideas and the final product eventually turn into gabarage. May seem military, but I'm pretty sure it would work better.
I don't know if I am really happy with this concept of directors... We surelly need some coordinator for the project, but not some sort of "boss" that will tell everyone to do what's in his mind. I agree that nobody will ever want people messing with their characters and story, and that's why I don't think a group project should come from our personal projects.
It should be started from the very bottom... People could brainstorm ideas for the main storyline, and we'd all vote to get a winner. Actually, before the storyline we should vote for the style of the game! But RPG will most likely win, wich I'm not that happy about, but can live with.
If we keep voting for every aspect of the game, wich we're building from the ground, no one will be upset for having their dream project screwed over. This way it may take a little longer for the actual start of development, but it will be worth it.
When most things are decided, every one would say how they want to contribute and the tasks can be distributed. Some thought must be put on how this thing could work, but I believe it can work. It doesen't hurt to try... We may get faster results like this than working by ourselves...
tokumaru wrote:
If we keep voting for every aspect of the game, wich we're building from the ground, no one will be upset for having their dream project screwed over.
Actually I would. I'm not really against such maneers to set things up, but I simply can't be happy with that. Because if there is vote, that may seem that there is more than one idea, and if there is more than one idea, that may seem that my idea may be refused for a game that originally started by me... I can't be happy with that. I have my own RPG in mind, I'm really not against people helping to set things up, as I'm not against helping someone else to set his thing up, but I'm really against with someone coming and merging his idea with me to eventually got it misplaced and not really what I originally had in mind. That wouldn't mean that his ideas are bad, but that would mean that they would fit only in a second project and not in the same game.
Well, a game designed by two or three people would be okay, but no way anything decent could be designed by fourteen persons. I mean that this would go in all direction and the group will eventually have tensions in it with people disagreeing by the idea of another one or by the bad quality of realisation of something in function of their original hopes, and the group will get suck, and the project too. However, if a small group or a single person ask people to help with precise ideas in mind and explain them correctly what they are waiting from them, this cause no problem.
Well, Bregalad, the thing is I don't think it should be someone's game. We'll start from the ground. You are not going to suggest we use your RPG idea, wich you have been thinking about for so long. We'll all just go like: "Hum... I want a outer space themed RPG" and "We should do a medieval themed RPG!" and so on... Then we'd vote for a winner. Then we'd begin formulating the characters and storyline from there.
I agree it is not productive at all to have a huge bunch of people deciding on every little detail of the game, but everyone should contribute for the general theme and feel of the game. Then the writters come in and make the actual story. Only a few people will work as writers, so there will not be such a big confusion.
I'm just saying. I can't be sure this would work, and I don't think many are up to the task. The manager of the project would go crazy. Many beginners/newbies may want to join, but then there is a limit to how much they are able to contribute, and then we'd have a large number of members in the project and not be able to divide the tasks evenly and move on with the thing at a reasonable pace.
I don't know... The idea seemed nice, but if everyone thinks it's such a bother there is no point in trying it. You guys probably learned something from the last experience. It may have gone really bad that no one wants to try it again, or maybe you could use previous experience to enrich the next one. I really don't know what happened the last time.
Not many people have manifested anyway, there doesn't seem to be much interest on it...
You now what? I think I got excited about this cooperative thing in the first place because I don't know one single person in real life that appreciates this kind of thing. Game programming, I mean. Specially on old consoles like the NES. Some people actually give me some ugly looks when I say I make NES programs. Everyone here thinks the NES is such a bad and ugly game system...
So, having the chance to work along with people that can see the magic on old consoles, specifically the NES, seemed really nice.
My relationship with the NES is really weird. I never owned one, and always thought I was in a better situation then my friends because I had a megadrive/genesis when they all had NES's. I bought my first NES/famiclone when the Dreamcast was already out for a long while (maybe even the PS2 was already out!), after I fell in love with it's games, wich was at the time emulators became popular.
Soon I decided to program for it and here I am now. Everyone I know underestimates the NES and it is nice to be here, in a place where everyones loves the old little console. I really love the damn thing, since I have no nostalgia whatsoever.
We'll probably need at least a game engine demo before any of this RPG development can happen.
I wouldn't personally go for an RPG... I said it would probably be the most voted choice for game type, since there seems to be so many RPG maniacs here, but it doesn't have to be one. It would have to be what people voted for, wich would *probably* be RPG.
Nah, leave it. It was just stupid to get excited about it. Just leave everyone with their own projects...
Well, for a such cooperative project... I simply couldn't choise in witch department to work. Because there is not a single department where I'm not exited about. I simply couldn't make programming for a game and let someone else take care about the story or something... I simply couldn't support that. I want neither design the whole thing or help someone else to design his whole thing. You know, a game is really great when all it's aspects (music, graphics, stroy) mix up to make a gigantic aspect, so the game has it's own style of music, his own style of graphics, his own unique gamplay, etc... It's what happened to the most popular series, Megaman, Final Fantasy, Castlevania, Fire Emblem, etc....
If the different aspects of the games split up, then the whole thing can get suck.
Er, I think you've hijacked yet another thread...
Don't know if it's possible in phpbb, but if it is.. maybe this thread should be split?
Yes, phpBB supports splitting. I'm a moderator over on
gbadev, which uses phpBB; if I were a mod here, this thread would have been split a long time ago.
Just remember one of the rules of humanity: "Though shalt not highjack a thread unless it is his own...". Okay, I made that up, and that wasn't even funny, and didn't make much sense, so I'm going to stop talking... Okay, that's just how I look at thread highjacking...
The highhackers in the story is you guys, because the thread was originally talking of a subject and eventually slipped on another, but there you're suddently speaking of something totally different, and that's much more highacking that just slip on another side subject. By the way, I can't say what's wrong with speaking about a side subject since there is no reason for speaking about the original one anymore, and since there is no reason to open a new thred because some post about something make you think about something else.
Quote:
and since there is no reason to open a new thred because some post about something make you think about something else.
Some view this as a chat board, others as a place for information. The latter are served better when topics can be found by thread.
I think of thread hijacking as completely changing the subject. Like randomly in the middle of a thread, just say like that one guy : "online spam_ignore: url". If you don't know about that, there was a guy in one of these threads who would just randomly post links to online pharmacies, and it was really stupid and annoying. I think mr. Memblers made it so whenever he posted a link to an online spam_ignore, it would link to some dr. mario thing. It was quite humorous. That is thread hijacking. I don't think a conversation where the subject changes fluently as thread hijacking.
blargg wrote:
Some view this as a chat board, others as a place for information. The latter are served better
...by the
wiki.
I hereby commit to posting all future test ROMs and information to the wiki, rather than here.
I really wish I knew more to help participate in a group project. Maybe in the future however.
On the topic of the wiki, I was thinking that a seperate forum be set-up here on the boards for discussing different ideas and such for it, as opposed to the
Site Ideas page. It seems that a message board is just for that, ideas and exchange, whereas the wiki should just be the source where the info is stored. I think it would make more sense that way since I don't _think_ many people check for anything on there on a daily basis (not most, at least).
Yeah, it's a good idea. I've been wanting to see more activity on the wiki also, so we'll see if that helps.
It's from a severe lack of site updates, also it was in an indefinite state for a while when it first opened. It's looking alright now I think, I'll add a quick link to it onto the main page.
Bananmos wrote:
You kept bullying newcomers to the #nesdev channel, often using racist language.
I understand your concern, and this might not make a shit of a difference, but it's worth a shot explaining (because I won't be the only person you encounter who does this, especially on IRC):
There are many people -- particularly on IRC -- who aren't racist or discriminatory (myself definitely included) but use words like "nigger" or "gay" as pure conversation filler words; there's absolutely
zero discriminatory/negative intent when using them. Hell, a few years back I had a gay roommate who used to call things "gay", if that says anything about the state of the word... You see, they're partially used for shock value and partially as a juxtaposition (probably the wrong word to use for this, but basically inducing a side-by-side comparison between the word "nigger" to describe just some random jackass, and "nigger" to describe someone, in a negative tone, who's black).
Even in this day and age, it blows my mind that we still have racists and discernment in our societies. Our neo-Nazi group in the States is still loud and proud, which is quite disappointing. Why can't people mentally evolve? Get over the hurdle, realise there's more important things than skin colour or sexuality. Hold *individuals* responsible, not skin colour or sexual "preference". In Sweden, I know you guys have people like Bjorn Lennartsson, who's quite adamant about expressing his hatred towards blacks. I find people like that baffling, and therefore funny. I guess I'm weird like that.
Even if you disagree with my social characteristics, at least give me the benefit of the doubt and try to understand things from my POV.
Quote:
I can relate to what you say about being happier just playing NES games than doing development. That's mainly what I do nowadays as well. But fortunately, it hasn't made me feel the same way about the time I spent learning what goes on behind the scenes in my favourite games. I'd almost say I enjoy them more when knowing how things like the cool vertical parallax scrolling in the Mega Man 2 intro really works. I also like to read these forums from time to time, talk to old friends and help others test their stuff and improve their code, just by proposing the wild ideas I no longer care to try out myself.
Our experiences are obviously different. :-) For me, it takes away from something -- for you, it helps you enjoy them more (probably because you not only appreciate the game for what it's intended for, but also the complexity/hardships involved in creating something like what you're seeing on-screen).
Then again, I'm an Aquarius -- we're well-known for having to know how everything works, and more importantly, why something is the way it is / why something does what it does. For some things (like electrical engineering, which I'm not very good at), I seem to enjoy the fruits of my labours -- while on things that have nostalgic value, I've found I enjoy more keeping as "true to my roots" as I can.
Quote:
I've also started (a very slow) development of a puzzle game which I hope to make for the NES. Besides thinking a lot about what elements to add to make the gameplay more fun, work on it mainly consists of learning to draw nice low-color graphics, something I've always wanted to do but never took the time to learn when all my focus was on becoming a "l33t" coder. It might never see the light of day since it competes with lots of other hobbies I have nowadays, but for once I'm focusing on designing a fun game experience rather than just pushing hardware limits.
I can totally understand what you mean here, but for me, it only applies when I *create* something from scratch. I enjoy the results of my hobbyist work (especially when I can physically/visually see them -- probably why I enjoy programming as a hobby and not as a career!)...
Which kinda brings me to a point I missed in my PocketHeaven post:
NES development was starting to feel like a burdeon on my shoulders, rather than something I enjoyed doing. Don't get me wrong, I initially enjoyed it, but over time it became and more and more stressful. I started feeling like I
NEEDED to update my documentation, or
NEEDED to help people with things, explain things to people, etc. etc. -- rather than just do it because it was something I liked to do.
For me, it's a lot like my professional job vs. my hobbies. I refuse to get involved with professional video game development, because I know damn well what it'll do to me: it'll kill any possibility of me ENJOYING games. This is why I prefer to keep gaming and necessities (i.e. my job) entirely separate. Of course, I honestly wish I would've gone into a different field than UNIX administration (it used to be a hobby, and I think I enjoyed it more back when it was just that), but at this point it's too late to turn back -- and it's something I'm professionally good at.
I guess you could say that for me NES development was becoming more and more like a "job", rather than a hobby. That's another reason I backed off...
Quote:
Even if I suspect your note about famitracker was directed at me ...
Haha, I had a feeling you'd say something like that. :P Let me make myself clear:
IT *WAS NOT* DIRECTED AT YOU IN ANY WAY. It had nothing to do with you, NT2, or my past experiences with either.
You know as well as I do that I've always wanted a native Win32 tracker-like NES music composition tool that uses DirectX and so on. For a few years I got really involved with software synthesizers and analogue software synths, solely because I wanted to make NES-esque music on my PC. I wasn't the only one who wanted to do that either... as now you can find hundreds upon hundreds of people who do it.
Since then I've lost my interest in it, but once I found FamiTracker, I sat around tinkering with it for a few hours last week and found myself enjoying it. However, it needs documentation -- and by that I mean REAL documentation, not the compiled HTML documentation that comes with it. There's a TON of stuff which makes absolutely no sense to me (and I'm familiar with actual Roland sequencers!), but that's not for you to write... :-)
All in all, I'd be most happy to see you and jsr both work together (even if indirectly or just by talking about things) to make FamiTracker better. I think it's the start of a new beginning, and can help enhance home-brewn NES stuff greatly. We all know music has been one of the "general unknowns" of the nesdev arena for a very long time now...
Quote:
I didn't mean to put you down, but I felt I had to give my side of the story.
I understand entirely, and I don't take it personally (no matter what you or others might think :-) ). It's history; I'm still the same general person, but I'm older, somewhat more mature, somewhat better rounded, and (I'd like to hope) wiser.
Quote:
And btw, if you'd still like to see your FF2j intro work on a real NES, I could check out your source and see if I can figure out what the bugs are.
I'd like that. Of course, I don't like giving out / showing code to a lot of my projects, because of general sensitivity issues. :-( I'm picky like that, I suppose. Also, to make matters worse, the only good/working copy of the code I have is for FF2j v1.02. v1.03 and v1.04 were supposed to be full re-writes (for a lot of different reasons, but the big one was that I yanked some (what I thought to be) unused code/data from the PRG region for the intro, and it later turned out to likely be used... :-( My own fault entirely...)
All I can figure out is that I'm probably trying to do too much inside of a VBlank, since the pattern + attribute table are getting trashed only during the time when I adjust the palette. I remember reading other peoples' code and saying "Ohhh, that must be why they set the PPU address to $2C00 or $2400 or $2000 at the end of their routine, to ensure that the PPU picks up where the pattern table / attribute table / whatever is at the start of VBlank..." But like I've said time and time again, I flat-out do not understand all of the newer information on the PPU.
At least there's emulators which show the problem, so that one can use those to get things working "generally correct", and then try it out on actual hardware to see if it REALLY works. :-)
koitsu wrote:
There are many people -- particularly on IRC -- who aren't racist or discriminatory (myself definitely included) but use words like "nigger" or "gay" as pure conversation filler words; there's absolutely zero discriminatory/negative intent when using them.
And some communities have inside jokes. For instance, DDRei.com started using "balloon fever" instead of "gay" one day (hence
my avatar over there).
Quote:
(probably the wrong word to use for this, but basically inducing a side-by-side comparison between the word "nigger" to describe just some random jackass, and "nigger" to describe someone, in a negative tone, who's black).
Chris Rock defined "nigger" as essentially a slacker. For example, people who remain on welfare by choice are "niggers."
Quote:
over time it became and more and more stressful. I started feeling like I NEEDED to update my documentation, or NEEDED to help people with things, explain things to people, etc. etc. -- rather than just do it because it was something I liked to do.
In that case, it was probably time to name a successor as the maintainer of nestech.txt.
Quote:
All in all, I'd be most happy to see you and jsr both work together (even if indirectly or just by talking about things) to make FamiTracker better. I think it's the start of a new beginning, and can help enhance home-brewn NES stuff greatly. We all know music has been one of the "general unknowns" of the nesdev arena for a very long time now...
The GBA community has the advantage here because the hardware is capable of playing a .s3m file in real time so that people can use existing music editor software such as Modplug Tracker. If we can figure out how to map the NES PSG's capabilities onto one of the "standard" tracked music formats such as XM, that might help.
Quote:
I remember reading other peoples' code and saying "Ohhh, that must be why they set the PPU address to $2C00 or $2400 or $2000 at the end of their routine, to ensure that the PPU picks up where the pattern table / attribute table / whatever is at the start of VBlank..." But like I've said time and time again, I flat-out do not understand all of the newer information on the PPU.
When in doubt, just make sure to set $2000, $2005, $2005, and $2001 at the end of vblank. If you need more time than 2300 cycles or so (20+3/4 lines between vblank NMI and when the PPU picks up the new address), you can split an update across 2 vblanks, or you can use sprite 0 to turn off rendering nine lines early like Tetramino does.
Quote:
At least there's emulators which show the problem, so that one can use those to get things working "generally correct", and then try it out on actual hardware to see if it REALLY works.
Nintendulator is the answer, of course.
tepples wrote:
In that case, it was probably time to name a successor as the maintainer of nestech.txt.
No need to name a successor -- I told Tennessee Carmel-Veilleux back with the final release of nestech that the document was to become pure 100% public domain... which means anyone + everyone should edit it and maintain it. Tennessee later told me he wished to take over maintaining the document, and I dunno what ever became of that (though I know he's still around! :D)...
Of course, there's now Wikis, so that'd probably be a better solution in general. Beating a dead horse (per se) with this one though...
Quote:
If we can figure out how to map the NES PSG's capabilities onto one of the "standard" tracked music formats such as XM, that might help.
I think this would make things a lot easier on, well, everyone. Off the top of my head, I know of 4 people who would tinker around with NES music if they had a tracker-like interface and had some easier interface to making it (and understood what they were doing; only one of them is familiar with analogue-like audio (C64), the others are only familiar with purely digital audio formats (MP3, etc.)). MML and MCK they all have said "is an absolute shitfest" and refuse to learn it -- I guess that makes me #5, since I feel similarly about it.
Quote:
When in doubt, just make sure to set $2000, $2005, $2005, and $2001 at the end of vblank. If you need more time than 2300 cycles or so (20+3/4 lines between vblank NMI and when the PPU picks up the new address), you can split an update across 2 vblanks, or you can use sprite 0 to turn off rendering nine lines early like Tetramino does.
The "when in doubt" advice is what I tried to do with v1.03 and v1.04, but it amounted to nothing -- still the same problems (and I did have one guy who was able to test it on real NES hardware; I sent him the updated binaries, and he said it did the same thing :( ). So there's something I'm obviously missing, and it's definitely coder-error on my part...
Quote:
Nintendulator is the answer, of course.
Or VirtuaNES (which I prefer). :-)
Hi, Folks. Chris C. here
Guys, I don't know about the aforementioned infighting and elitism (maybe I wasn't on IRC at the time), but I can indeed relate to Koitsu/Yoshi/JDC's last reason.... that sometimes it got that when I played NES games, I no longer enjoyed them for fun, and was instead always thinking about how the programmers implemented some trick or another. It was so distracting.
So in the last two years, I've felt guilty for not doing more programming, but I found myself just enjoying playing lots of games on different systems. It seemed emptier than programming, but also a lot more relaxing and carefree. More like Childhood, I guess.
So, anyway, best of luck to y'all. I don't have any working NES devcarts anymore, which is one reason why I haven't programmed much on the NES recently, or kept up with NESDev discoveries (and intrigue). My PC-Engine devcart is working fine, so I'm having fun programming for the PCE these days. And, if you ever found the poem hidden in Solar Wars, you'd know why.
TTFN.
This whole thing about being driven away because you know too much about what goes on behind-the-scenes sounds rather self-defeating. But that's just my opinion.
Quote:
How the heck did everyone figure all this out!? Everyone knows about how many cycles the cpu blah blah blah scanlines blah blah megahertz blah blah, and I just don't get it! There was no document on this, they all somehow just obtained this knowledge from god or something! ya know?
- I agree. Here's something hard to discuss: most of open-source emulators are NOT a great reference if you're writting an emulator too. Instead of something you could "read and learn", it's a bunch of cryptic files that makes sense for someone with high level and experience in C++ (not C) and someone that brings that things "by magic", without apparent reason. I can decipher some info, though most of the time it's useless.
Fx3 wrote:
Quote:
How the heck did everyone figure all this out!? Everyone knows about how many cycles the cpu blah blah blah scanlines blah blah megahertz blah blah, and I just don't get it! There was no document on this, they all somehow just obtained this knowledge from god or something! ya know?
- I agree. Here's something hard to discuss: most of open-source emulators are NOT a great reference if you're writting an emulator too. Instead of something you could "read and learn", it's a bunch of cryptic files that makes sense for someone with high level and experience in C++ (not C) and someone that brings that things "by magic", without apparent reason. I can decipher some info, though most of the time it's useless.
Are you saying you're reading the source code from a GPL licensed emulator and using that knowledge to write your own closed source emulator?
Of course, but "I can decipher some info" sounded like that was exactly what you were doing.
Nessie wrote:
Of course, but "I can decipher some info" sounded like that was exactly what you were doing.
I find it incredibly ironic that the past 4-5 posts in this thread (not from you, Fx3 :) ) are perfect examples of why I stopped involving myself with nesdev in general. Sure, I still post here, but I just "drop by".
Nessie wrote:
Are you saying you're reading the source code from a GPL licensed emulator and using that knowledge to write your own closed source emulator?
And if he was? GPL is based on copyright, which only covers the particular expression of an idea (source code), not the idea itself (which is what a patent would cover). Copying ideas from GPL code and using them in closed-source programs is perfectly legal.
koitsu wrote:
I find it incredibly ironic that the past 4-5 posts in this thread
Haha. We could use more feedback like this, I think.
blargg wrote:
Nessie wrote:
Are you saying you're reading the source code from a GPL licensed emulator and using that knowledge to write your own closed source emulator?
And if he was? GPL is based on copyright, which only covers the particular expression of an idea (source code), not the idea itself (which is what a patent would cover). Copying ideas from GPL code and using them in closed-source programs is perfectly legal.
I think the problem with reading others' code is that you run the risk of accidentally copying some expression. See
Bright Tunes Music v. Harrisongs Music, the "
My Sweet Lord" case, for how this could play out.
tepples wrote:
blargg wrote:
Nessie wrote:
Are you saying you're reading the source code from a GPL licensed emulator and using that knowledge to write your own closed source emulator?
And if he was? GPL is based on copyright, which only covers the particular expression of an idea (source code), not the idea itself (which is what a patent would cover). Copying ideas from GPL code and using them in closed-source programs is perfectly legal.
I think the problem with reading others' code is that you run the risk of accidentally copying some expression. See
Bright Tunes Music v. Harrisongs Music, the "
My Sweet Lord" case, for how this could play out.
<sarcarsm>Of course, like copying the VBlank flag clearing on 2002h!</sarcarsm>
Nessie wrote:
Of course, but "I can decipher some info" sounded like that was exactly what you were doing.
Umm... let's say you have a NES emulator that is open source and I poke around that source. Nothing much comes from it, but peering into a certain function enlightens me to something I did not previously realize.
So I go about in my emulator, in another language, create my own function, my own way, from my new understanding.
Have I gone and ripped your source code off? Pfft not likely.
Now if I were to quite literally copy and paste it more or less, fair enough but I doubt most people would do that, or get very far if that's all they are capable of.