It is currently Fri Oct 20, 2017 7:36 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 13 posts ] 
Author Message
 Post subject: Learning the NES??
PostPosted: Sat Aug 21, 2010 3:51 am 
Offline
User avatar

Joined: Thu Nov 05, 2009 8:31 am
Posts: 92
I know its too early for me to ask this question on this forum coz I am still a newbie w.r.t. a lot of things related to NES.

How can one justify learning to program for the NES and doing stuff related to NES in an age when the video game and the computer industry have reached so far.

Its particularly difficult to justify why one who has a full time job(which takes about 10 hrs a day) and family responsibilties is spending time for learning a very old system like NES.

Before asking a new question I always browse through the existing answers. Today, while doing so, I saw this topic Justifying this hobby. And this was when this question popped up in my mind.

Please let me know your views.


Cheers.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Aug 21, 2010 4:41 am 
Offline

Joined: Tue Apr 05, 2005 7:30 pm
Posts: 179
Justify it? You speak as if learning to program for the NES is somehow immoral.

Seriously, though, the only "justification" one needs to pursue a hobby like NES development is that said person enjoys it.

People who ask why waste time with something that doesn't make money, well, in my opinion, they see the price of everything and the value of nothing (I don't mean you, Nadia, I'm just stating a general opinion about people who think that way). Pursuing an idea and turning it into reality, that's its own reward. Figuring out how code works for its own sake is its own reward. Not everything in the world is about money. People who go into NES development hoping to make money completely miss the point, as do people who avoid it entirely because it doesn't make money (exceptions like Battle Kid notwithstanding).

I know your post wasn't specifically asking about that, though I thought I'd clear that up before somebody else brought it up. There's no reason I can think of, however, why one can have a 10-hour job and family and NOT be able to do NES development if they really wanted to. Of course you gotta keep everything in balance so you don't lose your job or your family, but if you spend too much time at work, you'll get burned out. Family's not so bad, except you might want some alone time now and again.

And as far as there not being any marketable skills obtained from it, I wouldn't say that's entirely true. In the time that I've spent researching, doing development on the NES and other 6502-based platforms, I've learned all sorts of ways to solve problems, and novel approaches that wouldn't have occurred to me before to come up with algorithms to such problems. Plus, learning how to code in assembly for one processor makes it easier to learn to code for other processors. Shoot, even if I never bother with other processors (which I am), there's still somebody out there using a 6502 somewhere.

And as far as how far video games and the computer age have advanced, bear in mind that NES development has bore a pretty large part in that advancement, both on the hardware and software ends. In fact, the NES itself pretty much saved the videogame market from oblivion back in the mid 80's.

_________________
Be whatever the situation demands.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Aug 21, 2010 5:19 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19107
Location: NE Indiana, USA (NTSC)
doppelganger wrote:
Justify it? You speak as if learning to program for the NES is somehow immoral.

Seriously, though, the only "justification" one needs to pursue a hobby like NES development is that said person enjoys it.

People who ask why waste time with something that doesn't make money, well, in my opinion, they see the price of everything and the value of nothing

