[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Free Show | Home]

How did even the basic retro 2D games ever get made when the

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 99
Thread images: 6

File: sonic.png (19KB, 480x328px) Image search: [Google]
sonic.png
19KB, 480x328px
How did even the basic retro 2D games ever get made when the programming for them is so ridiculously complicated? Like just making a guy made out of a dozen or so pixels move around on a screen with low quality music and sound effects requires an elaborate scheme of three or four classes full of planned transactions between each other with arcane references to graphics and audio APIs.
>>
>>4027038
https://www.youtube.com/watch?v=GH94fKtGr0M
>>
>>4027051

Goddamn it, that's like a billion times even more complicated than the already complicated stuff I was looking at. Also:

>a game he was working on for the past 3 years

I can't imagine working on any one thing for longer than a week or two, how do you keep up with that insane level of endurance?
>>
Graph paper

Miles of graph paper and pre planning
>>
File: mad.jpg (15KB, 324x312px) Image search: [Google]
mad.jpg
15KB, 324x312px
>>4027038
>an elaborate scheme of three or four classes full of planned transactions between each other with arcane references to graphics and audio APIs

Shit man, do you even program? Or do you just copypaste from Stack Overflow?

>>4027073
>Miles of graph paper and pre planning

This, holy fuck. You'll be drawing maps of your memory layout, taking note of all the addresses for your peripherals

>>4027062
>I can't imagine working on any one thing for longer than a week or two, how do you keep up with that insane level of endurance?

Developing for an old system is not for you. It's a lot of pain-in-the-arse careful work. Every retarded homebrew you see has countless hours of sweat and blood poured into it. Some folks like to tinker with this sort of thing.
>>
At least coding in Assembly reduces the amount of syntax you need to memorize, which theoretically makes the entry easier.

Everything beyond that is just a really messed up, big, abstraction problem.
>>
>>4027062
>I can't imagine working on any one thing for longer than a week or two

Do you have legit ADHD? How do you even make it through an RPG if you lose interest that fast?
>>
>>4027085

I program in exactly the same way I maintain my apartment, with everything all piled into the same place and no organization. I don't understand the appeal to that extreme object oriented approach in the java examples I was looking at. I use C# (or even C++) more often and just call methods directly instead of setting up an elaborate keikaku of classes. It's not that I don't know how (I've taken that sort of approach once or twice on a large work project just to see if it helped), I just don't care if I can accomplish what I need to without it.

>>4027145

>Do you have legit ADHD?

No, it's not like I bounce around to a bunch of other things, I just don't have a lot of energy to be grinding away at one thing for that long. Maybe when I was younger (like 18 or under younger), but with each passing year I've lost more and more energy and I'm 30 now so I'm barely able to take care of feeding myself and showing up to work on a regular basis let alone keep up with a non-mandatory ultra long-term hobby.

>How do you even make it through an RPG if you lose interest that fast?

I don't think I could make it through one nowadays to be honest.
>>
>>4027038
its probably inconceivable today, but back then programmers were on average much more skilled at what they do

since technology has exploded, this has caused a number of things:

> more people want to become programmers, so naturally this will mean people who are less interested / able, meaning the average skill of a programmer goes down

> universities trying to capitalise on this create specialised degrees which don't teach anywhere near the required content, only enough for graduates to smash out barely functional code

> businesses identify programmers as a large cost they don't really understand, so they try to cut costs by hiring cheaper (and thus less skilled) programmers

> the advancement of technology means there is more performance / technical head room for stupid mistakes. bad quality code will run just fine on a modern computer, for example, while on barebones minimalist hardware like the retro consoles there is no room for such mistakes. this makes for good programmers

code and the programmers writing it will only progressively get worse. the only escape will be when we perfect AI which can write programs for us
>>
>>4027406
I think you're getting off the course of this thread.

Game engine programmers still require a high skill set. Things like democratization and popularization of programming or outsourcing don't really play into dumbing down the profession. I really fail to see how modern game engines that are indeed more complex require less skill to program.
>>
>>4027038

I sure hope you're not talking about Japanese games, since Japanese are terrible programmers.
>>
>>4027406
T. Retard talking out of his ass
>>
>>4027448
Good thing their industry is vanishing, the Japanese are terrible with technology.
>>
>>4027478
Uh... what?
>>
>>4027529
Look it up, kid, their industry is falling behind. The west dominated them like they did with Hiroshima. Nobody wants to play weeb games anymore.
>>
>>4027542
>Japanese are terrible with technology.
Explain.
>>
>>4027551
Look at their websites, it's still stuck in the 90s. They still use fax machines in offices for fuck sake.
http://www.japantimes.co.jp/community/2015/11/25/voices/japan-surprisingly-sensibly-endearingly-low-tech/
>>
>>4027553
That's Japanese office management for you. The office culture is full blown autism compared to west, and its thanks to suits and their stone age mentality. The "yes man" mentality is a huge issue as well in a lot of companies.
>>
>>4027553
>implying there's a single god damned thing wrong with fax machines

