News: 11 March 2016 - Forum Rules, Mobile Version
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia

Author Topic: How were early 8 and 16-bit games programmed?  (Read 7871 times)

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 6463
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: How were early 8 and 16-bit games programmed?
« Reply #20 on: November 11, 2017, 02:16:52 pm »
You guys heard the story going around that Sakurai had programmed Kirby's Dream Land before learning that programmers usually use keyboards?
(he wrote it using a Twin Famicom and a trackball)
Apparently he also used the Famicom to design the Super Famicom game Kirby's Super Star.
Quote
Sir Howard Stringer, chief executive of Sony, on Christmas sales of the PS3:
"It's a little fortuitous that the Wii is running out of hardware."

jonk

  • Sr. Member
  • ****
  • Posts: 259
    • View Profile
Re: How were early 8 and 16-bit games programmed?
« Reply #21 on: November 11, 2017, 02:32:36 pm »
Today, you have veritable oceans of RAM and multi-core CPUs and at least a factor of 10 if not a factor of 100 more programmers out there developing tools for you.
As a result, the salaries dropped by a significant factor and difficulty to be hired increased by a significant factor. The days when "being able to program a computer" made you a very special person are long over :(
There are lots of factors involved here and it isn't only because of the number of programmers "out there." When I was trying to decide which direction I wanted to go (and I didn't make a rational decision, I just "fell" into what I became), almost everyone who was a programmer had a PhD in physics or mathematics. At the very least, an MS. The "pyramid" of skillsets was small at the time and the kinds of people who could gravitate into this field was rather a small percentage of the population, too.

