Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I have a strong programming background just not from game development. I only made some pong and snake in high school and I did some OpenGL in college.

I want to make my own game engine. Nothing fancy just a simple 2D game engine. But because I'm kinda old school and feeling retro. I want graphics to look like old 8 bit games (megaman, contra, super mario, ...).

So how were the old games made back then? I want the simplest approach. Were they also using assets (images) like newer engines now do? How do you achieve this kind of rendering using OpenGL?

Keep in mind. Simplest solution. I want to know how it was made back then and how I can replicate that. Doesn't even have to be OpenGL. I can draw on window canvas. I do want to make it from scratch basically.

share|improve this question
4  
8bit graphics are a matter of assets and not programming, I suppose you could limit your color palette in the code, but that sounds a little too much just for the old school feel. –  Luke B. Nov 26 '12 at 19:13
    
If you want 8-bit like graphics, limit the color palette when you make your art assets and always use nearest-neighbor filtering on textures. –  Robert Rouhani Nov 26 '12 at 19:14
3  
Where to get started and which technology to use questions are off topic for the site. See the FAQ to learn what types of questions to ask here. You could try rewording your question to just ask about how to render 8bit graphics, and remove everything about making a game engine. –  Byte56 Nov 26 '12 at 19:19
1  
What Byte56 said - this could be a great and useful question if you reworked it to be more specific to a precise topic. –  Darth Satan Nov 26 '12 at 19:34
    
Changed. Hope it's better now. –  Matjaz Muhic Nov 26 '12 at 19:47

1 Answer 1

up vote 6 down vote accepted

So how were the old games made back then?

Completely differently -- more akin to what we would now call "embedded system programming". Mode-based graphics from 8-bit consoles and arcade boxes were driven by the hardware, not the software. The game code (typically assembly) poked specialized memory on an instruction-schedule (e.g. X instructions per scanline).

How do you achieve this kind of rendering using OpenGL?

Texture-map a quad with filtering turned off. Better yet, batch several quads together and atlas the assets for better performance.

share|improve this answer
    
"atlas" the assets? What does that mean? –  Matjaz Muhic Nov 26 '12 at 22:03
    
Pasting multiple images onto one texture image and "picking" which to show using the quad's UVs. So, e.g., all the background tiles could gridded onto one texture sheet, and then you only need to bind one texture before rendering the background layers. –  Max Nov 26 '12 at 22:22
    
Oh. Something like sprites? –  Matjaz Muhic Nov 26 '12 at 23:37
    
@Matjaz: Very much like sprites. That word meant something different long before 3D graphics accelerators came along. –  Ilmari Karonen Nov 26 '12 at 23:53

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.