It was thanks to the fax machine that America became such a power house in the 80s. Show some damn respect, it's Memorial Day for Christ's sake.
>>
>>4027542
>Nobody wants to play weeb games anymore.

I sure as hell do. 99% of the games worth playing were developed in Japan.
>>
>programming a simple graphical physics simulation
>complicated

True computing wizards have accomplished far greater tasks. People have written assemblers, compilers, entire operating systems that run on bare metal
>>
File: 2964335-charts.jpg (62KB, 681x621px) Image search: [Google]
2964335-charts.jpg
62KB, 681x621px
>>4028039
Well you're in the minority. The fact is these games don't sell anymore
>>
>>4028093
This, reality of game programming is that it is a tedious repetitive code monkey job where they spent most of their days entering data into spreadsheets.
>>
Also,

>>4027038
>requires an elaborate scheme of three or four classes full of planned transactions between each other with arcane references to graphics and audio APIs.

Requires is a strong word. You think like that because you were probably taught OOP in your Java programming class and you learned to look at everything like they're objects. You conjure up some ideas about the things that exist in your game like "hero" and "enemy", make a nonsensical hierarchy out of those likely involving some GameObject god class, wire them all up and then use third party sound and graphics libraries other people made that talk to the OS on your behalf.

Retro consoles don't have an operating system running -- it's just your game running on the rather esoteric processor with memory-mapped I/O to the cartridge's ROM as well as the even more esoteric sound and graphics processors, and that's when there aren't any custom chips in the cartridge itself. Most modern programming languages hadn't even been invented; they came around in the mid 90's. If you had an official SDK from Nintendo or Sega, you probably had a C compiler and some routines. And with that you must program a timing-sensitive, soft real time application designed to run on an extremely resource-constrained machine. If you're used to the modern computer's extremely simple and intuitive OpenGL surface where you do your graphics operations, looking back into something like the SNES hardware, with its notions of sprites and color codes and god knows what else, it makes you realize just how limited these consoles really were. You had to intimately know and stay as close as possible to this hardware, in order to do what you needed to do.

>>4028112
Yeah. Game programming isn't terribly exciting nor glamorous. It's often a crunch job where you're overworked and have to meet impossible deadlines. You're expected to know a little about everything and somehow make everything work.

Compared to retro compsci, it's code monkey
>>
>>4027038
Your definition of "complicated" and the reality are two very different things. There was nothing complex about game development. A lot of tedious stuff, but not complexity (unless the developers intentionally made their code complex...).

Most sprite stuff was done by the graphics hardware, by the way. Developers didn't have to write code to move individual pixels like you seem to imply. Of course, if you wanted to move a metasprite composed of multiple subsprites around the screen you needed some code for that, but that's trivial. Sprites are just data, and unless you were doing software effects like rotation or scaling (on the Megadrive) you didn't have to do much with that raw data besides decompress it and DMA it into VRAM.
>>
>>4027038
>classes

wat

no classes or assembly

no classes in the rare C game either
>>
>>4027551
Not him, but typically, Japan's take on games and programming is mostly incremental improvements and more labor, whereas the west typically is the one working on experimental branches that push things forward by leaps and bounds.

This is why Japanese games typically have a higher average quality than western games, simply because more labor is put into them to work with what they know. The west will put out some truly amazing games as well, but they're fewer in number because for every great and awesome game that does something new, there's others that tried and failed and serve as nothing more than examples for future works.

In short, the Nips do things incrementally while the west is all about leaps and bounds at the cost of quality.
>>
>>4028147
>but they're fewer in number
Could swear the US made many more games than Japan ever did, and the amount of Japanese games is only diminishing in recent years with their shrinking market.
>>
>>4028147
Japan's take on computer programs was to create literal software factories
>>
>>4027051
>periphery shirt
jesus fucking christ...cancer.
>>
https://retrocomputing.stackexchange.com/

Shit ton of knowledge in this site guys. In particular:

