2017 NESDev Compo - Rules/Guidelines
Moderator: Moderators
Re: 2017 NESDev Compo - Rules/Guidelines
Does every entrant get a multicart prize, or just the entries that rank?
http://zutanogames.com/ <-- my dev blog
- infiniteneslives
- Posts: 2104
- Joined: Mon Apr 04, 2011 11:49 am
- Location: WhereverIparkIt, USA
- Contact:
Re: 2017 NESDev Compo - Rules/Guidelines
Zutano wrote:Does every entrant get a multicart prize, or just the entries that rank?
So far all entries to category 1 have been meritorious AFAIK. If your entry gets on the cart you'll certainly get a contributor copy.Limited Edition multicarts for all meritorious entries (at judges discretion)
Have the rules been posted publicly yet with official announcement? I thought this was already done, but doesn't appear so.. Need to also make the compo official for NA'rs as we neglected to do last year..
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers
- NESHomebrew
- Formerly WhatULive4
- Posts: 418
- Joined: Fri Oct 30, 2009 4:43 am
- Contact:
Re: 2017 NESDev Compo - Rules/Guidelines
The "here" doesn't stand out very much. NA's stylesheet doesn't appear to style links with underline, distinctive color, or anything else conspicuous. This means wording is the only way to distinguish links from the rest of a post, and the reader might not know that the link is under the word "here".
Re: 2017 NESDev Compo - Rules/Guidelines
Newbie question here, does it make a difference which assembler we use? I'm using NESASM3 currently and should have something resembling a game in a short while. It'll only be using NROM 128 as I have no clue how to set NESASM up for NROM 256.
Probably The "Most Filthy Casual" NES ASM Developer https://refreshgames.co.uk/
Re: 2017 NESDev Compo - Rules/Guidelines
Every type of game can be made with any assembler, if you understand how it works and also the structure of a valid .NES file, so you can tell if the output is what you expect it to be. Some assemblers have more advanced features that can make some tasks easier and more dynamic, if you know how to use them, but if you don't think you'll need such features there's little reason to go through the trouble of learning how to use a new tool and rewriting your code.
NESASM is disliked by some (me included) because it uses non-standard 6502 syntax for a few things (indirection, for example) and imposes some restrictions that don't always make sense for NES projects (e.g. PRG-ROM banks are always 8kb large, regardless of how the mapper you're using actually divides the PRG-ROM space), but it can still make any kind of game if you know how to manage these issues.
My assembler of choice nowadays is ca65, mostly because of its powerful macro system. You can even program support for entirely new assembly languages from scratch using macros (I believe someone implemented Z80 support, for example), that's how powerful it is. I make heavy use of macros to help me manage variable and function declarations, bankswitching, NES headers, and lots of things that would have to be done manually with other assemblers.
NESASM is disliked by some (me included) because it uses non-standard 6502 syntax for a few things (indirection, for example) and imposes some restrictions that don't always make sense for NES projects (e.g. PRG-ROM banks are always 8kb large, regardless of how the mapper you're using actually divides the PRG-ROM space), but it can still make any kind of game if you know how to manage these issues.
My assembler of choice nowadays is ca65, mostly because of its powerful macro system. You can even program support for entirely new assembly languages from scratch using macros (I believe someone implemented Z80 support, for example), that's how powerful it is. I make heavy use of macros to help me manage variable and function declarations, bankswitching, NES headers, and lots of things that would have to be done manually with other assemblers.
Re: 2017 NESDev Compo - Rules/Guidelines
There is no disqualification for using a particular assembler unless the assembler's quirks make the entry not run on authentic hardware, which I don't expect to happen very often.
In the past, I've had to reassemble a few entries to make them all fit properly in the cartridge. For LAN Master, 1007 Bolts, and Super PakPak, I made a Python script that converts another assembler's syntax to ca65 syntax. But that doesn't happen very often, and not at all for volume 3.
In the past, I've had to reassemble a few entries to make them all fit properly in the cartridge. For LAN Master, 1007 Bolts, and Super PakPak, I made a Python script that converts another assembler's syntax to ca65 syntax. But that doesn't happen very often, and not at all for volume 3.
Re: 2017 NESDev Compo - Rules/Guidelines
I'll be sure to look into ca65 for my next project in that case, thanks Tokumaru.
Are the resultant carts compatible with PAL systems as well as NTSC then? Just wandering
Are the resultant carts compatible with PAL systems as well as NTSC then? Just wandering
Probably The "Most Filthy Casual" NES ASM Developer https://refreshgames.co.uk/
Re: 2017 NESDev Compo - Rules/Guidelines
The Action 53 carts use a region-free CIC, though not all games automatically adapt their speed, and some games' raster effects may break on a PAL NES unless they're specially coded.
Re: 2017 NESDev Compo - Rules/Guidelines
Cool, I'll be sure to test on my PAL NES in that case, thanks again XD
Probably The "Most Filthy Casual" NES ASM Developer https://refreshgames.co.uk/
Re: 2017 NESDev Compo - Rules/Guidelines
It's very easy to make software work on both NTSC and PAL. Things like raster effects and music are very easy to adapt on the fly. Gameplay on the other hand is not as simple, and because of this most games, homebrew or otherwise, simply play slower on PAL.
One trick (which was used in the NES port of Streemerz, IIRC) is to create the gameplay for 50Hz, and when running on an NTSC console simply skip 1 frame (i.e. don't run the game logic) every 5 frames. It worked pretty well apparently.
One trick (which was used in the NES port of Streemerz, IIRC) is to create the gameplay for 50Hz, and when running on an NTSC console simply skip 1 frame (i.e. don't run the game logic) every 5 frames. It worked pretty well apparently.
- mikejmoffitt
- Posts: 1353
- Joined: Sun May 27, 2012 8:43 pm
Re: 2017 NESDev Compo - Rules/Guidelines
It works "okay", but it makes the game visibly jerky. I would have preferred if it ran smoothly, even if it meant a faster game.tokumaru wrote:One trick (which was used in the NES port of Streemerz, IIRC) is to create the gameplay for 50Hz, and when running on an NTSC console simply skip 1 frame (i.e. don't run the game logic) every 5 frames. It worked pretty well apparently.
- rainwarrior
- Posts: 8732
- Joined: Sun Jan 22, 2012 12:03 pm
- Location: Canada
- Contact:
Re: 2017 NESDev Compo - Rules/Guidelines
I believe this made a noticeable difference in difficulty for me, playing on an NTSC system. Smoothness does make a difference when trying to time delicate manoeuvres.mikejmoffitt wrote:It works "okay", but it makes the game visibly jerky. I would have preferred if it ran smoothly, even if it meant a faster game.tokumaru wrote:One trick (which was used in the NES port of Streemerz, IIRC) is to create the gameplay for 50Hz, and when running on an NTSC console simply skip 1 frame (i.e. don't run the game logic) every 5 frames. It worked pretty well apparently.
I think the 50Hz framerate thing might have been partly chosen because of the original flash game, though, which did not run at 60 IIRC. (Most flash stuff did not for a long time.) Though also because thefox has a PAL NES?
It's a bit hard to choose between compromises like this, IMO. Do you want the NTSC version to be smoother but faster? Is NTSC too hard or PAL too easy now? Do you want to adjust the speed of everything so it plays similar on PAL? This kinda doubles your playtesting. The skip 1/6 frames compromise works, at least; it has its drawbacks, but they all do.
Re: 2017 NESDev Compo - Rules/Guidelines
Not partly, it was pretty much the only reason. I wanted to duplicate the game mechanics of the original as close as I could. Had the original game ran at 60 Hz I don't think I would have worried about PAL speeds at all.rainwarrior wrote:I think the 50Hz framerate thing might have been partly chosen because of the original flash game, though, which did not run at 60 IIRC.
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
- FrankenGraphics
- Formerly WheelInventor
- Posts: 2064
- Joined: Thu Apr 14, 2016 2:55 am
- Location: Gothenburg, Sweden
- Contact:
Re: 2017 NESDev Compo - Rules/Guidelines
A technical question: can/will the compo cart use flashROM? Subsequently, would one be allowed to write to ROM within reason?