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 » Sat Jul 22, 2017 7:47 pm

Does every entrant get a multicart prize, or just the entries that rank?
http://zutanogames.com/ <-- my dev blog

User avatar
infiniteneslives
Posts: 2097
Joined: Mon Apr 04, 2011 11:49 am
Location: WhereverIparkIt, USA
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by infiniteneslives » Sat Jul 22, 2017 10:13 pm

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: 397
Joined: Fri Oct 30, 2009 4:43 am
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by NESHomebrew » Sat Jul 22, 2017 11:26 pm


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

Re: 2017 NESDev Compo - Rules/Guidelines

Post by tepples » Sun Jul 23, 2017 6:14 am

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: 62
Joined: Wed Jun 21, 2017 1:51 pm
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by rychan » Wed Jul 26, 2017 1:55 pm

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.

User avatar
tokumaru
Posts: 11470
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: 2017 NESDev Compo - Rules/Guidelines

Post by tokumaru » Wed Jul 26, 2017 2:54 pm

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

Re: 2017 NESDev Compo - Rules/Guidelines

Post by tepples » Wed Jul 26, 2017 3:27 pm

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: 62
Joined: Wed Jun 21, 2017 1:51 pm
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by rychan » Thu Jul 27, 2017 5:12 am

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 :)

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

Re: 2017 NESDev Compo - Rules/Guidelines

Post by tepples » Thu Jul 27, 2017 8:05 am

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: 62
Joined: Wed Jun 21, 2017 1:51 pm
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by rychan » Thu Jul 27, 2017 8:25 am

Cool, I'll be sure to test on my PAL NES in that case, thanks again XD

User avatar
tokumaru
Posts: 11470
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: 2017 NESDev Compo - Rules/Guidelines

Post by tokumaru » Thu Jul 27, 2017 11:20 am

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: 1348
Joined: Sun May 27, 2012 8:43 pm

Re: 2017 NESDev Compo - Rules/Guidelines

Post by mikejmoffitt » Thu Jul 27, 2017 11:33 am

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: 7682
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by rainwarrior » Thu Jul 27, 2017 11:49 am

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: 3141
Joined: Mon Jan 03, 2005 10:36 am
Location: Tampere, Finland
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by thefox » Thu Jul 27, 2017 1:31 pm

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: 2032
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: 2017 NESDev Compo - Rules/Guidelines

Post by FrankenGraphics » Mon Sep 11, 2017 6:18 am

A technical question: can/will the compo cart use flashROM? Subsequently, would one be allowed to write to ROM within reason?
http://www.frankengraphics.com - personal NES blog

Post Reply