I haven't touched on this topic in a while, but the project is very alive! I made the first real "release" of this a couple weeks ago. I've got a backlog of things I'm changing and fixing, but it's more ready for prime-time now.
I also created a game for the most recent Ludum Dare using it, partly as a proof of concept. I'm pretty happy with the results
Check it out here
example game source
nes-starter-kit: A Quickstart guide for homebrew in C (WIP)
Moderator: Moderators
-
- Posts: 102
- Joined: Fri Dec 27, 2013 4:28 pm
Re: nes-starter-kit: A Quickstart guide for homebrew in C (W
Last edited by cppchriscpp on Fri Jan 26, 2024 10:05 pm, edited 1 time in total.
Re: nes-starter-kit: A Quickstart guide for homebrew in C (W
Great job, congratulations. Will give it a proper look later!
Re: nes-starter-kit: A Quickstart guide for homebrew in C (W
I did a quick test of the game. The game itself if very simple but taking into consideration that it was done during a game jam in less than 48h then the result is quite impressive.
Good job!
Good job!
Re: nes-starter-kit: A Quickstart guide for homebrew in C (W
A bit late to the topic but I thought I'd throw out my two cents being an eternal newbie.
This is at first glance a weird niche. Not "easy" enough for the NES Maker crowd and not advanced enough for the asm crowd.
Your target level of end user needs a pre-configured IDE. Maybe NESICIDE will be a good fit?
https://knob.phreneticappsllc.com/nesicide/
This is at first glance a weird niche. Not "easy" enough for the NES Maker crowd and not advanced enough for the asm crowd.
Your target level of end user needs a pre-configured IDE. Maybe NESICIDE will be a good fit?
https://knob.phreneticappsllc.com/nesicide/
-
- Posts: 102
- Joined: Fri Dec 27, 2013 4:28 pm
Re: nes-starter-kit: A Quickstart guide for homebrew in C (W
Hello, and thanks for taking the time to take a look and make suggestions!
I have to admit; it had been a very long time since I last looked at nesicide... it really didn't seem applicable to this kind of project way back, and I didn't realize it was still being actively developed. From a quick look it has evolved a lot, and honestly would have been a good fit for this project if I'd used it from the start. It seems powerful and somewhat easy to pick up for many tasks.
Unfortunately, it doesn't seem trivial to switch to it this late in the game - there is a lot baked into my makefile and the various guide chapters that would take significant effort to convert over. I could probably do it, but I have to admit I don't want to spend the time, as a consumer of the kit. Setting up the tools isn't quite as smooth as I'd like, but I don't feel it's disastrous, either. I also think they work pretty well together once you have everything installed. There isn't much configuration needed; VS Code's workspace settings help a lot. (That said, I'm extremely biased as the developer, and welcome other opinions!)
There are a lot of tradeoffs involved, and I am not sure yet if they are worth it.
-----
So far, here's a list of pros/cons I can see to such a change:
Pros
The short version
This seems like it could help the project, however right now I am unsure if the benefits outweigh the cost of the change, and the potential loss in functionality. I still need to toy with nesicide a lot more to figure out how to use it to its full potential, either way. Thank you for raising this idea!
(ps: If anyone has actually set up nes-starter-kit and tried to use it per the guide, or even tried to set it up and failed, I really want to hear from you! No one has directly told me they have tried to use this and provided feedback yet.)
I have to admit; it had been a very long time since I last looked at nesicide... it really didn't seem applicable to this kind of project way back, and I didn't realize it was still being actively developed. From a quick look it has evolved a lot, and honestly would have been a good fit for this project if I'd used it from the start. It seems powerful and somewhat easy to pick up for many tasks.
Unfortunately, it doesn't seem trivial to switch to it this late in the game - there is a lot baked into my makefile and the various guide chapters that would take significant effort to convert over. I could probably do it, but I have to admit I don't want to spend the time, as a consumer of the kit. Setting up the tools isn't quite as smooth as I'd like, but I don't feel it's disastrous, either. I also think they work pretty well together once you have everything installed. There isn't much configuration needed; VS Code's workspace settings help a lot. (That said, I'm extremely biased as the developer, and welcome other opinions!)
There are a lot of tradeoffs involved, and I am not sure yet if they are worth it.
-----
So far, here's a list of pros/cons I can see to such a change:
Pros
- Lowered barrier of entry
- No need to install or configure famitracker
- Reduced requirements of unix tools (make mainly)
- Some elements from tools zip can be removed
- Built in emulator and debugger seem nice from a quick glance (wasn't able to get it working with a non-trivial project yet though)
- Nesicide is a bit crashy on my machine (may be a configuration issue on my end) - I have hit multiple instances where it stops responding to all clicks and I have to force kill it.
- Nesicide requires GnuWin32 and wget; need to provide instructions for those prior to install of ide
- Graphics editing tools are powerful, but quite unclear to a newcomer. (The tool I use today kinda forces your hand a little harder, which I found actually helped educate me. Would be curious how others feel)
- SFX Editing is a bit less intuitive, since with the current setup you would have to add a new "music" file. (Minor)
- Build process becomes a bit less transparent/more complex with the loss of the makefile
- Lose built-in git controls (and other minor features, like styles) from VS Code
- Don't know how to set up map conversion and similar utilities
- Unknown amount of effort detailing how to switch rom/mapper types
- How's the accuracy of the built-in emulator?
- Nesicide's default C project doesn't compile
- New version of cc65 built into nesicide? What updates are required to deal with this? (Note: I've been meaning to make this move anyway)
- Famitracker is almost more confusing in this setup, since you have full control of a music file/etc, and it isn't really clear where it's hooked in. Still need to manually run exports, etc, which may not be as clear when the editor is built in. (Unless this can be automated through nesicide, which it maybe can.)
- There's a lot more I haven't detailed here; both pros and cons I'm sure. This is a very big change!
The short version
This seems like it could help the project, however right now I am unsure if the benefits outweigh the cost of the change, and the potential loss in functionality. I still need to toy with nesicide a lot more to figure out how to use it to its full potential, either way. Thank you for raising this idea!
(ps: If anyone has actually set up nes-starter-kit and tried to use it per the guide, or even tried to set it up and failed, I really want to hear from you! No one has directly told me they have tried to use this and provided feedback yet.)
Re: nes-starter-kit: A Quickstart guide for homebrew in C (W
I appreciate the consideration (and detailed post).
It might take awhile but I'll attempt to go through your process for installing and configuring Visual Studio.
It might take awhile but I'll attempt to go through your process for installing and configuring Visual Studio.
- cpow
- NESICIDE developer
- Posts: 1097
- Joined: Mon Oct 13, 2008 7:55 pm
- Location: Minneapolis, MN
- Contact:
Re: nes-starter-kit: A Quickstart guide for homebrew in C (W
Any chance I can get reproduction steps or a sample project or something to try to reproduce your issue? What is your machine specs?cppchriscpp wrote:So far, here's a list of pros/cons I can see to such a change:
Cons
- Nesicide is a bit crashy on my machine (may be a configuration issue on my end) - I have hit multiple instances where it stops responding to all clicks and I have to force kill it.
GnuWin32 comes with the package. wget is only required to *build* nesicide from source as it fetches the dependencies tarball.cppchriscpp wrote:[*] Nesicide requires GnuWin32 and wget; need to provide instructions for those prior to install of ide
I would appreciate any ideas on what is unclear and how to make it clearer.cppchriscpp wrote:[*] Graphics editing tools are powerful, but quite unclear to a newcomer. (The tool I use today kinda forces your hand a little harder, which I found actually helped educate me. Would be curious how others feel)
SFX editing isn't supported yet. Only integrated Famitracker. I haven't come up with a useful UI for creating effects. I intended something similar to Garry Kitchen's Game Maker for C=64's Sound Maker.cppchriscpp wrote:[*] SFX Editing is a bit less intuitive, since with the current setup you would have to add a new "music" file. (Minor)
This is evidence of the battle for control. Newcomers generally don't want to have to worry about makefile details. Experts don't want to be completely cut off from manual makefile modification.cppchriscpp wrote:[*] Build process becomes a bit less transparent/more complex with the loss of the makefile
Sounds like a job for libGitWrap.cppchriscpp wrote:[*] Lose built-in git controls (and other minor features, like styles) from VS Code[/list]
Not sure how I can help with these?cppchriscpp wrote:Unknown/Other Notes
- Don't know how to set up map conversion and similar utilities
- Unknown amount of effort detailing how to switch rom/mapper types
Fairly good, though not perfect. I was on a test passing binge for quite a while.cppchriscpp wrote:[*] How's the accuracy of the built-in emulator?
What errors?cppchriscpp wrote:[*] Nesicide's default C project doesn't compile
I am *intending* to make the music import process seamless but haven't got there yet. For example, when you build your project it would export the music files and include them in the build automatically.cppchriscpp wrote:[*] Famitracker is almost more confusing in this setup, since you have full control of a music file/etc, and it isn't really clear where it's hooked in. Still need to manually run exports, etc, which may not be as clear when the editor is built in. (Unless this can be automated through nesicide, which it maybe can.)[/list]
I am interested in helping out if I can as this is ultimately the goal I'd had in mind at the beginning -- a full featured tutorial project that would teach newcomers. Rather than a blank slate "do what you want and oh by the way here's some minimal (no offense, tepples) examples.
-
- Posts: 102
- Joined: Fri Dec 27, 2013 4:28 pm
Re: nes-starter-kit: A Quickstart guide for homebrew in C (W
I'll be happy to have that discussion in a topic about nesicide, however I would prefer keep this topic about nes-starter-kit. I don't currently have plans to move IDEs. Feel free to post a link for anyone interested, though. (And to remind me to post!)
Thanks for the detail you added. One semi-relevant clarification I'll provide: The stuff in Unknown/Other is stuff I would need to look into if I decided to pursue this effort further. I time-boxed my investigation, and those are questions I did not get to answering for myself.
Thanks for the detail you added. One semi-relevant clarification I'll provide: The stuff in Unknown/Other is stuff I would need to look into if I decided to pursue this effort further. I time-boxed my investigation, and those are questions I did not get to answering for myself.