When I was 18, I was able to design and build a small computer of my own using wire-wrap. I had newspaper reporters coming to my home because of this. (I have no idea who tipped them off.) This was 1974. My chosen field was physics and mathematics. And it turns out that these were the kinds of people who were involved as programmers back in that day. If I were talking to another programmer then, I could bring up the use of a LambertW function and would NOT need to explain it to them. They would already know exactly what I meant and why it would be appropriate. If I wanted to compute a sine function, I could point out that a Chebyshev function bounds max error and converges faster and I could be assured they would know what I meant and why (Taylor's bounds average error, not max error, and converges more poorly in these cases.) All of us were cut from a similar cloth, then. I could write an operating system, a compiler, etc., from scratch and didn't need a book. (As an example, I was flown to a site in California to work on a project and had written from scratch, tested, and completed a full multi-threaded operating system in less than two days -- without the use of any pre-existing code or libraries.)

As time progressed, more and more work product from this small pyramid became available as tools. And this enabled people with less training or skillsets to dive in and be very successful using those tools. They no longer needed to understand how to write an operating system or compiler on their own and they almost certainly no longer needed to have an interest in physics or mathematics, anymore. They just needed to know how to use the tools provided as programmers and, perhaps, some decent level of algebra and Boolean logic. And so the pyramid height grew and the base widened as more and more programmers were able to make this an avocation or... just a job choice, perhaps.

As time further progressed, you start getting to something like Microsoft's .NET system, which allows almost anyone to create fairly sophisticated program from just a few clicks of the mouse and a few "drag and drops." It's almost trivial. This of course opens the doors for still more people. When I was teaching undergrad CS at the largest university in my state, about a decade back (with class sizes of about 75 or so), most of my students were making a choice for CS as a kind of "Well, I want a low stress, high paying job and it's between this or accounting." (Seriously, I actually had students come into my office during office hours and ask me if perhaps they should leave CS and go into accounting!) The people entering into CS degree choices had far fewer inherent talents, hobbies, and skills and were looking at CS as one of several options, many of which were as far from physics, mathematics, engineering, and computer science as it could get.

This is because of all of the incredible, hard work that has gone on before, creating the vast amount of infrastructures that are used today by programmers. The pyramid height is now incredibly high, and the skillsets and interests needed to enter in at the base of the pyramid is... close to zero as not to matter much.

It will get worse. Eventually, everyone will consider "programming" like "typing" and it will be barely anything different than whether you type faster or slower, is all. Everyone will be a programmer. And the pyramid will be all-inclusive.

But it will still have the pinnacle at the top, too.

I had been offended by a presentation made by Microsoft's Steve Balmer in Portland some years back, so I'd cornered him during lunch and had it out. His presentation showed that pyramid I just discussed above and while he painted it quite differently to the audience (making it sound like Microsoft was wonderful to all of "us programmers"), it sounded horrible to me because I was in business for myself. His presentation basically said that Microsoft would work more and more to increase the height of that pyramid and embrace more and more people who would need fewer and fewer skills. But what offended me was that he added "Microsoft will do all this part", pointing to ALL OF THE PYRAMID but the bottom tier or two!! Which to me basically said, "We will take your business away from you and leave you with the remaining work at the bottom which doesn't pay well."

They wanted the "tough stuff" for themselves (which pays better and requires more skillsets) and would "offer" the scraps to the rest of us.

At the end of my discussion with him over lunch, I had his admission that my take on his presentation was accurate. And "tough beans," so to speak. I pretty much hated him after that little discussion that day.


November 11, 2017, 03:30:40 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
For games which targeted "game machines" that had very little RAM available and relatively slow processors, you were pretty much stuck writing assembly code -- perhaps in a mixture with C, if lucky. There was NO POSSIBLE WAY you could do this without the use of assembly code. If for no other reason, then because C itself doesn't have the semantics and syntax to permit the required hardware mapping (C uses a very strict and rather simple model of the world, which pretty much fits zero game machines of the time.)
I wonder what exactly do you mean here ? Are you refer[r]ing to memory-mapped IO ?
I was talking about the fact that C's view of the world is a single memory system. Harvard architectures, for example, deviate from the C model of memory. That doesn't mean C cannot be adapted to Harvard architectures through the use of modifiers (such as "__code" for example; a keyword that is not a part of the strict language but which lets a programmer notify the C compiler about something special.) It just means that you have to use "out of band" language extensions, which are not portable at all, in order to get the job done.

C has two different models in the standard, one for "hosted" and one for "stand alone." They differ just slightly. But the language itself specifies quite a few assumptions about the world it targets. And these assumptions are quite frequently broken by the reality of game machines -- especially the older ones.

Just to offer one more case to the pile (and there are many) that is directly and squarely targeted at SNES cartridges. C has no mechanism to deal with mappers. Nothing at all. A mapper is completely outside of the semantic range of C. And I don't think it ever will be within it. C can be made to deal with them, of course. In fact, as early as 1985 (in my case only, as I'm sure others did work predating me here), I was writing code in C that dealt with the hardware mapping boards that were available then to extend the memory of an IBM PC beyond the "one meg barrier" of DOS. This was driven earlier by the need of spreadsheet programs for LOTS OF MEMORY, despite the terrible limitations of the DOS memory space. They could be ordered to bank in, and bank out, different "pages" of RAM into the DOS memory space. And there were whole standards developed to help programmers do this in a "standard" way (actually, there were competing standards and so there really was NOT a standard way to do it for quite a while.) As I said, C can be "twisted" to work with these hardware systems. But not without (1) extra keywords outside the language specification; or, (2) assembly code that can be called from C (which itself requires knowing details about the specific C compiler's assignment of registers, calling standards, activation record formatting, and other details sometimes quite difficult to track down.)
« Last Edit: November 11, 2017, 05:07:08 pm by jonk »
An equal right to an opinion isn't a right to an equal opinion. -- 1995, me
Saying religion is the source of morality is like saying a squirrel is the source of acorns.  -- 2002, me

FAST6191

  • Hero Member
  • *****
  • Posts: 2304
    • View Profile
Re: How were early 8 and 16-bit games programmed?
« Reply #22 on: November 11, 2017, 05:45:02 pm »
" about a decade back (with class sizes of about 75 or so), most of my students were making a choice for CS as a kind of "Well, I want a low stress, high paying job and it's between this or accounting." "

You still had that a decade back? Heh. Here IT had lost its shine some time before that, I think for plumbing of all things (someone at a newspaper extrapolated what one doing sewerage work all day, all year, + a bit for emergency callouts and it ended up a large number, one rather higher than those that spend their days putting in a new radiator at someone's grandma's).

"and they almost certainly no longer needed to have an interest in physics or mathematics, anymore"
I once met one of the first ones for that. Still went in via maths as that was the only viable way. I imagine you have encountered the "maths and physics, which is a superset of which?"... discussion before, it felt like something I would encounter during that.

Anyway the sort of people you describe still exist. I tend to find them in the electrical engineering departments rather than straight computer science, sadly physics programming has sort of died a death and it is back to enthusiasts (or someone doing a masters/postgrad which needs it) more than core skills.

jonk

  • Sr. Member
  • ****
  • Posts: 259
    • View Profile
Re: How were early 8 and 16-bit games programmed?
« Reply #23 on: November 11, 2017, 07:06:19 pm »
" about a decade back (with class sizes of about 75 or so), most of my students were making a choice for CS as a kind of "Well, I want a low stress, high paying job and it's between this or accounting." "

You still had that a decade back? Heh. Here IT had lost its shine some time before that, I think for plumbing of all things (someone at a newspaper extrapolated what one doing sewerage work all day, all year, + a bit for emergency callouts and it ended up a large number, one rather higher than those that spend their days putting in a new radiator at someone's grandma's).
Okay. So it was in the late 1990's when I was teaching. I suppose that is more than a decade. It's two decades. Who's counting?

"and they almost certainly no longer needed to have an interest in physics or mathematics, anymore"
I once met one of the first ones for that. Still went in via maths as that was the only viable way. I imagine you have encountered the "maths and physics, which is a superset of which?"... discussion before, it felt like something I would encounter during that.

Anyway the sort of people you describe still exist. I tend to find them in the electrical engineering departments rather than straight computer science, sadly physics programming has sort of died a death and it is back to enthusiasts (or someone doing a masters/postgrad which needs it) more than core skills.
In my classes ... okay 20 years ago ... I would have about 1% of the class coming in from the EE department. I never had any trouble with those few -- they were always straight A students in CS courses. Down to the last one of them. But keep in mind that their coursework for the first two years is pretty heavy mathematics. I've recently spent time at two different universities here regarding their newer EE, CE, and CS courses and the new CS courses still do not have as much math requirements as EE and CE do. (The latter two both require the same math coursework for the first three years [and I think only one math course in the 4th year.])

Abstract mathematics and the practical applications of some of it in physics is my life. It's what I do. Every single day I'm studying something from both of these areas. Lie groups and algebras, coxeter's polytropes, M-theory, whatever... It's what I do for leisure. I still meet with one of the physicists active in M-theory, for example, on a monthly basis. Less because of the physics, more because of what it teaches me about math (it's nearly as abstract as anything in pure math, it seems to me.)

Mostly, I was just noting the differences over the last 50 years of computing, though. Like any newer field, those blazing the trails are from the top training tiers. They have to be. Then, later, as the paths are more traveled and worn down and store fronts appear in little towns along the way, pretty soon just about anyone can go down that road. And they do. Because it is accessible, there are supports and help along the way, and so on. This is the way of everything, really. I've just lived through the "big change" period and got to watch it go from a small cadre of physicists pushing the boundaries and moving from tiny vibrations in mercury laying in a tube (a 2kbit recirculating memory, for example) to where we are today. It's been interesting and I'm glad for the small part I've had. (And I may still have another 30 years left to see in my life, besides.)

I'm still active as an electronics engineer as well as a programmer, which is how I get paid. (That physicist I'm learning M-theory from? Way, way smarter than me? He gets like maybe 5k a year? No way to feed a family on that. And he is very active and works with Ed Witten!) But physics and math are my roots. The mix of students involved in computers has greatly changed because the skillsets needed by companies hiring them has similarly changed.

Of course, as you point out, there is always that top tier. And there are more in that area now by at least a factor of three or more, today. So there are more there today than before, even at the top skillset level. It's grown as well. But the entire pyramid is so huge now, that the top tier is almost invisible beside it. The number of people who can and do program (for themselves and for others) grown far, far faster and there are way, way more of them now. (Well, there was zero of them when I was starting out -- the pathways weren't worn down enough yet for the faint of heart.)

