Haunted Halloween 85

You can talk about almost anything that you want to on this board.

Moderator: Moderators

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

Re: Haunted Halloween 85

Post by tokumaru »

In cases like this, the emulator is locked to playing only one game, and the game is embedded like any other asset, such as images or sounds. It should be indistinguishable from a native game.

Rebuilding the game from scratch is probably more trouble than coding a barebones NES emulator. A lot of people who coded emulators were able to get games running in just a couple of weeks. Also, once you had an emulator at your disposal, future releases would get ready much quicker (provided the original version is an NES program).
User avatar
GradualGames
Posts: 1106
Joined: Sun Nov 09, 2008 9:18 pm
Location: Pennsylvania, USA
Contact:

Re: Haunted Halloween 85

Post by GradualGames »

tokumaru wrote:In cases like this, the emulator is locked to playing only one game, and the game is embedded like any other asset, such as images or sounds. It should be indistinguishable from a native game.

Rebuilding the game from scratch is probably more trouble than coding a barebones NES emulator. A lot of people who coded emulators were able to get games running in just a couple of weeks. Also, once you had an emulator at your disposal, future releases would get ready much quicker (provided the original version is an NES program).
I was wondering about this myself. In other words, if I were ever to bring games I make to modern platforms, I wonder how hard it would be to write an NES emulator that is tailor made for whatever hardware quirks I happen to be exploiting in a particular game. I imagine that would be dramatically easier than writing a truly accurate emulator that can play any game. I recall seeing Bisqwit's video where he codes an NES emulator in c++ that's only ~1000 lines long. https://youtu.be/y71lli8MS8s Not that anything I make would necessarily achieve the same results right away---I was just intrigued it is possible to emulate the NES with so little code.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Haunted Halloween 85

Post by tokumaru »

I believe that what makes an NES emulator complicated is the CPU-PPU synchronization, which is mostly necessary for raster effects. In a controlled environment, you can probably get away with simple cycle counting and rounding CPU x PPU interactions to whole scanlines.

Another complicated aspect of emulating the NES, IMO, is the APU. There's so much stuff going on in there it isn't even funny. Luckily, most sound engines currently in use don't seem to rely on the complicated details, so simply generating the individual sound waves (according to their current frequency, volume and duty cycle) and mixing them together using the correct formula might actually be enough. If you design your own sound engine, like many people do, you'll know exactly what needs to be emulated and what doesn't.

Coding a relaxed emulator like this shouldn't take longer than a couple of weeks, provided you're familiar with the NES architecture and comfortable with working with audio, video and input in the target platform.
User avatar
Memblers
Site Admin
Posts: 4044
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Re: Haunted Halloween 85

Post by Memblers »

tepples wrote: But in order to lock down an emulator like that, it can't be a copylefted emulator.
Well, if you want to use it without asking, that's true. But the author of a GPL program still owns the copyright, thus I'd think all you have to do is ask permission or request terms to use it under a different license. Of course, if the emulator has a whole bunch of authors over time (like I'd suspect for FCEU) then that's another problem in itself. If it was me, I'd find an emulator that has just one, or a small number of authors, and ask. Worst they can do is say no.
User avatar
darryl.revok
Posts: 520
Joined: Sat Jul 25, 2015 1:22 pm

Re: Haunted Halloween 85

Post by darryl.revok »

By the way, I wanted to add, admittedly the instrument choices get a little rough after a couple listens, but some of the melody work is genuinely good. Particularly the mall level music. I can still remember how the tune goes and it's pretty catchy.
User avatar
Retrotainment Games
Posts: 14
Joined: Wed Dec 16, 2015 4:41 pm
Location: Pittsburgh
Contact:

Re: Haunted Halloween 85

Post by Retrotainment Games »

darryl.revok wrote:By the way, I wanted to add, admittedly the instrument choices get a little rough after a couple listens, but some of the melody work is genuinely good. Particularly the mall level music. I can still remember how the tune goes and it's pretty catchy.
The Mall theme "Convenient Chaos" is definitely one of the catchier ones and a crowd favorite according to most of the feedback I've gotten. My personal favorite is the Neighborhood theme "No Community". I agree the Thomas' melodies are good overall but that one stands out to me as the best.

As for the emulator topic, I have an inquiry out to Steam to find out if a locked-down emulator with everything embedded would pass their restrictions. I'll report back as soon as I get word..
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Haunted Halloween 85

Post by tokumaru »

Retrotainment Games wrote:As for the emulator topic, I have an inquiry out to Steam to find out if a locked-down emulator with everything embedded would pass their restrictions. I'll report back as soon as I get word..
How could they possibly tell apart a program that uses a ROM as a data file from a program that uses images, sounds and other miscellaneous data files? I mean, virtual machines and scripting languages have been used in games since forever, so it's not like running a game off of interpreted bytecode (which in this case happens to be "a lot like" 6502 assembly code) is anything uncommon.

I don't know if the word "emulator" will trigger any red flags with them, though. Maybe "virtual machine" would be a better way to describe a setup like this without alluding to piracy.
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Haunted Halloween 85

Post by rainwarrior »

There are plenty of games on steam that run python or lua as an embedded scripting language, often with raw text script files right in there with the game data, lying naked. I can't imagine that an embedded emulator is a real concern, unless it was allowed unrestricted access to the native file system in some way, but even that I don't think is Valve's concern, just it should be yours as a developer.

I'm not certain that Valve even has that kind of policy at all. I think they tend to reserve the right to react to problems as they arise, rather than provide a strict list of requirements up front. (I did some searching of the documentation available to me, but I don't really see anything that would apply here.)