The problem comes when other members of the household want to "borrow" me for house/yard work, and they can't see the difference between creating software for the NES and any other form of recreation performed on a PC. They evaluate my pursuits on what appears to be a ladder, where higher trumps lower:
  1. Work (earning money)
  2. Hygiene
  3. School (earning a diploma from an accredited institution)
  4. House/yard work
  5. Play (here's where TV, playing video games, and making video games fit in)
Quote:
People who go into NES development hoping to make money completely miss the point, as do people who avoid it entirely because it doesn't make money

Money as a motivator moves making games from the "play" line to the "work" line, so that I can turn down trivial "Hey Pino, could you help me with this? I'd do it, but my hands are dirty" interruptions with "I'm on the clock. If you want, I'll do it when I leave work."

Quote:
Of course you gotta keep everything in balance so you don't lose your job or your family

Families become dysfunctional when your idea of balance and someone else's differ.

Quote:
Plus, learning how to code in assembly for one processor makes it easier to learn to code for other processors.

ARM, I've been told, is marketable, and it's fairly easy to pick up if you know both 6502 and C.

Quote:
And as far as how far video games and the computer age have advanced, bear in mind that NES development has bore a pretty large part in that advancement, both on the hardware and software ends. In fact, the NES itself pretty much saved the videogame market from oblivion back in the mid 80's.

Only in North America did video games "crash" in the 1980s. In Europe, talk of this gaming recession might result in "What oblivion? We had our own video game systems: the C=64, the Speccy, the ST, and the Amiga."


Top
 Profile  
 
 Post subject:
PostPosted: Sat Aug 21, 2010 6:26 am 
Offline
User avatar

Joined: Sun Nov 09, 2008 9:18 pm
Posts: 983
Location: Pennsylvania, USA
There are two good reasons for learning to program the NES: getting challenging realtime programming jobs, and experiencing the reward of creating programs for it. Detailed blather follows:

Since my post in the "Justifying this hobby" thread you mentioned, in which I mentioned getting a job having demoed some NES-related projects I did, I got another job, also from demoing NES-related material (this time, the current version of my in-development game). Even though it is old, there are a lot of non-trivial programming challenges that come up while programming the NES which I think should get the attention of any prospective employer. I think perhaps it is particularly good if you want a position in the embedded systems field: programming the NES can teach you a little bit about the perils of multithreaded programming (in other words, how to handle manipulating data outside of vblank, locking it, and then uploading it during vblank), compression, optimization...and also presents the challenge of maintaining relatively complex software (for a hobby). If you can talk intelligently to your interviewers about what you create, and show them some demos, it is sure to impress. Few people program in any sort of assembly language anymore, so it definitely gives off the aura of you being a pretty dedicated programmer.

So...at least on the job getting side of things, it is definitely justifiable.

If your goal is to make money FROM A GAME, you probably shouldn't quit your day job, though Sivak and a few others have shown you can make some money from developing an NES game. I doubt that is the reason they did it though---I know if I do the same it will be primarily for the nostalgic thrill of seeing my game on a real cartridge.

As for having a day job---I have a day job, am married, and have a house. I've got a lot of responsibilities, yet I'm finding that I can make enough time to pursue this hobby and make decent progress. So...at least for me this hobby has found a very appropriate place in my life and I believe it can and does for many others here at nesdev.

I recommend it.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Aug 21, 2010 8:07 am 
Offline
User avatar

Joined: Wed Apr 02, 2008 2:09 pm
Posts: 1020
When people who care so much about the possibility of me wasting my time with NES development AS A HOBBY rather than PC development, or anything else that'd make money, I say something like the following.

"It's easier to compete with x old game than y new game."

"It's easier to compete with Gun.Smoke than Red Dead Redemption."

"It's easier to compete with Super Mario Bros. 3 than Super Mario Galaxy 2."

Personally, I probably could not create wonderful 3d models and worlds, compose orchestral music, and craft a brilliant and beautiful 3d experience alone.

I could however, possibly create some 2bpp 8x8 tiles, track some public domain songs, and craft a brilliant and beautiful 2d experience alone.

But really, "Because I enjoy it," should be all the answer that's needed. I don't know why it isn't.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Aug 21, 2010 9:12 am 
Offline
User avatar

Joined: Wed Dec 06, 2006 8:18 pm
Posts: 2801
Alot of the same concepts apply to game development regardless of the platform you choose. As it was mentioned it's alot easier to complete a game that feels at home on the NES than it is to complete a game on the PS3/Xbox 360. Games today require massive teams that cost millions in development. No one is going to make a modern console game on their own on the same level as say Grand Theft Auto 4.

And then there is the fact that alot of the people that spend their time on NES development related things grew up playing the system and its games.

Perhaps you are questioning your own reasons for taking an interest in the NES. If you have something else you'd rather do with your time, you should do that instead. Do what you really want to do. You can always continue to learn more and change your mind later, or do something else and come back to NES later.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Aug 21, 2010 9:33 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19107
Location: NE Indiana, USA (NTSC)
MottZilla wrote:
it's alot easier to complete a game that feels at home on the NES than it is to complete a game on the PS3/Xbox 360. Games today require massive teams that cost millions in development. No one is going to make a modern console game on their own on the same level as say Grand Theft Auto 4.

In theory, that's why there are XNA Creators Club for the smallest budgets and WiiWare for budgets slightly bigger than that. For example, Capcom made two Mega Man games with NES graphics for WiiWare. But as I understand it, XNA development does require a substantially more powerful PC than NES development; I do much of my NES development on a netbook.

"Wonderful 3D models and worlds" can still serve as prototypes for your NES art. For example, I'm prototyping some of my characters in Blender to make sure I get the proportions correct from all eight angles.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Aug 21, 2010 10:04 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7231
Location: Chexbres, VD, Switzerland
Man I really wish I could do something with blender, but it is just SO complex that even doing, for example, a table, takes about an hour. An human is not made of spheres or of cubes so it'll be very complex to do.

If you're able to prototype graphics in 3D and then convert them to 2D you'll end with something like Donkey Kong Country.

On the other hand games with 3D graphics uses pre-rendered 2D sprites with a lot of possible angles and hardware scaling to simulate 3D sprites. This has the advantage to decrease polygon count, while being able to repair aliasing/artifacts introduced by the 3D rendering. I believe Final Fantasy IX does this but I'm not sure, I don't remember where I read this and I don't know of much tool to reverse-engineer the game. Someone that could provide a better example would be great.

_________________
Life is complex: it has both real and imaginary components.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Aug 21, 2010 2:20 pm 
Offline

Joined: Mon Sep 27, 2004 2:57 pm
Posts: 1248
Because I can.

No seriously, that's really all I need to say to justify it. It's like collecting stamps, or being super-knowledgeable in automobiles; it's a hobby.

In addition, it's just one thing I like to brag about; I have the ability to say "I can make an NES game", "I can write code in assembly", etc.

Other people do it for the nostalgia factor; we grew up with the NES, and now I get to write games for it, just like I always wanted. ("Man, it'd really be cool to make levels for this game, I'd put the powerup here and a wall here, and blah blah blah")

Not everything in the world is done for money, a great deal is done for the sheer joy of doing it.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Aug 21, 2010 2:22 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19107
Location: NE Indiana, USA (NTSC)
Drag wrote:
"Man, it'd really be cool to make levels for this game, I'd put the powerup here and a wall here, and blah blah blah"

That justifies Mario Improvement and Lunar Magic, not necessarily hacking from scratch, but I see your point.

Bregalad: You might want to check out the Blender topic I started over in NES Graphics.


Top
 Profile  
 
 Post subject: Re: Learning the NES??
PostPosted: Sat Aug 21, 2010 2:58 pm 
Offline
Site Admin
User avatar

Joined: Mon Sep 20, 2004 6:04 am
Posts: 3470
Location: Indianapolis
Nadia wrote:
How can one justify learning to program for the NES and doing stuff related to NES in an age when the video game and the computer industry have reached so far.


Until there is some big revolution in the way computers work, the NES will remain fundamentally the same as any computer/game systems. After learning 6502 assembly, I had been able to learn how to program any CPU in assembly that I've wanted (and now C). After messing around with mappers and carts enough, I learned how to make PCBs. Making an NES cart is relatively simple, but still comparable to making a PCI or AGP card for a PC.


Top
 Profile  
 
 Post subject: Re: Learning the NES??
PostPosted: Sat Aug 21, 2010 3:07 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19107
Location: NE Indiana, USA (NTSC)
Memblers wrote:
After messing around with mappers and carts enough, I learned how to make PCBs. Making an NES cart is relatively simple, but still comparable to making a PCI or AGP card for a PC.

But the difference is that on the NES, you have to solder not only to make computer peripherals but also just to distribute copies of software to the public.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Aug 22, 2010 11:47 am 
Offline

Joined: Mon Sep 27, 2004 2:57 pm
Posts: 1248
tepples wrote:
Drag wrote:
"Man, it'd really be cool to make levels for this game, I'd put the powerup here and a wall here, and blah blah blah"

That justifies Mario Improvement and Lunar Magic, not necessarily hacking from scratch, but I see your point.


Haha, yep, funny story, I started out by using rom hacking tools from zophar, to change the levels in games. Then a few years later, I was thinking to myself "I'm pretty sure I can make a couple of ASM hacks by now".

Then I found that programming from scratch was loads easier than modifying a pre-existing game.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 13 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: Bing [Bot], Google Adsense [Bot] and 10 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group