2017 NESDev Compo - Rules/Guidelines

Moderator: Moderators

User avatar
Zutano
Posts: 38
Joined: Tue Apr 04, 2017 1:22 pm
Location: Ohio, USA
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by Zutano »

Does every entrant get a multicart prize, or just the entries that rank?
http://zutanogames.com/ <-- my dev blog
User avatar
infiniteneslives
Posts: 2104
Joined: Mon Apr 04, 2011 11:49 am
Location: WhereverIparkIt, USA
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by infiniteneslives »

Zutano wrote:Does every entrant get a multicart prize, or just the entries that rank?
Limited Edition multicarts for all meritorious entries (at judges discretion)
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.

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
User avatar
NESHomebrew
Formerly WhatULive4
Posts: 418
Joined: Fri Oct 30, 2009 4:43 am
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by NESHomebrew »

tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by tepples »

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".
User avatar
rychan
Posts: 65
Joined: Wed Jun 21, 2017 1:51 pm
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by rychan »

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/
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: 2017 NESDev Compo - Rules/Guidelines

Post by tokumaru »

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.
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by tepples »

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.
User avatar
rychan
Posts: 65
Joined: Wed Jun 21, 2017 1:51 pm
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by rychan »

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 :)
Probably The "Most Filthy Casual" NES ASM Developer https://refreshgames.co.uk/
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by tepples »

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.
User avatar
rychan
Posts: 65
Joined: Wed Jun 21, 2017 1:51 pm
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by rychan »

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/
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: 2017 NESDev Compo - Rules/Guidelines

Post by tokumaru »

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.
User avatar
mikejmoffitt
Posts: 1353
Joined: Sun May 27, 2012 8:43 pm

Re: 2017 NESDev Compo - Rules/Guidelines

Post by mikejmoffitt »

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.
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.
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by rainwarrior »

mikejmoffitt wrote:
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.
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.
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.

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.
User avatar
thefox
Posts: 3134
Joined: Mon Jan 03, 2005 10:36 am
Location: 🇫🇮
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by thefox »

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.
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.
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by FrankenGraphics »

A technical question: can/will the compo cart use flashROM? Subsequently, would one be allowed to write to ROM within reason?
Post Reply