There are also a large number of Steam games that have DOSBox in them.

Why do you even think Steam has an anti-emulator policy? (And why would they?)
User avatar
Retrotainment Games
Posts: 14
Joined: Wed Dec 16, 2015 4:41 pm
Location: Pittsburgh
Contact:

Re: Haunted Halloween 85

Post by Retrotainment Games »

rainwarrior wrote:I'm not certain that Valve even has that kind of policy at all. I think they tend to reserve the right to react to problems as they arise, rather than provide a strict list of requirements up front. (I did some searching of the documentation available to me, but I don't really see anything that would apply here.)

There are also a large number of Steam games that have DOSBox in them.

Why do you even think Steam has an anti-emulator policy? (And why would they?)
I only know what I was told when I contacted them about getting the game on Greenlight. I don't know enough about this so all I can really do is convey the information from others who do have the experience and knowledge. I submitted a follow-up email about this issue so as soon as I hear back I'll let you know. Everything you said makes perfect sense, I can't understand why it would matter to them. Maybe they were just immediately reacting to my inquiry and wanted to shoot down any thought of running the game on an emulator. I did not go into the sort of detail that has been discussed on here..
I don't know if the word "emulator" will trigger any red flags with them, though. Maybe "virtual machine" would be a better way to describe a setup like this without alluding to piracy.
I think this sounds about right. If I had to guess they saw the word "emulator" and that triggered a canned response that they rattle off to anyone who uses the word.

Rainwarrior, you know infinitely more about this stuff than I do so if you want to spearhead an inquiry that would be cool. I'm sure you could get to the bottom of it much more quickly than I. If they throw technical jargon back at me I'll have to come back here for more info or look things up piece by piece to try to educate myself. Hopefully they dumb it down a bit and I can make headway; if not I'll look to you guys for some answers and/or better questions :)
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Haunted Halloween 85

Post by tepples »

Call the ROM "bytecode for our scripting system".
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Haunted Halloween 85

Post by tokumaru »

tepples wrote:Call the ROM "bytecode for our scripting system".
My point exactly.
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Haunted Halloween 85

Post by rainwarrior »

tokumaru wrote:
tepples wrote:Call the ROM "bytecode for our scripting system".
My point exactly.
My point is that you're talking about a workaround for a problem that doesn't exist, yet. Who is being prevented from publishing an emulation-based game on Steam?
User avatar
Retrotainment Games
Posts: 14
Joined: Wed Dec 16, 2015 4:41 pm
Location: Pittsburgh
Contact:

Re: Haunted Halloween 85

Post by Retrotainment Games »

No one is being prevented, yet, as far as I know. I guess this all started from the statement, "Steam does not allow packaged software with your game so an emulator wasn't an option.", meaning I couldn't put the ROM on Steam with an emulator to play it and distribute it that way.

This statement from their FAQ is what prompted me to ask them about an emulator in the first place:

I have a game that runs in a web browser – can I submit it to Steam Greenlight?
Games distributed by Steam must be able to launch and run as stand-alone applications. If you have a browser-based game, you will need to create a version that can operate as a stand-alone executable and not require use of the customer's web browser.


I was informed that I couldn't package emulator software with my game. That was it. After reading through the responses on here I realized I didn't phrase my question appropriately so I rephrased it to be more clear. My follow-up question about a tailored emulator with everything embedded has not been answered yet. It took several weeks to get my first answer from them so who know how long this will take.

To your point, I did not use the term "emulation-based game" so maybe you're right and there is no issue with this. Again, I don't know this stuff like you guys do and apologize if what I said was misleading, I was just trying to answer the questions about whether we were using an emulator to play Haunted on Steam. I added the phrase that I quoted above because I thought it might be useful to anyone trying to or thinking about packaging their game with an emulator. I will gladly send another question to Steam however it should be posed in order to get to the bottom of this but I need help crafting the question.
User avatar
thefox
Posts: 3134
Joined: Mon Jan 03, 2005 10:36 am
Location: 🇫🇮
Contact:

Re: Haunted Halloween 85

Post by thefox »

I don't think they'll have a problem with an embedded emulator (simply on the basis that I don't see any reason why they would). There are games on Steam right now that run on an embedded emulator, like Mega Man Legacy Collection.
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Haunted Halloween 85

Post by tepples »

[Almost 2 years later]

The version of HH85 that made it to Steam is reprogrammed, but HH86 for Steam runs in a specialized emulator.

I'm told some people think this game is a ROM hack of Downtown Nekketsu Monogatari/River City Ransom/Street Gangs by Technos, possibly because Donny looks a bit like Kunio. Is there a reliable way to search for common code in two 6502 executables in order to conclusively rule this out? Searching for literal substrings doesn't rule out disassembly and reassembly methods used in more recent Super Mario Bros. and Super Mario Bros. 2 (J), such as ShaneM's, as relinking will move things around in RAM and/or ROM. For example, the process might use a good dump of RCR and this stand-alone version of the demo included in the third Action 53 volume.
Attachments
haunted_mall.nes.zip
(73 KiB) Downloaded 293 times
Post Reply