https://retrocomputing.stackexchange.com/a/1338
>>
>>4027542
>/vr/
>hates japan
Why are you even here?
>>
>>4028192
>only Japan makes old games
Yeah, kid, you're the one trying to fit in.
>>
>>4028097
I don't see a single game on that list I want to play.
>>
>>4028258
But there's Catherine, bro. What about Catherine, Catherine is awesome.
>>
>>4028263
Not interested in it.
>>
>>4027038
If you think 2D is complicated wait until you get to 3D. You need a whole new dimension to account for when doing math.
2D is piss-easy in comparison, dude, you make yourself sound like a total newbie.
>>
>>4028269
Too bad, you have shit taste.
>>
>>4027038
>programming for them is so ridiculously complicated?
It's not.

>>4027062
>I can't imagine working on any one thing for longer than a week or two, how do you keep up with that insane level of endurance?
Jesus Christ. You will never accomplish anything of significance beyond producing trash that will survive for millennia.
>>
>>4028153
I meant more in a ratio sort of way. Obviously that small island in Asia isn't going to produce the same amount of stuff as the combined might of the US and Europe.

Japan punches above its weight though sheer amount of labor and polish put into games, but ultimately are stagnant, needing the west to design and develop the tools that would let them go even further. The west puts out a lot of games which are basically playable tech demos, exciting for programmer types and enthusiasts, but ultimately lacking a lot of the quality of their counterparts.
>>
File: mah nigga.png (90KB, 318x235px) Image search: [Google]
mah nigga.png
90KB, 318x235px
>>4028130
>DMA it into VRAM
>>
>>4027038
>Like just making a guy made out of a dozen or so pixels move around on a screen with low quality music and sound effects requires an elaborate scheme of three or four classes full of planned transactions between each other with arcane references to graphics and audio APIs.
stop that

in the old days, you were basically working at the device driver level always (but the devices were pretty simple), no fancy function calls or classes or whatever, just loads of data manipulation and memory access, you had a hardware manual provided by the console manufacturer telling you the addresses and timings and whatever

things were pretty basic
for graphics, you'd load your graphics data into vram at the start of each stage, hit the video registers to set what tiles are showing (eg, backgrounds, hud), what sprites are shown and where (game objects), probably just have an array to handle whatever objects on screen with position and type and you'd cycle through that in your game logic
same with sound, you'd just traverse a big note table every few frames and you'd set the sound chip registers each frame (eg, you could have a lazy, easy sound driver that just faded each note out each frame and increased the table index every 6 frames to start a new note)
timing was done by just waiting for vsync, much simpler than now (where you'd need to a: write the game to run at variable framerate, which is a hell of a lot of overhead on older hardware and complicates things in general, or b: count with a high resolution timer in a loop for however many frames/second you want the game to run at -- you can't use vsync anymore because it could be 60, 70, 75, 120, 144, etc)

everything was pretty simple to work with, if not quite easy (debugging in the old days was awful)
>>
>>4028147
>The west will put out some truly amazing games
Like what? Can't think of any.
>>
>>4028193
You are on 4chan on top of it.
GTFO
>>
>>4029252
>4chan is a weeb site
This ain't 2007 anymore. Things have changed.
>>
>>4029260
Heck, being weeb is considered pretty normalfag these days. Plenty of ironic weebs on Steam and Facebook. It's hardly a niche anymore.
>>
>>4029260
Yeah it becomes a Japanese site.
>>
>>4029307
Hiroshima is a even bigger normalfag scammer than m00tles. You're delusional, kid.
>>
>>4029319
Who the fuck is mootles? A new yioutube celeb?
>>
>>4028130
having dabbled in nes and sega development i think this is fair. Its not difficult as much as tedious and error prone.

you quickly start building your own tools to take care of various things. I ended up writing more scripts and template code than actual game guts for a snake game I was working on. some stuff is just better done by hand though. I recall reading about rare unrolling all their loops to optimize for speed instead of space. obviously they have some pre-compilation tooling to take care of that every time. that industry grade tooling and know-how has all been lost though. A good team with standards, some previous code to pull from, a solid chief engineer, and good tools could probably develop a game pretty quickly.

This is how SMB 1 was created. They pulled code from ice climber and polished their processes developing ice climber before doing SMB 1. it did not take them that long, really.
>>
>>4027038
Yes.
>>
>>4027051
That's some weaponized autism right there. Mad props
>>
>>4028130

>Developers didn't have to write code to move individual pixels like you seem to imply.

I didn't mean to imply that. I was just pointing out that even the simplest game where the graphics are so low quality that your sprites are only a dozen or so pixels each is still surprisingly complicated to write out. As in I'd expect a good looking 3D game to involve lots of complexity but I wouldn't expect that from a game where the characters are so simple you can draw them with a dozen clicks in paintshop. Not that graphics are the only consideration, but that's one of the aspects of what I'd consider a simple game. I never meant to suggest the dozen or so pixels were things you had to move on a pixel by pixel basis. You'd obviously just reference the area of the sprite sheet you need for each asset.
>>
>>4028093