Oddly, I turned down an offer from a game writing company in California, ... about 20 years ago (again.) They flew me down, interviewed me for an entire day (yes, I was actually given the attention of about five of their programmer employees for the entire day -- I was kind of surprised by that, since I was really just expecting to be "passed around" so to speak.) Gave me their hardest unsolved problem at the moment, which had to do with real-time, massive multiplayer gaming over the internet and how to make that work in a reasonable fashion, and I got the offer the next day. But the pay just wasn't there and I couldn't take the job. But it was very interesting to talk about game writing with some very serious teams that day. I really do look back fondly on that day, as the problems presented truly were "interesting." I had some ideas and I think it may have had something to do with the quickness of the offer. But it still wasn't feasible for me. Perhaps sadly. One never really knows.


« Last Edit: November 11, 2017, 07:53:33 pm by jonk »
An equal right to an opinion isn't a right to an equal opinion. -- 1995, me
Saying religion is the source of morality is like saying a squirrel is the source of acorns.  -- 2002, me

FAST6191

  • Hero Member
  • *****
  • Posts: 2304
    • View Profile
Re: How were early 8 and 16-bit games programmed?
« Reply #24 on: November 12, 2017, 07:03:55 am »
20 years ago would be about in line with here. I do the same thing though and find my noting of the passage of time to be less than stellar, especially as I seem to remember conversations quite well. It was more that I try to keep an eye on the fads in IT and an influx like that a decade ago would have seen me have to revise something.

