NESBit Studio - Development tools

A place where you can keep others updated about your NES-related projects through screenshots, videos or information in general.

Moderator: Moderators

Post Reply
hjalmar
Posts: 7
Joined: Fri Jan 11, 2013 7:20 am

NESBit Studio - Development tools

Post by hjalmar »

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
Last edited by hjalmar on Mon Feb 22, 2021 8:32 pm, edited 1 time in total.
User avatar
dougeff
Posts: 3079
Joined: Fri May 08, 2015 7:17 pm

Re: BeverlyHills6502 - Development tools

Post by dougeff »

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
hjalmar
Posts: 7
Joined: Fri Jan 11, 2013 7:20 am

Re: BeverlyHills6502 - Development tools

Post by hjalmar »

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:
hjalmar
Posts: 7
Joined: Fri Jan 11, 2013 7:20 am

Re: BeverlyHills6502 - Development tools

Post by hjalmar »

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.
Erockbrox
Posts: 397
Joined: Sun Nov 23, 2014 12:16 pm

Re: BeverlyHills6502 - Development tools

Post by Erockbrox »

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.
hjalmar
Posts: 7
Joined: Fri Jan 11, 2013 7:20 am

Re: BeverlyHills6502 - Development tools

Post by hjalmar »

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.
hjalmar
Posts: 7
Joined: Fri Jan 11, 2013 7:20 am

Re: BeverlyHills6502 - Development tools

Post by hjalmar »

Man oh man! I had to shelf this project for a year. But I'm now back and I have been able to put in a lot of work these past 2 months.

As I picket up the project again I instantly swapped from my custom frontend framework to somehthing open source since I have no ambition
continue on with that and it's also a waste of time for this project.

Also the system got totally action based. So anything it does is done via actions. And in turn these actions executes the task which
mean that anything and everything can have keyboard shortcuts. These shortcuts is also both global or whats currently active so that
different sections can have same shortcut but perform different taks. For instance 'Shift + N' can create a blank spritesheet while
on the palettes section it creates a blank palette.

The pixel editor is what has gotten the most love latly. There are some key features still yet to be implemented, like marquee selection tool,
tile rotation(for each 8x8 tile, not sure about rotating marquee selection), and most importantly the preview window which will preview an area with the option to have it repeating on the x,y or both axis.

I was thinking of only implementing an 'attributes table' tool on the tilmaps but the more im using the application the more I feel it needs to
be implemented on the spritesheets layer as well. The spritesheets only acts like layers and will be compiled/merged down with only
the used tiles upon build so the limits are not because of what the NES supports. But visually seeing how it will look I think I want to be there.

Some of these features requires the 'selected tool options bar'(area above the main view. where different tools have different options, like other graphics applications) to be implemented and refactored some before fully being able to work as intended.

With the tools currently available it's starting to feel usable. Now, having 6 ways to zoom the canvas might seem overkill but things should just work and feel intuitive even if you utilize shortcuts or simply prefer clicking the ui. :D

check out some of the new feature in this link
https://drive.google.com/file/d/1ArcC01 ... sp=sharing
hjalmar
Posts: 7
Joined: Fri Jan 11, 2013 7:20 am

Re: BeverlyHills6502 - Development tools

Post by hjalmar »

This project now also comes in a web version. How feature rich it will be in the end, time will tell, but it's build from the same source as the desktop version so the limitations of the browsers is what sets the possibilities there. Check out the alpha version of the pixel editor which i have published here https://jensa.org/NESBitStudio-web/, and let me know if you find it useful.

p.s
red buttons needs ctrl/alt + click and it also has shortcuts like other graphics software to change tools and 1,2,3,4 for the colors for a smoother workflow.
Erockbrox
Posts: 397
Joined: Sun Nov 23, 2014 12:16 pm

Re: BeverlyHills6502 - Development tools

Post by Erockbrox »

I'm wanting to talk to a web developer because I want to make a custom site where players can play a game like chess onine. I'm wanting to find the right person so when the day comes to make it I have someone in mind.
hjalmar
Posts: 7
Joined: Fri Jan 11, 2013 7:20 am

Re: BeverlyHills6502 - Development tools

Post by hjalmar »

Erockbrox wrote: Wed Feb 03, 2021 11:29 pm I'm wanting to talk to a web developer because I want to make a custom site where players can play a game like chess onine. I'm wanting to find the right person so when the day comes to make it I have someone in mind.
Not sure what you are asking here. If you are asking if I would be up for doing it in the future, I would have to decline I'm afraid.

Updates to the project

I've been on an 12 day binge grind working on this and some parts are starting to come together. Still in an early stage but it's coming along and starting to get highly productive using it.

I'd estimate the spritesheet editor is about 80-85% percent done in terms of functionality. Next on the list is to implement a pattern brush to be able to paint with tiles. All the tools different options which isn't hooked up or implemented and finally a marquee tool.

But with that said the current state is highly functional, i made a small demonstration https://drive.google.com/file/d/1Va11ON ... w5Z9Y/view (sorry for drive links, need to find a better way to upload videos)

A note about tools. Most of them have modifiers, either by holding control, alt or shift. A bit unintuitive currently but that will clear up during the final polishing.

Also a spritesheet is not reflected to that of a chr(doesn't have to i should say). It just conforms to the same dimension but it's more like a free painting canvas. All the bundling and cleanup will take place later on in game/export settings depending on tilemaps etc, however one can simply import a chr file or two and use it like that as well.

Also created a discord server if anyone needs help or like to suggest some features that one might feel is missing.

You can try the current version live, here.
https://jensa.org/NESBitStudio-web/
vnsbr
Posts: 56
Joined: Sun Feb 17, 2019 5:18 pm
Contact:

Re: BeverlyHills6502 - Development tools

Post by vnsbr »

hjalmar wrote: Mon Feb 22, 2021 8:23 pm
Erockbrox wrote: Wed Feb 03, 2021 11:29 pm I'm wanting to talk to a web developer because I want to make a custom site where players can play a game like chess onine. I'm wanting to find the right person so when the day comes to make it I have someone in mind.
Not sure what you are asking here. If you are asking if I would be up for doing it in the future, I would have to decline I'm afraid.

Updates to the project

I've been on an 12 day binge grind working on this and some parts are starting to come together. Still in an early stage but it's coming along and starting to get highly productive using it.

I'd estimate the spritesheet editor is about 80-85% percent done in terms of functionality. Next on the list is to implement a pattern brush to be able to paint with tiles. All the tools different options which isn't hooked up or implemented and finally a marquee tool.

But with that said the current state is highly functional, i made a small demonstration https://drive.google.com/file/d/1Va11ON ... w5Z9Y/view (sorry for drive links, need to find a better way to upload videos)

A note about tools. Most of them have modifiers, either by holding control, alt or shift. A bit unintuitive currently but that will clear up during the final polishing.

Also a spritesheet is not reflected to that of a chr(doesn't have to i should say). It just conforms to the same dimension but it's more like a free painting canvas. All the bundling and cleanup will take place later on in game/export settings depending on tilemaps etc, however one can simply import a chr file or two and use it like that as well.

Also created a discord server if anyone needs help or like to suggest some features that one might feel is missing.

You can try the current version live, here.
https://jensa.org/NESBitStudio-web/
Hi you could try uploading the video to youtube. I will check the video soon thanks!
Post Reply