{"author_link":"\/users\/khopa","author_name":"khopa","author_uid":"1185626","comments":[{"author_name":"magnusfurcifer","author_uid":"1005691","time":"2020-04-20T11:10:49Z","epoch":1587381049,"modified":1587381049,"text":"I think it is so cool that you made NES rom for a gamejam. \n\nI played it on CycloaJS and while the sprites moved SUPER fast, because the projectiles were also so fast that they were essentially a laser beam it wasn't to hard to intercept them.","likes":1,"format":"md"},{"author_name":"ToC","author_uid":"1159818","time":"2020-04-20T11:18:10Z","epoch":1587381490,"modified":1587381490,"text":"I have not seen an NES entry to LD before, very interesting. There is a bit of a learning curve but once you get the feeling for it, very fun. Gets very hectic for me after the first 20 virusses.","likes":1,"format":"md"},{"author_name":"singleshoe","author_uid":"1191975","time":"2020-04-20T15:20:37Z","epoch":1587396037,"modified":1587396037,"text":"I definitely didn't expect playing a NES game. Not only that's more work than the usual, but you also provided super easy ways of playing the game. The game itself I found interesting, definitely very reminiscent of the era. I found it quite hard as the virus moved too fast for me, however that's also on brand for NES games, as they usually weren't very easy.\n\nNice job!","likes":1,"format":"md"},{"author_name":"FedorL","author_uid":"1146695","time":"2020-04-20T16:12:18Z","epoch":1587399138,"modified":1587399138,"text":"WOW NES!! Awesome job! ","likes":1,"format":"md"},{"author_name":"LeYamez","author_uid":"1122332","time":"2020-04-20T16:51:03Z","epoch":1587401463,"modified":1587401463,"text":"Very innovative! A bit confusing to run to say the least :sweat_smile: but was definitely worth it! Liked the classic art style.","likes":1,"format":"md"},{"author_name":"yetanother","author_uid":"1002625","time":"2020-04-20T18:41:10Z","epoch":1587408070,"modified":1587408070,"text":"Choosing to make a NES game for the LDJam is very impressive.\nThe Theme quite feet with the current time :)","likes":1,"format":"md"},{"author_name":"Malai","author_uid":"1124530","time":"2020-04-20T19:48:34Z","epoch":1587412114,"modified":1587412114,"text":"Got a high score of 46 by holding B and shooting across the room :D But very impressive game given the incredible time and hardware constraint","likes":1,"format":"md"},{"author_name":"dooskington","author_uid":"1001138","time":"2020-04-20T19:56:33Z","epoch":1587412593,"modified":1587412593,"text":"Love that this is an NES game.","likes":1,"format":"md"},{"author_name":"Lestat","author_uid":"1051616","time":"2020-04-20T20:05:05Z","epoch":1587413105,"modified":1587413105,"text":"A NES game, nice, that's extra points :p It fits the theme and it's overall a good game. GHood Job!","likes":1,"format":"md"},{"author_name":"psydack","author_uid":"1075196","time":"2020-04-20T20:08:17Z","epoch":1587413297,"modified":1587413297,"text":"Wow, that's awesome! The game is simple but I liked! love the sound effects =p ","likes":1,"format":"md"},{"author_name":"greizgh","author_uid":"1198519","time":"2020-04-20T20:09:49Z","epoch":1587413389,"modified":1587415913,"text":"Seeing a NES ROM is immediately appealing!\nThe game plays nicely in online emulator or mednafen, the experience is complete with a controller :smile: \n\nI didn't get the logic behind projectile speed? They seem to be really fast when spawning, but this may just be an emulation quirk.\n\nReally pleasant experience though, and friendly fire is a nice detail!\nAlso fits the theme really well, keep those 8bits machines alive!","likes":1,"format":"md"},{"author_name":"ObscenelyTrue","author_uid":"1000427","time":"2020-04-20T20:23:41Z","epoch":1587414221,"modified":1587414221,"text":"Very nice entry! It is nice to see such a complete game on NES. There is even a story... wow! Of course, this console is not the best 8-bit machine (the Amstrad CPC is far ahead and I don't say that because I developed a compo game for CPC:)","likes":1,"format":"md"},{"author_name":"khopa","author_uid":"1185626","time":"2020-04-20T21:30:38Z","epoch":1587418238,"modified":1587418238,"text":"Ha ha :smile: Thanks. I really loved your entry @obscenelytrue, very impressive to see an Amstrad game in the compo.\n\nThanks everyone for the feedback.\n\n@greizgh,  @magnusfurcifer, Yes, the projectiles are really fast, it did not seems too extreme for me though, maybe your emulator is making the game faster than it actually is ?\n\nBut yeah the player's projectile are really fast by design and there is actually a technical reason behind this choice.\n\nBy making the player projectile that fast, it means that they also dissapear faster, which save on sprite count on screen, on RAM needed to store the state of the bullets and on the number of collision checks to perform on each frame.\n\nBecause, the NES has a limit of 64 '8x8' sprites displayed on screen, and a maximum of 8 '8x8' sprites can be displayed on each 'scanline'. So to avoid any issues, and flickering i limited the player gun to 4 projectile. So it is enough to display two virus, the Player, the NPC, and the 4 bullets, on one line before flickering starts.\n\nOtherwise should the player fire from the extreme left side of the screen to the right side, there would be a lot of bullets to display, as well as lag because of the increasing number of collision check to perform. (And the game is far from being perfectly optimized for the system, as it is written in C)\n\nTo demonstrate what could happen, I just built an example ROM where i increased the number of bullets the player can fire, and reduced their speed to 1 px per frame (which is really slow for demonstration purpose), look at how glitchy and laggy it can get : \n\nhttps:\/\/github.com\/Khopa\/protector_ldjam46\/releases\/download\/1.0.1-glitchy\/protector_slow_bullets_example.nes\n\n\n","likes":1,"format":"md"},{"author_name":"NEKORUMA","author_uid":"1195356","time":"2020-04-21T01:38:03Z","epoch":1587433083,"modified":1587433083,"text":"i love nintedo nes!! this game made me nostalgic! great job !!","likes":1,"format":"md"},{"author_name":"stolen_biscuit","author_uid":"1184546","time":"2020-04-21T23:29:10Z","epoch":1587511750,"modified":1587511750,"text":"Awesome concept! Was really fun, the controls were nice and I thoroughly enjoyed playing it. Well done!","likes":1,"format":"md"},{"author_name":"keanutah","author_uid":"1051542","time":"2020-04-21T23:37:11Z","epoch":1587512231,"modified":1587512231,"text":"Really cool that you made a legit NES game! Wish I had a flashcart to play this on real hardware. I think there are some obvious gameplay improvements you could add, but making this all for a jam is really really awesome","likes":1,"format":"md"},{"author_name":"thewrath","author_uid":1183294,"time":"2020-04-22T08:08:46Z","epoch":1587542926,"modified":1587542926,"text":"Your game is both very interesting in terms of programming and gameplay, simple and efficient like a real NES game ! I'm going to visit the github repo it must be interesting ! A great entry for the Jam.","likes":1,"format":"md"},{"author_name":"khopa","author_uid":"1185626","time":"2020-04-22T10:57:58Z","epoch":1587553078,"modified":1587553078,"text":"@thewrath\nThanks !\n\nIf you are interested in programming for the NES, you should definitely check this website out : \nhttps:\/\/shiru.untergrund.net\/articles\/programming_nes_games_in_c.htm\n\nIt has a bunch of very simple examples, tools, resources, and general advices that might be better to get you started. ","likes":2,"format":"md"},{"author_name":"pcmaster","author_uid":"1000478","time":"2020-04-22T19:05:40Z","epoch":1587582340,"modified":1587582340,"text":"Impressive, small, simple, minimalistic (also due to the truly oldskool platform), nice. I wish I could 'control' the nurse by herding her (away from me, for example). Good job :)","likes":1,"format":"md"},{"author_name":"Ismael Rodriguez","author_uid":"1080860","time":"2020-04-22T19:41:56Z","epoch":1587584516,"modified":1587584634,"text":"Really cool to play an indie NES game! Feels super authentic as retro game, so everything as far as quality goes is more forgivable. Good job putting this together. My 1 wish for this game, is for the sprint button to be replaced by a \"strafe\" button, so I can hold the strafe button to sidestep and back-peddle while shooting.","likes":1,"format":"md"},{"author_name":"khopa","author_uid":"1185626","time":"2020-04-22T20:07:14Z","epoch":1587586034,"modified":1587586034,"text":"@ismael-rodriguez \nThat's a really good idea for the A button ! I might experiment this, as it's true the current sprint behaviour doesn't work very well.\n\n","likes":1,"format":"md"},{"author_name":"baylej","author_uid":"1001162","time":"2020-04-22T20:15:59Z","epoch":1587586559,"modified":1587586559,"text":"Thanks for this game, really fun, wished I could load it on a cartridge and play it on the original hardware.\nQuestion, the doctor in the intro, is that Prof Didier Raoult? :thinking:","likes":1,"format":"md"},{"author_name":"SoKette","author_uid":"1000322","time":"2020-04-22T20:55:02Z","epoch":1587588902,"modified":1587588902,"text":"I had a craving for NES game right before the ludum dare week-end, thank you sir for that :D\n\nIt's kinda hard to give feedback on this one, since I grew up with a SNES, but not an NES, and so I don't really know what is a technical difficulty or impossibility or what is a choice imposed by the console's limitation :P\nI'm definitly going to try to do something for the NES in the future !","likes":1,"format":"md"},{"author_name":"khopa","author_uid":"1185626","time":"2020-04-22T22:29:01Z","epoch":1587594541,"modified":1587594541,"text":"@baylej\n\nYes it is. :sweat_smile: \n\n![raoult.png](\/\/\/raw\/a15\/d2\/z\/32928.png)\n\nJust don't read too much into it. I needed a doctor photography, and the guy being kind of a meme, i decided to go with that. I'm surprised that he's even recognizable, as i did an awful job when trying to convert the picture to 4 color NES compatible format.","likes":1,"format":"md"},{"author_name":"khopa","author_uid":"1185626","time":"2020-04-22T22:52:24Z","epoch":1587595944,"modified":1587595944,"text":"@sokette\n\nI did not grew up with the NES either, and i totally get your point. I played most of the popular games later, but still.\n\nI wasn't aware of most limits before i started really reading about the system and coding for it.\n\nAnd now that i know a little bit more about it, i'm actually really impressed by the games that were released back then, and what developers achieved with the system.\n","likes":0,"format":"md"},{"author_name":"baylej","author_uid":"1001162","time":"2020-04-22T22:53:31Z","epoch":1587596011,"modified":1587596011,"text":"@khopa haha! Don't worry, I like memes too, I give you one extra point in humor :wink: ","likes":1,"format":"md"},{"author_name":"Fractal","author_uid":"1143275","time":"2020-05-12T15:48:13Z","epoch":1589298493,"modified":1589298493,"text":"Cool retro game, even though there isn\u2019t that much to do, but I\u2019m guessing it\u2019s not easy to write a NES game! CycloaJS doesn\u2019t seem to work on Chromium for me (I got 18 FPS or so, which was super slow, and the music was completely chopped up), but it worked with Firefox.","likes":1,"format":"md"}],"format":"md","images":["ld46\/192353-01d248611107bf59d6c70e738b3af7cd.png"],"links":[{"url":"https:\/\/github.com\/Khopa\/protector_ldjam46\/releases\/download\/1.0.1\/protector.nes","text":"Youtube"},{"url":"https:\/\/github.com\/Khopa\/protector_ldjam46","text":"Youtube"},{"url":"https:\/\/khopa.itch.io\/protector","text":"Youtube"}],"metadata":{"g_key":"58363","g_author":"1185626","g_event":"LD46","g_eventkey":"77","g_subevent":"COMPO","g_urlkey":"268602","g_title":"Protector","g_status":"PVT1","g_place":"468","g_commentcount":"27","g_site2_node_id":"192353","g_hide":"N","g_has_icon":"Y","g_rqueue":"0","g_random":"0"},"nds":{"n_key":"192353","n_urlkey":"268602","n_parent":"176557","n_path":"\/events\/ludum-dare\/46\/protector","n_slug":"protector","n_type":"item","n_subtype":"game","n_subsubtype":"compo","n_author":"185626","n_created":"1587154607","n_modified":"1587318527","n_version":"570409","n_status":"COMMIT"},"node":{"id":192353,"parent":176557,"superparent":9,"author":185626,"type":"item","subtype":"game","subsubtype":"compo","published":"2020-04-19T14:56:38Z","created":"2020-04-17T20:16:47Z","modified":"2020-04-19T17:48:47Z","version":570409,"slug":"protector","name":"Protector","body":"\n# PROTECTOR\n\nA Ludum Dare 46 game jam compo entry. April 2020.\n\n**THEME :** *KEEP IT ALIVE*\n\n**Platform :** Nintendo Entertainment System \\[NES\\]\n\n**Language : C** *(ASM source included in source code were either generated, or are existing library necessary to build the ROM.)*\n\n![boxart.png](\/\/\/raw\/a15\/d2\/z\/2b624.png)\n\n### Description\n\nThis a 1-player Arcade action game.\nYou are a hero, with your antivirus gun, you must destroy the incoming viruses, survive and protect the nurse in an hospital.\n\n![gameplay.png](\/\/\/raw\/a15\/d2\/z\/2b62f.png)\n\n### Controls\n\n* Hold A to run\n* Press B to shoot\n* Use D-PAD to move around\n* Press SELECT to toggle the music if it annoys you\n* Press START to pause the game\n\n![controls.png](\/\/\/raw\/a15\/d2\/z\/2b630.png)\n\n### How to run\n\nDownload .nes ROM. Open it in your favorite NES emulator. \nI recommend to use [Mesen](https:\/\/mesen.ca\/) for an optimal experience.\n\nIf you do not want to install an emulator, you can just go to https:\/\/jsnes.org\/, then drag and drop the .nes rom on the webpage to play.\n\n\n### How was it made\n\n**Libraries :**\n\n* Shiru's neslib\n* Shiru's famitone2\n\n**Tools used :**\n\n* Visual Studio Code (Code editor)\n* Shiru's NES Screen Tools (CHR graphic bank editor, and nametable map tool, NES palette editor)\n* CA65 compiler (Compiler)\n* Famitracker  (Sound & Music)\n* Mesen (Emulator & Debug tools)\n* Shiru's NES Space Checker (Check generated ROM)\n\n### Special Thanks\n\nI'd like to thanks :\n\n* Shiru for his invaluable NES development tutorials, tools, examples and learning resources\n* All the developers of the tools i used. (Mesen, Famitracker, Visual Studio Code, CA65)\n* The LDJAM event organizers\n* Anyone that is going to play and rate this game during the competion\n* ...\n* AND all the people fighting the pandemic while i'm at home making silly games !\n\n--------------------------------------------\n\n### How to run\n\nDownload the .nes ROM. Open it in your favorite NES emulator. \nI recommend to use [Mesen](https:\/\/mesen.ca\/) for an optimal experience.\n\nIf you do not want to install an emulator, you can find a web-based one, then just drag and drop the .NES rom. \n\nI found these working online html5\/javascript NES emulators : \n- https:\/\/app.7io.org\/CycloaJS\/ : Just drag and drop the .nes file on the webpage to start playing. [Recommended]\n- https:\/\/jsnes.org\/ : Just drag and drop the .nes file on the webpage to start playing. [Does not work entirely as expected]\n\n--------------------------------------------\n","meta":{"author":[185626],"cover":"\/\/\/content\/a15\/d2\/z\/2b60c.png","link-01":"https:\/\/github.com\/Khopa\/protector_ldjam46\/releases\/download\/1.0.1\/protector.nes","link-01-tag":[42361],"link-01-name":"NES ROM [GITHUB]","link-02":"https:\/\/github.com\/Khopa\/protector_ldjam46","link-02-tag":[42332],"link-02-name":"Github","link-03":"https:\/\/khopa.itch.io\/protector","link-03-tag":[42440],"link-03-name":"Itch.io page"},"path":"\/events\/ludum-dare\/46\/protector","parents":[1,5,9,176557],"love":0,"notes":27,"notes-timestamp":"2020-05-12T15:48:13Z","grade":{"grade-01":35,"grade-02":35,"grade-03":36,"grade-04":36,"grade-05":37,"grade-06":34,"grade-07":35,"grade-08":35},"magic":{"cool":124.46248065545,"feedback":39,"given":53.25,"grade":35.375,"grade-01-average":3.485,"grade-01-result":468,"grade-02-average":3.136,"grade-02-result":651,"grade-03-average":3.706,"grade-03-result":213,"grade-04-average":3.676,"grade-04-result":521,"grade-05-average":3.786,"grade-05-result":269,"grade-06-average":3.266,"grade-06-result":380,"grade-07-average":2.939,"grade-07-result":434,"grade-08-average":3.015,"grade-08-result":679,"smart":-1.2444929298703}},"text":"\n# PROTECTOR\n\nA Ludum Dare 46 game jam compo entry. April 2020.\n\n**THEME :** *KEEP IT ALIVE*\n\n**Platform :** Nintendo Entertainment System \\[NES\\]\n\n**Language : C** *(ASM source included in source code were either generated, or are existing library necessary to build the ROM.)*\n\n![boxart.png](\/\/\/raw\/a15\/d2\/z\/2b624.png)\n\n### Description\n\nThis a 1-player Arcade action game.\nYou are a hero, with your antivirus gun, you must destroy the incoming viruses, survive and protect the nurse in an hospital.\n\n![gameplay.png](\/\/\/raw\/a15\/d2\/z\/2b62f.png)\n\n### Controls\n\n* Hold A to run\n* Press B to shoot\n* Use D-PAD to move around\n* Press SELECT to toggle the music if it annoys you\n* Press START to pause the game\n\n![controls.png](\/\/\/raw\/a15\/d2\/z\/2b630.png)\n\n### How to run\n\nDownload .nes ROM. Open it in your favorite NES emulator. \nI recommend to use [Mesen](https:\/\/mesen.ca\/) for an optimal experience.\n\nIf you do not want to install an emulator, you can just go to https:\/\/jsnes.org\/, then drag and drop the .nes rom on the webpage to play.\n\n\n### How was it made\n\n**Libraries :**\n\n* Shiru's neslib\n* Shiru's famitone2\n\n**Tools used :**\n\n* Visual Studio Code (Code editor)\n* Shiru's NES Screen Tools (CHR graphic bank editor, and nametable map tool, NES palette editor)\n* CA65 compiler (Compiler)\n* Famitracker  (Sound & Music)\n* Mesen (Emulator & Debug tools)\n* Shiru's NES Space Checker (Check generated ROM)\n\n### Special Thanks\n\nI'd like to thanks :\n\n* Shiru for his invaluable NES development tutorials, tools, examples and learning resources\n* All the developers of the tools i used. (Mesen, Famitracker, Visual Studio Code, CA65)\n* The LDJAM event organizers\n* Anyone that is going to play and rate this game during the competion\n* ...\n* AND all the people fighting the pandemic while i'm at home making silly games !\n\n--------------------------------------------\n\n### How to run\n\nDownload the .nes ROM. Open it in your favorite NES emulator. \nI recommend to use [Mesen](https:\/\/mesen.ca\/) for an optimal experience.\n\nIf you do not want to install an emulator, you can find a web-based one, then just drag and drop the .NES rom. \n\nI found these working online html5\/javascript NES emulators : \n- https:\/\/app.7io.org\/CycloaJS\/ : Just drag and drop the .nes file on the webpage to start playing. [Recommended]\n- https:\/\/jsnes.org\/ : Just drag and drop the .nes file on the webpage to start playing. [Does not work entirely as expected]\n\n--------------------------------------------\n","title":"Protector"}