It is currently Tue Jun 18, 2019 11:39 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 6 posts ] 
Author Message
PostPosted: Fri Mar 22, 2019 6:18 pm 
Offline

Joined: Fri Jan 11, 2013 7:20 am
Posts: 4
Whats good my dudes!

Creating a nes project has been on my mind for about 10 years and was a bit suprised when I was already registered here since 2013.
So im on day 3 of my development journey in trying to understand the system. Now I've been doing mostly webdevelopment for 15 - 20 years so nothing on the lower level really so I already feel my brain turn in to mush :mrgreen:

Since I'm a webdevloper my weapon of choice is html, css and javascript, node and bundle it all to an electron app.

day1-2
ca65 build file
Project skeleton set up.
Open and save projectfile.
Create, import, export, save colorpalettes.
Basic sprite tool

day3 - today
Trying to understand CHR files so i can parse and draw it with my own sprite tool. The sparse information I found was this https://simple.wikipedia.org/wiki/Chr.
I'm reading the file and getting uint8(0-255) values. Not sure if thats even right tho. :lol:

I find it easier to grasp things by doing the tools myself. Like if I would download and use someone else CHR tool i'd probably not care to much about how it actually works. Same with the palettes, which was pretty easy to implement and export.

The end goal right now isn't a full fledged game engine, but hopefully i can create enough tools for me to learn and eventually speed up any development process and come to a point where i actually manage to create an engine.

I always develop in silence and tend to lose motivation(I mean it's about ten years since I first wanted to create a game :P ) so i'm trying something new and putting my journey out there and have something to reflect and see progress on.

Anyways some screens and a small video of the progress so far.

Not sure whats prefered. External or upload directly to the forum?
https://drive.google.com/drive/folders/ ... FsRzCydboR


Top
 Profile  
 
PostPosted: Sat Mar 23, 2019 2:30 pm 
Online
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 2523
Location: DIGDUG
Have you figured out the CHR format?

It's 2 bits per pixel, but each bit comes from a completely different byte.

tile #0 uses bytes 0-15 of a CHR file, but bytes 0-7 hold all the low bits, and bytes 8-15 hold all the upper bits. Then those bits are combined to determine which color each pixel uses.

https://wiki.nesdev.com/w/index.php/PPU_pattern_tables

_________________
nesdoug.com -- blog/tutorial on programming for the NES


Top
 Profile  
 
PostPosted: Sat Mar 23, 2019 7:16 pm 
Offline

Joined: Fri Jan 11, 2013 7:20 am
Posts: 4
dougeff wrote:
Have you figured out the CHR format?

It's 2 bits per pixel, but each bit comes from a completely different byte.

tile #0 uses bytes 0-15 of a CHR file, but bytes 0-7 hold all the low bits, and bytes 8-15 hold all the upper bits. Then those bits are combined to determine which color each pixel uses.

https://wiki.nesdev.com/w/index.php/PPU_pattern_tables


Hey, thanks alot man.
Honestly i actually thought ppu pattern tables refered to something else. :| But i think i get it now, with the help you provided. :beer:


Top
 Profile  
 
PostPosted: Sun Mar 24, 2019 6:50 am 
Offline

Joined: Fri Jan 11, 2013 7:20 am
Posts: 4
dougeff wrote:
Have you figured out the CHR format?

It's 2 bits per pixel, but each bit comes from a completely different byte.

tile #0 uses bytes 0-15 of a CHR file, but bytes 0-7 hold all the low bits, and bytes 8-15 hold all the upper bits. Then those bits are combined to determine which color each pixel uses.

https://wiki.nesdev.com/w/index.php/PPU_pattern_tables


I probably wasted 2h before i realized that combining != adding them together. :|

If anyone else has trouble understanding it.
If the low bit is 1 the value is 1. if the high bit is 1 it's 2. and lastly if they are both one it's 3. Giving you a color code from 0-3. So you don't actually add low + high bit together to get the result.


Top
 Profile  
 
PostPosted: Mon Mar 25, 2019 9:42 pm 
Offline

Joined: Sun Nov 23, 2014 12:16 pm
Posts: 290
I'm assuming that you are wanting to code the game from scratch?

You could always try NESmaker an another option.

Also I've been wanting to have a website for years, but don't understand how it all works. I might drop you a PM if you don't mind me asking some basic questions on how to get a webpage up.

Thanks and looks like a cool project that you are working on.


Top
 Profile  
 
PostPosted: Mon Mar 25, 2019 11:43 pm 
Offline

Joined: Fri Jan 11, 2013 7:20 am
Posts: 4
Instead of bumping my own thread all the time i just put some small clips on my drive if anyone follows the process. Sort it by date and you can see the progress.

Erockbrox wrote:
I'm assuming that you are wanting to code the game from scratch?

You could always try NESmaker an another option.

Also I've been wanting to have a website for years, but don't understand how it all works. I might drop you a PM if you don't mind me asking some basic questions on how to get a webpage up.

Thanks and looks like a cool project that you are working on.


Yes i am going to do my own, and the tools to help me do it, from scratch. :)

They seem like fun characters and cool stuff what they are doing, but their software is not for me.

I don't mind at all. Also available on discord(mainly) and slack. But you can pm me first.


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

All times are UTC - 7 hours


Who is online

Users browsing this forum: NOOPr and 6 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:  
Powered by phpBB® Forum Software © phpBB Group