It's surprisingly complicated for what it's doing. I program for work and have been doing so for 8 years, and it's also not like I've never written anything complicated. I put together a modestly sized domain specific language interpreted in C++ where you could run it off little custom extension script files or work with an interactive console a couple years back for example. That was of course more complicated than making a low quality 2D game, but I expected it to be complicated, whereas with the figuring out throwing together a low quality 2D game task I tried looking into recently I wasn't expecting it to be complicated.
>>
>>4029320
>when you're so new you don't know who m00t is
fuck off.
>>
>>4029965
Excuse me I don't follow youtube gossip.
>>
>>4027038
>arcane references to graphics and audio APIs.
Old consoles didn't had APIs or OSs, all games ran on metal up until the Dreamcast.

>>4027062
>I can't imagine working on any one thing for longer than a week or two, how do you keep up with that insane level of endurance?
AM2R, SM64: Last Impact, Megaman X Corruption, all took 10 years to make
You have weak willpower.
>>
>>4027321
>It's not that I don't know how
No, it's exactly this. You think it's a hassle because you don't actually understand it. This is coming from a guy who has worked real jobs in programming. Real projects require that you get your shit organized. I've taken apart code from guys who used your philosophy (hint: I say "used" because they're no longer with the company, and not because they found better jobs elsewhere), and it's always full of redundancies and inefficiencies that just take up unnecessary space, waste resources, and don't even flow intuitively. They're a pain to adjust to changing business requirements as-is, so I've had to rewrite them to be flexible. If you think you don't need to use classes for object-oriented shit, you're not working on a problem like those you'll actually encounter in a real job. Ask your professors for extra work that'll fuck your shit up now, because you won't like learning the hard way when a paycheck and a career are on the line.
>>
>>4029753
>I put together a modestly sized domain specific language interpreted in C++ where you could run it off little custom extension script files or work with an interactive console a couple years back for example

Ever heard of Lua
>>
>>4030091
>Megaman X Corruption, all took 10 years to make

Are you saying MMX Corruption is done?
>>
>>4030105

>professors

Like I said, I've been working in programming for eight years now, starting around when I graduated from university eight years ago. I also didn't say I *never* create classes and do the object oriented approach, just that I don't bother with it most of the time. If I'm going to write something that runs once a day and just makes a SQL connection, runs a query, reads in the results, writes the results to a file, and emails it to some people, I'm not going to make an elaborate class based structure to accomplish that. I don't think that's unreasonable. That's all I was getting at with the reaction I had to looking at some simple 2D game examples written in java: they all took this same extreme object oriented approach to everything instead of taking some of the more straightforward tasks and just writing them in the straightforward way.

>inefficiencies

Yeah, I won't claim I write anywhere close to perfectly efficient programs. I focus more on just getting stuff done most of the time. I'm not a computer scientist, I'm just a guy who does a lot of ad hoc automation crap for a company that's badly needed it. And speaking of programmers no longer being with the company, most of the ones I've seen getting termed over the years followed rigid perfectionist approaches to doing tasks that didn't really call for it. The business side much prefers quick turnarounds with something that works vs. months and months of formal planning and development for a perfect product that nobody cares about anymore by the time they're done.
>>
>>4030314
>followed rigid perfectionist approaches to doing tasks that didn't really call for it

I like it when programmers care about what they're doing but I also agree with you there. Sometimes good enough is all you need.

Perfectionism is great when you are designing things that will last forever. Designing an interface of any kind, for example. Badly designed APIs can make life living hell and it can't be fixed. Binary interfaces in particular are pretty much set in stone once people start using them. Perfectionism can pay off in these cases. It's better to not release something than have to support it for life.
>>
>>4030326
>Perfectionism is great when you are designing things that will last forever.
The problem is that temporary solutions tend to become permanent solutions. Certainly premature optimization is a trap, but the overhead of careful planning is absolutely not a waste of time.
t. EE PhD student w/ the only CS background in the group. jesus god help me
>>
>>4030136
It'll be done soon
>>
>>4027038
>do not repost

The autism is strong in the creator of this image.
>>
>>4028258
>Not wanting to play Catherine
:O But it's probably the only really good entry on that list!
>>
>>4032138
what's that even about? some waifu game?
>>
>>4028269
Like the best puzzle game of the last decade. It was a little too difficult for a lot of people though. I remember most reviewers hated it and didn't get past the 2nd out of 8 or so areas.
>>
>>4028130
>Most sprite stuff was done by the graphics hardware
Even in computers?
>>
File: Stephanie.jpg (6KB, 150x205px) Image search: [Google]
Stephanie.jpg
6KB, 150x205px
>>4027051
>3 years
Please end me
>>
>>4033117
In the good gaming computers, like c64, yes.

In a 'pc' no. Cga ega vga never supported any number of hardware sprites. Everything had to be done on the cpu.
>>
>>4029984
are you fucking with me?
>>
>>4034302
>Everything had to be done on the cpu.

Is that really so bad?
>>
>>4027553
I've worked in banks, investment firms, and the government in both france and the United States. They all use fax machines. Everyone uses fax machines. Have you never had a job? Do you just believe memes????
>>
>>4036019
Give it up, weeb, Japan has fallen behind compared to the West.
>>
>>4036019
They use fax machines in 2017?
>>
>>4036031
They don't. The weeb doesn't know jack shit about a corporate environment.
>>
>>4036042
>>4036028
>>4027542
>>4027478
>>>/v/
>>
>>4036070
Now, YOU fuck off
>>/a/
>>/jp/
>>
>>4036094
Again.
>>>/v/
>>
>>4036028
>>4036031
>>4036042
>weeb

For example, a lot of banks I know will ONLY accept wire transfers through fax; not emails, because fraud has gotten so bad

They still have a place.

I'll admit when people with the us govt faxed stuff when I was there, it was a case of old people being tech illiterate
>>
>>4036125
>fax
>more secure than email

I don't buy it. Modern cryptography has so many authentication tools available it's not even funny. If you're a bank and you get defrauded via email you're stupid.

Maybe it's just that faxes are so obsolete, banks that require them aren't worth defrauding (or using).
>>
I love the nerds who spend paragraph upon paragraph explaining why they're not actually a stubborn ignorant tool guys I'm just wondering really, please someone give me more attention
>>
>>4036221
What are you even talking about
>>
Then why did teenagers make so many games in their bedrooms?
>>
>>4029260
is it still .net?
>>
>>4036368
we .org now, mang
>>
>>4036303
They were smelly Yuro devs working on smelly Yuro computers making inferior smelly Yuro "games".
>>
>>4036374
Yurotrash did tech demos with eye raping colors and jumping letters, not games.
>>
>>4036413
You're thinking of 16 bit, he clearly meant 8 bit because Europeans didn:'t use European computers in the 16 bit.
>>
>>4036125
>>4036192
I worked in a doctor's office for 3-4 years. We faxed EVERYTHING. No email because of HIPAA bullshit.
>>
>>4027138
>At least coding in Assembly reduces the amount of syntax you need to memorize

I mean, Assembly languages tend to have A LOT MORE commands than high level languages.
You can simply do with very little if you don't mind writing bad code.

There's 1500 different commands in modern x86. That's not getting into remembering all the registers and how they interact with the instructions.

There's a lot of things Assembly is, having a smaller pool of essential tools is not one of them.

It's partially because x86 is a juggernaut but even a common ARM processor has an assembly with about 500 different commands and it's fairly normal to expect about the same from PowerPC.
>>
>>4035891
mind that PCs were much faster at raw drawing than the C64 or ZX Spectrum and had enough memory to do so

sprites and tiles ultimately were just one big speedhack and memory saving technique. you wouldn't have it any other way with up to 64kb memory available
>>
>>4037169
>HIPAA bullshit

Tell me more
>>
File: 65C02 Opcodes.jpg (239KB, 800x790px) Image search: [Google]
65C02 Opcodes.jpg
239KB, 800x790px
>>4037204
>x86
>retro
pic related is the ENTIRETY of the instruction set of the most common microprocessor of 80s home consoles and microcomputers.
>>
>>4038663
Also, the MOS 6502 had 3 registers, an accumulator and 8 status bits. That's all.
>>
>>4038664
what's the 3 registers?
>>
>>4038664
theres only 6 status bits tho
>>
>>4038818
>>4038820
Excuse me, my memory failed me. According to Wikipedia:
>The 6502's registers include one 8-bit accumulator register (A), two 8-bit index registers (X and Y), 7 processor status flag bits (P), an 8-bit stack pointer (S), and a 16-bit program counter (PC).

Still, the point stands that this was a circuit that was surprisingly easy to get accommodated with, yet surprisingly hard to master, as the evolution of classical 8-bit games across systems based on it has shown. It's amazing what they could do with the hardware at the end of its lifetime.
Thread posts: 99
Thread images: 6


[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y] [Search | Top | Home]

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
All trademarks and copyrights on this page are owned by their respective parties.
Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.