Jump to content

Photo

"Coding" NES-like games.


  • Please log in to reply
5 replies to this topic

#1 Anthus

Anthus

    Lord of Liquids

  • Members
  • Location:Ohio

Posted 03 August 2017 - 01:31 PM

Would it be a worthwhile venture to learn how to program NES games? I'm talking about games using NES ASM, that could theoretically be played on a real system, or emulator. Would it be a good way to learn about the basics of game programming, or is it simply a waste of time since we've moved beyond ASM, and there are other ways to make NES-like games? My logic is, why not start near the beginning? But there are a lot of games that just use newer conventions to look and feel like a NES game, but are made with stuff like Game Maker, or some other engine.

 

NES games were often small, not exceeding 1MB, and usually had small teams. They made games fairly quickly. This makes it seem like it can't be that hard to learn, but then again, these people probably went to school, or have years of practical knowledge about the hardware they're working with.

 

I want to 'get serious' about making a game. It's not going to be some epic, magnum opus that blows people away, I just want to start somewhere. Also, sorry if this sounds really dumb, but I know there's a lot of seasoned programmers here, and even some people who (iirc) do it for a living. I'm thinking about pulling a Kevin Smith, and using my credit cards to hire a small team, and make a game, and hope it doesn't flop (Clerks, by Kevin Smith was pretty much like this) cause really, what else am I doing with my life?



#2 Saffith

Saffith

    IPv7 user

  • ZC Developers

Posted 03 August 2017 - 01:59 PM

No, it's not really worth it unless you specifically want to make an NES game. You'd spend more time learning to deal with the system and its limitations than anything that would apply to modern game programming.
You could try PICO-8. Games are written in Lua, which is widely used as a scripting language in modern games, and its restrictions are such that one-man games are the norm. You can try a lot of its games in your browser on the BBS, but the editor isn't free.
Or you might prefer Unity, probably the most popular game engine today. It's a high-end, 3D engine, but it's also commonly used for small, 2D games. It's perfectly usable for NES-like games and free for personal use.
  • Anthus likes this

#3 Anthus

Anthus

    Lord of Liquids

  • Members
  • Location:Ohio

Posted 03 August 2017 - 04:12 PM

PICO-8 is something I've heard of, but forgot about. It looks like a good place to start learning stuff. The limitations is has aren't a big deal, since in a way, it'll keep me focused, hopefully, and I won't fall victim to feature creep.

 

I just checked out a game called "Dank Tomb" and I must say, it's dank as advertised. This is cool.



#4 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 04 August 2017 - 12:12 AM

I'm also going to suggest PICO-8. It will give you a modern tool to use, to create retrogames, that has a library of games and a userbase; and you do not need to invest years of time into learnign to use it.

65xx ASM is only meaningful as a hobby, and it is no small task to learn the hardware-specific assembly for each platform. -- The NES is its own beast, entirely. -- You can step over to the NESDev Wiki to read about it, but it is a long process that requires time and dedication.

Most of the good NES/FC titles had a moderately large staff for the era. The more terrible stuff was generally sublet to Micronics, or Tose; and occasionally Sunsoft, who had a spotty record prior to Batman, but some of their docs and tools still exist.

Human and Compile were two of the subcontracted firms that usually did the most with the hardware and had a generally solid reputation.

It would probably be easier for you to learn how to make games for the ZX Spectrum, C64, Acorn, MSX, or other similar computer systems; and to apply that knowledge to other systems. Despite having a very similar core, all of these -- including the nes -- had their own graphical chipsets. The majority of learning time for the NES hardware, is probably going to be PPU usage.

Otherwise, what Saffith said.

P.S. My reason for suggesting 8-bit computing platforms, is that there is extensive documentation for most of them, and there are various compilers, programming suites, and tools that were available to the general market for them, as well. THe FC/NES was kept rather dark, and all of the real SDK-like stuff for it was sent out only to licensed firms; and very little technical information was ever produced.

In contrast, say, for the Spectrum or the C64, there were hundreds of books published during the lifespan of the systems, on the subject of game (and other) programming. If you want to learn 65xx ASM for some reason, those are a much better place to start. There is certainly nothing wrong with learning procedural ML, but it is a rare paradigm today.

Edited by ZoriaRPG, 04 August 2017 - 12:25 AM.

  • Anthus likes this

#5 Gleeok

Gleeok

    It's dangerous to dough alone, bake this.

  • Members
  • Real Name:Pillsbury
  • Location:Magical Land of Dough

Posted 04 August 2017 - 01:59 AM

Why use 8-bit ASM instructions when you can can use Punched Card Programming!

Just like grandma used to make. :)
  • Anthus and Timelord like this

#6 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 04 August 2017 - 06:20 AM

Why use 8-bit ASM instructions when you can can use Punched Card Programming!

Just like grandma used to make. :)


We actually used these, on my very first encounter with computing systems. ;)

They were still often ASM, but in the form of hundreds of cards that someone would knock out of your hands as you were walking around carrying a few trays of them to the lab, and scatter them everywhere. Nothing was more fun than picking them up, hoping that none were lost or bent, and putting them all back in sequence over the next five hours.

We used them for COBOL, too.

Edited by ZoriaRPG, 04 August 2017 - 06:25 AM.



0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users