While I expect people with the conventional feeder skills to produce many, if not the bulk, of such people the whole 10000 hours thing means I see those from very unexpected places if the field is new enough. I suppose that is covered by "big change" though. For an amusing aside some of those would be accountants (or those which might later have switched) probably ran straight back into it as a year or two back I was reading articles of people being dragged in to teach their traders C, low latency/real time computing and FPGAs so they could compete in high frequency trading, and if you are now imagining the sorts of results you get when people which have not had bounds checking beaten into them (or indeed see bounds checking as an unnecessary expense -- this is the sort of thing where you buy land next to the shop, which was down town New York, because of the speed of light)... yes to most of what you are thinking, give or take them maybe not being creative enough to go malicious (that we know of anyway).

Smashing pure maths into real world stuff is a favourite of mine as well, however while I enjoy wandering into the depths of pure maths and you will find few more staunchly advocating for blue sky research than myself there is enough you can do immediately in a lot of areas that I tend to go there. A couple of years back I thought I would become a greasy student again and do a doctorate, one of the ones I picked to run up was on gearing -- the maths behind gears is insane but nobody ever uses it and it is all still the prebaked tables which were in use in at least the late 1800s + tooth forms + ratios/compounds and turn directions, the closest I found to an exception was iterated/brute forced ( https://www.youtube.com/watch?v=5Mf0JpTI_gg ). In the rest of engineering you get some supplier or installation constraints but suggest using anything other than parametric modelling + F.E.A./FEM/finite element analysis for it and you will likely be fired on the spot.

That said I have recently been watching a series where they chuck a bunch of supposedly top tier engineers into some kind of extreme condition (crash/natural disaster type setup) with a special forces type and get them to engineer their way back to civilisation. So much cringeworthy stuff going on in that (every episode so far has had multiple instances of what I thought fairly fundamental or obvious things be skipped) so I imagine I can see something like where you are coming from.

As for behaviours in online games and to keep it vaguely on topic for at least part of my post I suppose I will link another favourite article
https://www.gamasutra.com/view/feature/131781/the_internet_sucks_or_what_i_.php

jonk

  • Sr. Member
  • ****
  • Posts: 259
    • View Profile
Re: How were early 8 and 16-bit games programmed?
« Reply #25 on: November 14, 2017, 01:38:19 am »
As for behaviours in online games and to keep it vaguely on topic for at least part of my post I suppose I will link another favourite article
https://www.gamasutra.com/view/feature/131781/the_internet_sucks_or_what_i_.php
Wow!!! Thanks. That was written in 1999, it says. From the article:
Quote
Adding Internet capability to an existing engine is significantly more difficult when the engine was not designed with the Internet in mind.
Here's the funny thing. My job offer was for doing exactly that, just a number of years earlier than that article! It was to retrofit the SNES so that real-time games involving two or more players could be performed between homes at different areas of the world and.. successfully. The long meeting I had in the conference room that day, which spanned the morning and then continued well into the late afternoon, started with this question, "We want to know how you would approach solving this problem successfully, knowing that frame-by-frame synchronization is a requirement over the net?" I spent pretty much the entire day standing in front of a bunch of programmers listening to me think about and solve this novel problem -- the very basis for their as-yet undeveloped product. They put the entire problem in my lap to see how I dealt with it.

Turns out, I was able to come up with several possible avenues of making this work out. I won't bore people with the details here but I did get a job offer the next day, so I suppose there was perhaps at least some small merit to the way I thought about it, at least, if not for the solutions I proposed.

Thanks for the article. Short and it brought back memories.
« Last Edit: November 14, 2017, 04:01:18 am by jonk »
An equal right to an opinion isn't a right to an equal opinion. -- 1995, me
Saying religion is the source of morality is like saying a squirrel is the source of acorns.  -- 2002, me

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 6463
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: How were early 8 and 16-bit games programmed?
« Reply #26 on: November 14, 2017, 02:42:07 pm »
Wow!!! Thanks. That was written in 1999, it says. From the article: Here's the funny thing. My job offer was for doing exactly that, just a number of years earlier than that article! It was to retrofit the SNES so that real-time games involving two or more players could be performed between homes at different areas of the world and.. successfully. The long meeting I had in the conference room that day, which spanned the morning and then continued well into the late afternoon, started with this question, "We want to know how you would approach solving this problem successfully, knowing that frame-by-frame synchronization is a requirement over the net?" I spent pretty much the entire day standing in front of a bunch of programmers listening to me think about and solve this novel problem -- the very basis for their as-yet undeveloped product. They put the entire problem in my lap to see how I dealt with it.

Turns out, I was able to come up with several possible avenues of making this work out. I won't bore people with the details here but I did get a job offer the next day, so I suppose there was perhaps at least some small merit to the way I thought about it, at least, if not for the solutions I proposed.

Thanks for the article. Short and it brought back memories.
Are you talking about Xband?  ;D
Quote
Sir Howard Stringer, chief executive of Sony, on Christmas sales of the PS3:
"It's a little fortuitous that the Wii is running out of hardware."

jonk

  • Sr. Member
  • ****
  • Posts: 259
    • View Profile
Re: How were early 8 and 16-bit games programmed?
« Reply #27 on: November 14, 2017, 05:36:44 pm »
Are you talking about Xband?  ;D
Yes, in fact!
An equal right to an opinion isn't a right to an equal opinion. -- 1995, me
Saying religion is the source of morality is like saying a squirrel is the source of acorns.  -- 2002, me

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 6463
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: How were early 8 and 16-bit games programmed?
« Reply #28 on: November 14, 2017, 08:18:42 pm »
That is something I never experienced live.
I was a very lonely child with no real life friends :( , which is something I assumed you needed in order to play video games online. I assumed that to play a video game, you would need to enter an actual person's phone number, so I thus assumed I would be unable to use Xband.
(though I understand the Saturn NetLink did do that so it is still possible to play a game against another person... though in America, finding someone that owns a Saturn might be a challenge, let alone the adapter, same game and a landline ;D )

How very different it was in the '90s, before me (and most people) were using the Internet.
Quote
Sir Howard Stringer, chief executive of Sony, on Christmas sales of the PS3:
"It's a little fortuitous that the Wii is running out of hardware."

jonk

  • Sr. Member
  • ****
  • Posts: 259
    • View Profile
Re: How were early 8 and 16-bit games programmed?
« Reply #29 on: November 15, 2017, 04:15:29 am »
That is something I never experienced live.
At first, we would use dial-up direct to their server system. They would own (have purchased) a "bank of phone numbers" that were all tied to a single number, but selected in rotary form so to speak. There would also be a rack of modems set up, as well. As people called in, they would be assigned the next phone number in order and hook up to the modem on the rack. The server would recognize the call and initiate communications.

It was a very basic extension to the existing ground line phone system and frankly could have been implemented in the 1960's, had the central offices software support for banks of phone numbers tied to a single "dial-in." So nothing really special here... and no internet required.



DARPA had started an initiative in the 1960's about surviving a nuclear attack that would wipe out most of the infrastructure in the U.S. They developed a set of techniques for distributing communications that eventually became ARPANET. Later, universities were added into the system and professors began testing the system as well as using it for various communications with each other. It was free to them, once they got their university to pony up for the infrastructure costs. (Public domain and all that.) However, this network system was not available to the general public. Only schools and the military. Public institutions, basically.

Later, by the mid 1980's or so, the internet included a number of interesting "services," such as "mail" and "nntp." A variety of programs were used to handle these added communications protocols (the universities were developing various communications ideas), such as "tin" (which I used.) MILNET split off from the ARPANET around this time and then around 1987, I think, UUNET was founded. This company was the first one able to breach the public-institution-only barrier of the ARPANET in the U.S. and offer commercial services. They did this by limiting their services essentially to email and offering those phone numbers you could call into and then access the ARPANET. Their arrangement with ARPANET was that they would require EVERY subscriber to sign a document swearing that they would ONLY use the email for personal purposes and not for business. In doing so, there would technically be no special advantages given to business in the U.S. using public moneys. It would be only personal use. Also, UUNET would allow all the universities and MILNET to use their country-wide infrastructure for university and military use, in exchange for access. So there was a mutual arrangement there, as well.

It was VERY EXPENSIVE at the time. I was barely able to consider paying for it in 1987!! But it was a lot of fun, too.

This was about the time that game companies started considering the idea of either (1) setting up their own networks with phone banks, or (2) considering the use of UUNET (which was overly expensive at the time.) So they mostly considered setting up their own networks and dial-in phone numbers. Imagination Network (Sierra Games, out in Oakhurst, California -- I flew out there to meet two game coders named Corey and Lori Cole and stay at their home for a bit) was one of the earlier such systems, starting circa 1989-1990.

That is something I never experienced live.
I was a very lonely child with no real life friends :( , which is something I assumed you needed in order to play video games online.
I'm autistic. Even today, I will go to the store perhaps once every two months or so. It takes me hours of recovery time at home after a shopping event, even a mild one. And I didn't speak a word until I was 6 yrs old, so says my mom. And I have never been to a bar. Not once in 60 years of life. I don't go to parties. I do NOT go to barbecues. I can't recall the last time I allowed anyone to celebrate my birthday, nor when I last went to celebrate the birthday of anyone else. My focus as a child was "outer space." Want to know why? Because I wanted to be alone and being in space was so attractive because I could be away from people for the rest of my life, that way. Spent years studying sailing, when I realized I could not hope to be a space pilot, thinking this might be a way to leave society behind and sail for six months at a time.

You think you had it bad? ;)

That is something I never experienced live. I assumed that to play a video game, you would need to enter an actual person's phone number, so I thus assumed I would be unable to use Xband.
(though I understand the Saturn NetLink did do that so it is still possible to play a game against another person... though in America, finding someone that owns a Saturn might be a challenge, let alone the adapter, same game and a landline ;D )

How very different it was in the '90s, before me (and most people) were using the Internet.
One could design things so that they called each other. True enough. This is what took place in the 1960's and 1970's, for the most part. We each would have a modem and it would either be in "answer mode" waiting for the other person to call, or else would dial out itself. Different frequencies are used depending on whether or not you were the one initiating the call or receiving it. We could chat once the communications clicked into place. This kind of system actually worked as far back as at least 1962, because my dad had a teletype at home that worked this way in that year. But at that time it was perhaps 110 bps, I think. (10 characters per second.)

But as ImagiNation fired up, it was long since transitioned to "phone banks." Later, phone companies offered direct internet connection straight out of the Central Office, so you could just "get service" by having a modem installed at home and using it. Not so unlike today, really. Except that the speeds are a lot faster now. Fiber optics has done much, here.
An equal right to an opinion isn't a right to an equal opinion. -- 1995, me
Saying religion is the source of morality is like saying a squirrel is the source of acorns.  -- 2002, me

Jorpho

  • Hero Member
  • *****
  • Posts: 3826
  • The cat screams with the voice of a man.
    • View Profile
Re: How were early 8 and 16-bit games programmed?
« Reply #30 on: November 15, 2017, 09:27:02 am »
It will get worse. Eventually, everyone will consider "programming" like "typing" and it will be barely anything different than whether you type faster or slower, is all. Everyone will be a programmer. And the pyramid will be all-inclusive.
You think so?  Seems to me most people will never have a particular need for programming, and many of those that do just won't have the patience to work out the necessary logic, even if it's reduced to something like Scratch.
This depresses me. I feel like a goldfish right now...

FAST6191

  • Hero Member
  • *****
  • Posts: 2304
    • View Profile
Re: How were early 8 and 16-bit games programmed?
« Reply #31 on: November 15, 2017, 11:12:39 am »
I once again find my substitution of reading in such things yields the results I expect.

Anyway. Ever been at a client's place and they want you to do a task. You write a script with a wildcard, or even a serial batch script, and change probably an hour of tedium if you did the manual way (to say nothing of the mistakes inherent to such things) into a short job. Or sat there having been asked to do something, possibly in a language you barely know (hello php in my case*), but being able to realise a base concept and then look up (or copy from elsewhere, maybe even on the same screen) you get it sorted.

*restaurant for my example for this one, they have a little script to take bookings. Christmas is coming so they need to bump pre bookings to 2 weeks ahead of time. Script does not offer that far ahead (being a free script I am sure the authors would have been delighted to take a token sum to do it for them) but muggins here fumbles around, realises it counts in seconds, does the multiplication and sorts the problem, being something as divorced from the hardware as php I did not even have to really worry about overflowing a register or exceeding the bounds of a type. Only thing stopping it from being a i r master computar haxor cheesy film sequence is I did not use the command line to do it. Equally to do it I literally alt tabbed out of a spreadsheet they had made to calculate something likely more involved.

Even if it is only road names and a shopping list that most people ever write I like living in a world where they can do that, who cares if they have no idea what iambic pentameter is or will never write a novel. The programming equivalent would be you need not get everything to Turing complete but again if the wildcard/batch thing above does not sell the example then even something as basic as a pre formed document, or document that maybe looks up today's date when you are writing it or an address from an address book. I want that in people and find it a crying shame it is not taught.

As for xband there have been a couple of threads on this site over the years that I found quite interesting. Pity they seemed to use SRAM for the patches as I would have liked to have seen what was done. Also another thing of marginal relevance now we are talking about commercial game patching
http://www.eurogamer.net/articles/2016-09-24-game-genie-declassified-that-summer-i-played-230-game-boy-games

Bregalad

  • Hero Member
  • *****
  • Posts: 2534
    • View Profile
Re: How were early 8 and 16-bit games programmed?
« Reply #32 on: November 15, 2017, 02:02:29 pm »
You think so?  Seems to me most people will never have a particular need for programming, and many of those that do just won't have the patience to work out the necessary logic, even if it's reduced to something like Scratch.
But even if, say, 20% of the population is able to program a computer, it's still a massive drop of rarety than back when 0.1% of the population could, and that was not so long ago.

As such the salry, working conditions and interest of a programming career as majorly dropped between when I was 12 and started programming for the 1st time and it was very special/unusual, and today when I feel I'm just a guy in an ocean of other guys.

jonk

  • Sr. Member
  • ****
  • Posts: 259
    • View Profile
Re: How were early 8 and 16-bit games programmed?
« Reply #33 on: November 15, 2017, 06:37:18 pm »
You think so?  Seems to me most people will never have a particular need for programming, and many of those that do just won't have the patience to work out the necessary logic, even if it's reduced to something like Scratch.
I do think so. But "programming" will also be a lot different than it is, now. So yes, people will program. But they will do so at a level that anyone can achieve without any more training than it takes now to learn to use a cell phone or a TV.
An equal right to an opinion isn't a right to an equal opinion. -- 1995, me
Saying religion is the source of morality is like saying a squirrel is the source of acorns.  -- 2002, me

Jorpho

  • Hero Member
  • *****
  • Posts: 3826
  • The cat screams with the voice of a man.
    • View Profile
Re: How were early 8 and 16-bit games programmed?
« Reply #34 on: November 15, 2017, 10:59:59 pm »
Ever been at a client's place and they want you to do a task. You write a script with a wildcard, or even a serial batch script, and change probably an hour of tedium if you did the manual way (to say nothing of the mistakes inherent to such things) into a short job.
Sure, that can happen and it makes for colorful stories – but sometimes in writing the script you encounter just enough problems that the amount of time you save is minimized.

XKCD did at least one comic on the subject:

https://xkcd.com/1319/

But we're probably getting off topic.
This depresses me. I feel like a goldfish right now...

pianohombre

  • Sr. Member
  • ****
  • Posts: 262
    • View Profile
    • My personal website of short stories and comics
Re: How were early 8 and 16-bit games programmed?
« Reply #35 on: November 25, 2017, 09:59:28 pm »
It's really not as difficult as you make it sound. Look again at the ZX Spectrum: the Oliver Twins were making top selling games while they were still at school. I think Matthew Smith made Manic Miner and Jet Set Willy when he was around 16. Most programmers for the 8-bit computers were young, and did their own graphics and sound, too. Look at homebrew games. Sure, a lot of them are simple, but you don't need to be a university grad to do it.

Best-selling games no one has ever heard of. The games that go along with the hardware consoles are always the most popular. Sometimes they even throw in a free game or 2 when you purchase a new console. These are the games people remember, because most consumers can't afford to purchase tens or hundreds of games, that are published with each generation of consoles. The arcade classics also are memorable.
"Programming in itself is beauty,
whether or not the operating system actually functions." - Linus Torvalds

FAST6191

  • Hero Member
  • *****
  • Posts: 2304
    • View Profile
Re: How were early 8 and 16-bit games programmed?
« Reply #36 on: November 25, 2017, 10:50:07 pm »
That may depend where you are in the world, and possibly your take on history as well. Granted I am not entirely sure what a "hardware console" is.

Manic Miner and Jet Set Willy are probably only behind Asteroids, Tetris and Pong among those of a certain age/disposition (usually typified by a phrase like "I have not played games since [insert game]"

pianohombre

  • Sr. Member
  • ****
  • Posts: 262
    • View Profile
    • My personal website of short stories and comics
Re: How were early 8 and 16-bit games programmed?
« Reply #37 on: November 26, 2017, 05:46:20 pm »
When I was 18, I was able to design and build a small computer of my own using wire-wrap. I had newspaper reporters coming to my home because of this. (I have no idea who tipped them off.) This was 1974. My chosen field was physics and mathematics. And it turns out that these were the kinds of people who were involved as programmers back in that day. If I were talking to another programmer then, I could bring up the use of a LambertW function and would NOT need to explain it to them. They would already know exactly what I meant and why it would be appropriate. If I wanted to compute a sine function, I could point out that a Chebyshev function bounds max error and converges faster and I could be assured they would know what I meant and why (Taylor's bounds average error, not max error, and converges more poorly in these cases.) All of us were cut from a similar cloth, then. I could write an operating system, a compiler, etc., from scratch and didn't need a book. (As an example, I was flown to a site in California to work on a project and had written from scratch, tested, and completed a full multi-threaded operating system in less than two days -- without the use of any pre-existing code or libraries.)

I find this hard to believe. Not the computer built from tin-foil, and recycled jock straps of dead football players, but that you were able to build a multi-threaded OS in less than 2 days. How many years has Torvalds worked on the kernel for Linux? Maybe that bare-bones OS I've seen that could still fit on a floppy disk (I don't recall the name), but it had issues with plug N play Wi-Fi connection.

I think I've heard of M-theory in the past, yet I don't remember the premise. Does it have anything to do with 8-bit and 16-bit programming? Can a star cluster fit into an Atari, or does Galaga count? Yes, apparently computers have to do with physics, and math, and engineering, and art unfortunately. How useful are modern computers anyways? (Let me know when they make an affordable machine that will fold your laundry after it dries).
"Programming in itself is beauty,
whether or not the operating system actually functions." - Linus Torvalds

FAST6191

  • Hero Member
  • *****
  • Posts: 2304
    • View Profile
Re: How were early 8 and 16-bit games programmed?
« Reply #38 on: November 26, 2017, 06:57:07 pm »
(Let me know when they make an affordable machine that will fold your laundry after it dries).
Done at least by 2013
https://www.youtube.com/watch?v=Mr7U9pQtwq8

I find this hard to believe. Not the computer built from tin-foil, and recycled jock straps of dead football players, but that you were able to build a multi-threaded OS in less than 2 days. How many years has Torvalds worked on the kernel for Linux? Maybe that bare-bones OS I've seen that could still fit on a floppy disk (I don't recall the name), but it had issues with plug N play Wi-Fi connection.

2 days, call them long ones. Some idea of what you are doing when you roll in. Fixed hardware with a nice reference for it. Probably not much security or abstraction. If the hardware in question was at least partially geared towards it (no X86 nonsense with TSR sort of thing) then even better. Seems plenty doable to me, not easy but doable. Likely not going to have a nice slot in driver model and massive scope for extensibility and whatnot but that was not the claim.

Psyklax

  • Hero Member
  • *****
  • Posts: 670
    • View Profile
    • Psyklax Translations
Re: How were early 8 and 16-bit games programmed?
« Reply #39 on: November 26, 2017, 07:07:10 pm »
Best-selling games no one has ever heard of.

Young man, you may well have never heard of them, but in places other than the US they were certainly popular. Besides, I'm not entirely sure what you're getting at: my point was that to make a great 8-bit game you didn't need to be a genius. If you really insist on using something like Nintendo as an example, Masahiro Sakurai was 19 when he lead development on Kirby's Dream Land - and I sincerely doubt he was using high-level programming.

Again, I really don't understand what you're driving at now. People with far more knowledge and experience than me have given excellent answers to the initial query in this thread.