Jump to content
IGNORED

Vector Images and NES Emulator Project


Darth_Mario

Recommended Posts

Hello all,

 

I am new to this forum, but I have heard a lot of great things about this place from the CUPodcast, so I thought I'd stop by and share what I am working on. Over the past six months, I have been working on an algorithm that could accurately redraw 8-bit (and some 16-bit) spites into vector images. I am aware there are filters and some applications that do something similar to this, but none of them returned the results that I was looking for. I recently got my algorithm to work (mostly) and now I can move forward with my plans of creating a standalone image converter and an emulator.

 

The standalone is pretty straight forward and there is not much to do other than creating a GUI for it, but the emulator is a sticky ball of wax. Right now, I can process a 256x224 image in .5 seconds to 1.2 seconds depending on how complex it is, and to make an emulator playable, it needs to be closer to .02 seconds. This is a possible goal, but it is going to take some time and effort to do. The application at the moment is only using the CPU because that is easiest for mock ups, but if it implemented OpenGL, I have no doubts it would be able to produce 60 frames per second.

 

Moving on from here, I have been considering starting a Kickstarter because getting this done is going to take time, and a lot of it, and I have to work and go to school, but if I had some extra money I'd be able to devote more time to working on this project. If I go that route, the final product would be free and opensource most likely. The other option would be to sell licenses through HumbleBundle, and people who purchased one would be getting the most recent builds of the project. If neither of those are favorable to the community, I will continue working on this in my free time and release it when it is 100% done.

 

Here are some demo images to show what this even does, and if you have any comments, ideas or feedback I'd love to hear it!

 

post-46055-0-66834000-1459179318_thumb.png post-46055-0-47437800-1459179335_thumb.png

 

post-46055-0-96568600-1459179338_thumb.png post-46055-0-58957700-1459179323_thumb.png

 

post-46055-0-25616200-1459179347_thumb.png post-46055-0-72136100-1459179358_thumb.png

 

post-46055-0-21629800-1459179361_thumb.png

Edited by Darth_Mario
  • Like 2
Link to comment
Share on other sites

I think there needs to be much less texture or roughness to the surfaces. I'm not sure I like the embossed look it has right now.

The noise level is adjustable, and the reason that I have it on so high is to hide the seams between tiles and shapes (I am currently working on a way to feather them without making it too blurry). Here is what it looks like without the noise:

 

post-46055-0-43768000-1459282708_thumb.png

 

I am also looking into implementing splines so the edges are smoother, but I have not found an algorithm that works well with small and tight curves.

  • Like 2
Link to comment
Share on other sites

I have to disagree (but only a bit) with Keatah. I actually kind of like the art paper look that the images in the first post have.

 

(With the noise level being adjustable, I suspect that we would both eventually be satisfied one way or other.)

 

I think another thing that may make the paper filter a turn off for some is that it gives the image the appearance of being darker, so I think a brightness and contrast slider would also help.

 

I forgot the mention this in the original topic post, but if it does prove to be impossible to get an emulator to render each frame fast enough, it would be neat to remake some games by ripping the sprites and converting them, or creating a graphics overhaul mod. I don't know the logistics of doing the latter of those options for cartridge games, but if anyone knows how to do that or knows someone who does, that may be a viable alternative to emulation with a filter.

Edited by Darth_Mario
  • Like 1
Link to comment
Share on other sites

 

I think another thing that may make the paper filter a turn off for some is that it gives the image the appearance of being darker, so I think a brightness and contrast slider would also help.

 

I forgot the mention this in the original topic post, but if it does prove to be impossible to get an emulator to render each frame fast enough, it would be neat to remake some games by ripping the sprites and converting them, or creating a graphics overhaul mod. I don't know the logistics of doing the latter of those options for cartridge games, but if anyone knows how to do that or knows someone who does, that may be a viable alternative to emulation with a filter.

 

That would be a pretty awesome tool, to be able to rip sprites from old games and replace them could be neat to, like you said, do an "overhaul" mod.

Link to comment
Share on other sites

 

That would be a pretty awesome tool, to be able to rip sprites from old games and replace them could be neat to, like you said, do an "overhaul" mod.

 

This is looking more and more possible every day. As of now, if 100% of the tiles on screen are new (as in have never been shown before), the render takes .25 seconds. If they are 100% the same (each tile has been converted already), it takes .01 seconds, which would be fast enough to play. I think if I could rip the sprites and do all the conversions beforehand, this would have a good chance of running 60 FPS.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...