Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Please read the forum rules before posting.



Check if you are posting in the correct category.



The Off Topic section is not meant for discussing Cookie Clicker.

NES port

pino_ppino_p Member Posts: 484 ✭✭
edited June 2014 in General Discussion
Someone in an IRC channel where I hang out suggested porting Cookie Clicker to the Nintendo Entertainment System as a homebrew game. How would I go about getting permission to do so? I've coded a few complete games for the NES before but haven't written any code for this project yet. Here are mock screenshots:

image

image

(Moved to General Discussion now that I have secured permission)
Hate necroposts? It could be worse. It could be dupes.
Post edited by pino_p on
«134

Comments

  • ¤RunninginReverse¤¤RunninginReverse¤ Member, Friendly Posts: 15,382 ✭✭✭✭✭
    ...NES? You are gonna have to really tone down the graphics on the cookie, words, etc. until they look 8-bit!
  • LauraLaura Member, Internet Detective, Friendly, Idle Game Master, Conversationalist Posts: 3,253 ✭✭✭✭✭
    NES? wow, you really can do so?

    if you make a PSP port...
    it would be heavenly!!!
    *please, don't kill me*
  • ThatDudeThatDude Member, Wiener Posts: 6,316 ✭✭✭✭
    Why didn't I look at this sooner?
    people have stars in their names now apparently
  • pino_ppino_p Member Posts: 484 ✭✭
    I'm displaying pretty much exactly that image, pixel for pixel, as we speak on my NES console using a PNG-to-ROM converter. The proportional font has been done before in one of my other NES projects. To slightly oversimplify things, objects and background areas on the NES can have three colors in addition to one backdrop color for the whole image (here black). And this version of the perfect cookie is dark, medium, and light brown, on top of a black circle in the background.

    With Orteil's OK, I could get started sometime in April.
    Hate necroposts? It could be worse. It could be dupes.
  • JacobMIXJacobMIX Member, Helpful, Flagger, Conversationalist Posts: 1,519 ✭✭✭
    I'd say... Do it! I'll play it.
    Odin said:

    NES? wow, you really can do so?

    if you make a PSP port...
    it would be heavenly!!!
    *please, don't kill me*

    Yes you can make homebrew games to many consoles.
    Porting it to PSP might be more trouble then it's worth.
    I’m me and that’s that
    GG = Good-Game
    Does anyone still keep count? :
    SOPA 1.0 / 2.0 / 3.0 | PIPA | ACTA
    CISPA | PCIP | FISA | NDAA | TPP

    And if you need any help you can get it here: Part 1, Part 2, Read, DUPES, 2.0
    image
  • OrteilOrteil Administrator, Game Dev Posts: 121 Admin
    That looks amazing. Feel free to port it, as long as it's non-profit and you give us proper credit. If you finish it I'll probably post it to tumblr !
  • ChaoticNeutralChaoticNeutral Member Posts: 579 ✭✭


    people who sell the "official cookie clicker apps" in the app stores

    Orteil should unleash the wrath of 1,000 wrinklers on those who have done such.
    We have arrived at an intellectual chaos.
    -Aleksandr Solzhenitsyn

    Make sense? Oh, what fun is there in making sense?
    -Discord

    Probably is using best Dashnet forum browsing device ever:
    http://www.raspberrypi.org/
  • LauraLaura Member, Internet Detective, Friendly, Idle Game Master, Conversationalist Posts: 3,253 ✭✭✭✭✭
    JacobMIX said:

    I'd say... Do it! I'll play it.

    Odin said:

    NES? wow, you really can do so?

    if you make a PSP port...
    it would be heavenly!!!
    *please, don't kill me*

    Yes you can make homebrew games to many consoles.
    Porting it to PSP might be more trouble then it's worth.
    really?
    so complicated are today's machines!?
  • ¤RunninginReverse¤¤RunninginReverse¤ Member, Friendly Posts: 15,382 ✭✭✭✭✭
    This seems amazing, if you tone down the graphics. Remember, NES games are low quality mostly!
  • JacobMIXJacobMIX Member, Helpful, Flagger, Conversationalist Posts: 1,519 ✭✭✭
    Odin said:

    so complicated are today's machines!?

    It's more that a PSP is not a NES, and i don't think he wants to remake the whole game
    on a new console he knows little about. (Coding wise.)
    I’m me and that’s that
    GG = Good-Game
    Does anyone still keep count? :
    SOPA 1.0 / 2.0 / 3.0 | PIPA | ACTA
    CISPA | PCIP | FISA | NDAA | TPP

    And if you need any help you can get it here: Part 1, Part 2, Read, DUPES, 2.0
    image
  • ChaoticNeutralChaoticNeutral Member Posts: 579 ✭✭
    Raspberry Pi replaced my NES :).
    We have arrived at an intellectual chaos.
    -Aleksandr Solzhenitsyn

    Make sense? Oh, what fun is there in making sense?
    -Discord

    Probably is using best Dashnet forum browsing device ever:
    http://www.raspberrypi.org/
  • CookiewoodstockCookiewoodstock Member, Flagger Posts: 16,335 ✭✭✭✭✭✭
    edited February 2014
    I know of this ROMhacking utility called "Nesicide" which can help you make homebrew NES games. If anybody there were to learn that shit and make an actual NES Cookie Clicker for an emulator or put it on a reproduction cart...

    I also really enjoy the details in this image. Sprites of the NES can only have 3 colors, something shown here. They are also all made of 8x8 tiles, and you can fit all of these with no issues in that. And before you guys say "Some sprites have more then 3 colors! Like Mega Man!" those are overlayed tiles.

    The only real problem I got is the cursors. If we were to take a more space-saving route, SPRITE FLICKER EVERYWHERE.
  • LauraLaura Member, Internet Detective, Friendly, Idle Game Master, Conversationalist Posts: 3,253 ✭✭✭✭✭
    something that i really want to see is the upgrades section :/
    did you make that work?
  • pino_ppino_p Member Posts: 484 ✭✭
    Thanks Orteil. And thanks to everyone else for the support.

    Anyway, the strip of cursors on the big cookie pane will not flicker. They'll be drawn as dynamic tiles in the background, much as Metal Storm and Battletoads and a bunch of TurboGrafx-16 games scroll some of their backgrounds, and background objects don't count against the 64 sprite pixel limit. Check out Battletoads with an emulator's tile memory viewer open to see what I mean. Only about three to five of the cursors, depending on the game situation, will be drawn as sprites.

    image

    And you can see some of the "overlaid tiles" that Cookiewoodstock is talking about on the edges of the big cookie: a colored brown sprite covers a hole cut in the striped background. Golden cookies, wrinklers, and reindeer might pose a flicker problem, at least until you pull out your Zapper and shoot them. (Oh deer...)

    I did cheat a bit on the colors of the buildings to show what colors they'd be. Only one building (the one with the highlight, such as the farm in the mock-up) would actually be drawn in color at once.

    Yes, there will be upgrades; I intend to replicate most of Cookie Clicker 1.x, not Classic. I just haven't laid out the upgrades or stats section yet. I can't work too fast because I'm already working on another NES project for a different web site, which I expect to complete by the end of March.

    First I need to make a library to calculate with "bignums", the large numbers that pop up in cookie and CpS figures, on the 8-bit 6502 CPU. I'm probably going to use the "base 100" representation, where each 8-bit byte holds two digits from 00 to 99, because a lot more things are percentages than powers of two. For instance, building costs increase by 15%, flavored cookies and heavenly chips add percentages to the production multiplier, kittens add a percentage based on achievements, elder covenant multiplying production by 95%, etc. I'll probably end up using 10 bytes: 18 digits before the decimal point and 2 digits after it. How many players actually bake an exacookie?

    As for Android, GBA, and PSP versions, there are decently compatible NES emulators for all three platforms.

    Reproduction carts would be "commercial". I'd have to release the ROM as freeware with a non-commercial clause (unlike my other NES projects, which are under free software licenses that allow commercial use) and negotiate revenue splitting with Orteil later.
    Hate necroposts? It could be worse. It could be dupes.
  • CclickerCclicker Member, Flagger Posts: 494 ✭✭
    Actually, all players playing from more than a few days baked an exacookie.
    And some actually got an "heptacookie" legit. Since upgrades will only tend to accelerate the pace of the game, taking some good margin' will probably be useful.
  • LauraLaura Member, Internet Detective, Friendly, Idle Game Master, Conversationalist Posts: 3,253 ✭✭✭✭✭
    pino_p said:


    As for Android, GBA, and PSP versions, there are decently compatible NES emulators for all three platforms.

    well, this is nice to hear...
  • PerfectionPerfection Member, Friendly, Conversationalist Posts: 2,745 ✭✭✭
    This is all super cool but how do you click the cookie without a mouse?
    Boots, Brogues, Cleats, Clogs, Flip-flops, Flippers, Galoshes, Getas, Loafers, Oxfords, Mukluks, Moccasins, Pumps, Sandals, Skates, Shoes, Slippers, Sneakers, Socks, Slingbacks, Stilettos, Rollerblades, Tennies, Waders, Wellingtons
  • LauraLaura Member, Internet Detective, Friendly, Idle Game Master, Conversationalist Posts: 3,253 ✭✭✭✭✭

    This is all super cool but how do you click the cookie without a mouse?

    A button, maybe?
  • pino_ppino_p Member Posts: 484 ✭✭
    I plan to make it playable with these controllers:
    • Standard controller, as Odin guessed (Control Pad to move mouse pointer, A Button to click)
    • Zapper in port 2
    • Super NES Mouse in port 2 through a Super NES controller to NES adapter, as in Thwaite
    Hate necroposts? It could be worse. It could be dupes.
  • LauraLaura Member, Internet Detective, Friendly, Idle Game Master, Conversationalist Posts: 3,253 ✭✭✭✭✭
    pino_p said:

    I plan to make it playable with these controllers:

    • Standard controller, as Odin guessed (Control Pad to move mouse pointer, A Button to click)
    • Zapper in port 2
    • Super NES Mouse in port 2 through a Super NES controller to NES adapter, as in Thwaite
    another thing i want to know, how are we supposed to save the game?
    save state? passwords?
  • pino_ppino_p Member Posts: 484 ✭✭
    Cookie Clicker currently saves the game in two ways: to an HTTP cookie ("Save" button and 60 second autosave) and to a password ("Export save" button). The trouble is that the passwords are so long that they're unusable without clipboard assistance because they have to store cookies in the bank, cookies baked, cookies baked in previous games (for HCs), golden cookies clicked, remaining pledge time, and all building counts, upgrade levels, and achievement bits. So instead, I plan to emulate the HTTP cookie with battery-backed RAM in the Game Pak, just like The Legend of Zelda, Final Fantasy, Dragon Warrior, Kirby's Adventure, and anything else that gives you a notice like this:

    Game saved. (Hold the Reset button
    while turning off the Control Deck.)


    Speaking of that, there's no space for the "news" blurbs at the top, so I'll just have them fill the status area at the bottom when there's no notification to be displayed.
    Hate necroposts? It could be worse. It could be dupes.
  • CookiewoodstockCookiewoodstock Member, Flagger Posts: 16,335 ✭✭✭✭✭✭
    That's actually rather nice. My only problem after that is the HUD, and what happens if the cookies baked number is too big to fit. I think the best fix is having a display with decimals and signals, like displaying a trillion as "1 tri.", and 2,500,000,000 (or 2.5 billion) as "2.5 bil."
  • CookiewoodstockCookiewoodstock Member, Flagger Posts: 16,335 ✭✭✭✭✭✭
    edited February 2014
    pino_p said:

    Cookie Clicker currently saves the game in two ways: to an HTTP cookie ("Save" button and 60 second autosave) and to a password ("Export save" button). The trouble is that the passwords are so long that they're unusable without clipboard assistance because they have to store cookies in the bank, cookies baked, cookies baked in previous games (for HCs), golden cookies clicked, remaining pledge time, and all building counts, upgrade levels, and achievement bits. So instead, I plan to emulate the HTTP cookie with battery-backed RAM in the Game Pak, just like The Legend of Zelda, Final Fantasy, Dragon Warrior, Kirby's Adventure, and anything else that gives you a notice like this:

    Game saved. (Hold the Reset button
    while turning off the Control Deck.)


    Speaking of that, there's no space for the "news" blurbs at the top, so I'll just have them fill the status area at the bottom when there's no notification to be displayed.

    There's also dot password systems (see Mega Man). Maybe that can be used for "save cheating" possible in classic, or a debugger save/load.

    Of course, you could also use Metroid, but it's obvious where that'd go. "GRANDM AS-RAP ING-CO OOKIES" getting put in by immature people, anybody?
  • pino_ppino_p Member Posts: 484 ✭✭
    You mean like this?
    image

    A means for saving the game needs to store enough information about the state of the game that the player will be able to come back where he left off. This information is measured in bits.
    • The game would need to store four cookie counts, one for bank, one for baked this game, one for baked this game through big cookie clicks (for the "Clicktastic" series), and one for baked in previous games (for HCs and fractions thereof). Storing a raw cookie count costs 80 bits, but this can be cut to 24 bits with scientific notation (rounding to 6 significant figures and storing the number of zeroes) for a total of 96 bits.
    • Upgrades cost 2 bits for each of 168 upgrades, 1 bit for whether it is available to buy and 1 bit for whether it is purchased, or a total of 336 bits. But this can be alleviated somewhat by treating each building's main upgrade series like the "british tea biscuit" series of late-game flavored cookies, where you have to buy one to unlock the next, allowing upgrades to imply having the previous ones. So let's say 256 bits for upgrades.
    • Each achievement costs 1 bit for whether it's earned or not, 102 bits for non-shadow, but this can be cut down somewhat by compressing achievements that imply previous achievements, saving about 12 for cookie milestones, 6 for CpS milestones, 2 for clicking milestones, and about 10 for building milestones. So let's say 72 bits for achievements.
    • Add a few other miscellaneous items, such as 5 bits for big cookie clicks left until Neverclick disqualification, 16 bits for overall Golden Cookie clicks (for Leprechaun series), 12 bits for wrinkler KOs, 12 bits for reindeer KOs, and 12 bits for seconds left in current research or pledge. So let's say 64 bits.
    That gives a total of 488 bits.

    Password systems are limited in how much information they can store. Each character of a password can hold 6 bits if you use uppercase, lowercase, and digits (base64) or 5 bits if you use uppercase and consonants (as many games did to avoid accidental swear words). A password to completely capture the state of a CC game would probably be about as long as the 104-character password used in the Japanese version of Maniac Mansion, highly unsatisfying to key in every time.

    Mega Man-style dot passwords aren't very info-dense because all it needs to store is whether about 8 bosses were beaten and about 4 to 16 upgrades were collected. A 6x6 matrix where each can be filled with a dot or not can hold about 30 bits, assuming 6 bits of error detection. It takes that many bits just to store a 9-digit number. It'd be possible to do a big dot code on the 3DS (see Mii QR), but not on the NES.

    Now that I've clarified in detail why I'm not doing passwords, I'll proceed to other issues:

    Cookie counts exceeding a billion will go into SI prefixes, as seen with the AC price on the Buildings mockup above. I got the idea (and the term exacookie) from the Frozen Cookies mod.

    After making a bignum library, I'll need to try reimplementing CpS calculation in Python from the spec on the wiki so that I know exactly what's going on in that engine and have something to translate into assembly language.
    Hate necroposts? It could be worse. It could be dupes.
  • Anon9mousAnon9mous Member, Friendly, Cool, Conversationalist Posts: 6,444 ✭✭✭✭✭✭
    edited February 2014
    It's too bad that I don't have an NES because this looks awesome.
    "Now, if you'll excuse me, I have some braining to do." ~Dasbloody
    "I'm about 0% sure that that is correct." ~Kirdneh
  • pino_ppino_p Member Posts: 484 ✭✭
    Vday realizations:
    • I'll need at least 20 digits in cookie counts because of new upgrades that unlock at 5000 HCs, which means 12.5 exacookies in previous games.
    • I'll have to completely redraw the buildings pane to make the new 11th building fit.
    Hate necroposts? It could be worse. It could be dupes.
  • Anon9mousAnon9mous Member, Friendly, Cool, Conversationalist Posts: 6,444 ✭✭✭✭✭✭
    pino_p said:

    Vday realizations:

    • I'll need at least 20 digits in cookie counts because of new upgrades that unlock at 5000 HCs, which means 12.5 exacookies in previous games.
    • I'll have to completely redraw the buildings pane to make the new 11th building fit.
    I'd think ahead and add more room for possible new buildings in the future if I were you.
    "Now, if you'll excuse me, I have some braining to do." ~Dasbloody
    "I'm about 0% sure that that is correct." ~Kirdneh
  • pino_ppino_p Member Posts: 484 ✭✭
    I redrew it to allow up to 15 buildings. I still need to draw upgrades though. To declutter the screen, I plan to group them, with at least one group for each building (for example, must buy Reinforced index finger to unlock Carpal tunnel prevention cream, must buy that to unlock Ambidextrous, etc.) Extra groups would include grandma outfits, flavored cookies, kittens, research, and Santa evolution. I might have to decide on a single order for the upgrades that Santa evolution produces rather than having them be random.

    Second round of Vday realizations:
    • Cookie counts are getting so inflated that integer math is no longer enough, and I'll need to use floating-point. But how many significant figures I would need to keep depends on how long people typically build bank. I know the maximum bank for a Lucky during Frenzy requires 84000*CpS or just shy of a day of production, so I'll need enough sig figs for that, plus however long people are willing to wait to buy the next prism. I discovered today that Cookie Clicker itself uses about 16 sig figs, but an NES port that uses SI all over might be able to get away with less.
    • Most building upgrades other than those that increase base CpS are powers of 2, which are easy to calculate with.
    • It costs nearly half a yottacookie (that's 5*10^23, almost Avogadro's number) to win Bicentennial. I don't even know how to win that one in a reasonable amount of time to test it.
    • Yotta (10^24) is the last SI prefix. Once cookie counts exceed 10^27, we're all in trouble.
    Hate necroposts? It could be worse. It could be dupes.
«134
Sign In or Register to comment.