Quoted from iceman44:
It's his job to promote Stern and improve communication. Wtf?
meaning.. he convinced people to pay him for the skill...
Quoted from markmon:
Disagree. Having developers with passion to work in something in their spare time because they love it is quite different then having developers that work 9-5 because that's when they're paid.
yeah, but passion work should lead to passion projects... not 'we gotta work on our own time to finish projects because the boss won't resource them properly'
Because that burns people out.. and it lets the bad management get away with the bad management because people's passion covered their shortcomings.
Quoted from xfassa:
I am also curious if the code is written from the ground up every time or if there is generic code/modules that can be recycled. In other words, does the programmer start from scratch or do they build on previous code?
They work with previous code when it's available. They first had to build a OS and framework, that includes all the methods to drive common hardware, interface with the displays, etc.. then have built higher level languages which could be thought of like scripts or macros to do common things. But while they build upon their past efforts, different games can introduce new hardware that needs new drivers and new code around how it interfaces with the rest of the game.
With the current platforms, they shouldn't have to worry much about optimization and fitting stuff.. maybe they still have to deal with timing and lots of concurrency.. but that too should be better on the newer hardware. I think a lot of it just comes from having to work through ALL the variations and potentials.
I'm sure you could decompile much of the code.. but with everything its about input vs reward. Doing something like changing a few values by bit flipping would be simple.. reworking the code or fixing bugs is way more because you wouldn't just swap some values, but would require pushing around a lot more changes. Hacking something to run something completely new, is actually easier than hacking it to rework what is already there. Having to have a devkit setup too is also a hinderance verse being able to run a debugger right on your PC, etc.
Effort vs reward...
Those kinds of changes typically are dumb simple even without the source code if the code doesn't have protections against modified code and you can use a debugger. But since the code runs on an embedded platform, it takes either more effort to setup something to step through the code or a heck of a lot more brute force tries to find the right location. But since Sam is emulated in pinmame... I have to imagine that should make it easier to monitor and find the right memory locations if the debugging were there or were added
Quoted from markmon:
So even decompiling this doesn't produce very friendly assembly. You lose any intelligent variable names and code comments. Further, you'd need to spend significant time to set up a tool chain to cross compile this. Im not sure what the architecture is for say SAM or if there are vendor provided compilers already. The programmers are working in C not decomposed assembly. So this is a ton more difficult. At least the guy that did the data east Star Wars was decompiling assembly written code not some C code that a compiler "optimized".
This is pretty much the case for all efforts that start with decompiled assembly... But it still is done from time to time. Harder... But not impossible. Plus we already have a pic based emulation of the platform in pinmame... Hack in some step wise debugging and register monitoring... Find your memory location and hack away
Quoted from TigerLaw:
Alright, I'll bite: why not? I haven't heard people say leave it like it is, impossible to get to... I can't believe Lyman meant to code a mode no one, even the best players in the world, can get to. (And we are talking about the Multiball, not the hurry up...).
Austin did it less than three weeks after getting iron man...
Jump to 22mins . And he doesn't cheat... He just lives for these kinds of challenges.
Quoted from TigerLaw:
He closed the outlanes, set it to five balls, and I believe he said he adjusted the pitch...still super impressive no doubt (I would not be able to accomplish it still) but it just isn't the same as seeing it done in a tournament.
Uh no. The game is set on 3 ball, but he is playing extra balls. The lanes are not closed, they are just on the easier holes vs wide open like we would setup for tournament. The game is not slowed down... You can watch it. And you didn't say doing it in a tournament... Just that it was so impossible. You should never see these super wizard modes in a tournament period. Austin just plays games until he masters them.
Quoted from Whysnow:
It is PR bullcrap without any evidence or real facts to back it up
It is PR... the problem is you are thinking its something else. When companies put out press releases, etc.. they don't go back and then go into counter arguments with every reader.
This is a statement piece that was posted on pinside, facebook, and stern's page. People are free to disagree with it.. but it's a corporate PR piece... they aren't going to get dragged down into arguing with people.
Why can't people just accept things for what they are and move on? Instead we gotta kick and scream because the world isn't what we want it to be. Suck it up.
Quoted from Luckydogg420:
A press release should be on their Facebook or even better ON THEIR WEB SITE. Not on a forum.
Let's look at the "recent news" on their site. .....it's from June; 6 months ago.
And WTF. Latest video is of wwe.
It was on their facebook page... and in turn reflected on their social feeds on their website. Scroll to the bottom of stern's page even today.. you see the lead-in on the facebook panel
And I didn't call it a press release.. I said PR as in public relations. It was a statement put out under their social media efforts.
Quoted from Circus_Animal:
If software development can't keep pace with manufacturing, the company will go out of business no matter how they time things; the backlog will just keep getting bigger until the whole thing falls over. If it can, then there's no reason for Stern to be releasing half-finished games. All they would need to do is slow the frequency of announcements for a year or two and software would be synchronised with manufacturing, after which point they could continue at the current rate.
This is laden with several fallacies
- that all software is equally important. Some things simply can wait
- that all work needed is predictable and known ahead of time - not only are estimates poor at times, new requirements always appear
- that all projects are equally important - reality is the world is dynamic and it's not uncommon to rob from Peter to pay Paul when circumstances dictate
- that you need to finish things at all costs - sometimes it just makes sense to punt and move on
- that software investment in a dead product is valuable - this can actually be wasteful
- that all projects are roughly similar sizes... The lines need to run, and stalling them for software doesn't make sense. SW can be added later at negiblile costs... Production line can not do time warps
When the work backlog gets too big - you evaluate what is most important and if the work items are still relevant... And drop stuff that never will feasibly get done. You don't "fall over" -- you decide what is not worth doing.
The problem people have had with stern is not that code needs iterations, it's that they did not have faith in stern for delivering on the updates and in an acceptable timeframe. That has a lot to do with sterns past performance and their choice to not be forthcoming on the code's state or future plans. Stern wants their cake and eat it too...
Staff up.. Yes... Staff to have everything done at day0.... Probably overkill
Quoted from markmon:
Also, software can't get started earlier either. They need a game at a certain level of operation before they can write their code.
This I disagree with. The platform is relatively stable. Game code is largely abstracted from the hardware below it. There isn't a lot of reason simulation can't be used to get a bulk of the elements in place. The hardware driver interfaces can be acted on later or at least represented with interfaces
And now they should be coding in a high level language. If not, build the thing in a pinmame type environment.
With their hardware platform spanning multiple titles over years... It's gotta be worth it
Quoted from markmon:
Pinmame might have been someone helpful on Sam where it was emulated. But then you'd need resources to make the video table. This is not at all helpful on spike where there is no emulation. They would have to spend a lot of hours creating the simulation type environment that doesn't exist now.
Yes, but they also have the most to gain from doing so. It's not a hobby to them. It could be a worthwhile investment given you have the same platform for many games over a long period. Plus it would be a fundamental tool for automated testing as well.
No need for the video portion of the table at the earlier phases... use manual input or scripted switch hits. Heck, you could probably take one of the visual sims anyway out there today and put your hardware sim under it.
The point isn't to play out the design of the game (that's another use case) but simply to be able to implement code further without waiting for a physical prototype.
Quoted from phillymadison:
Do you think Stern feels when they ship a pin the code is good and done? Or are they knowingly sending out unfinished codes with a "we'll get to it later" attitude?
Coders know quite clearly when their stuff isn't done... the project leads will know too (they aren't pinball illiterate). It's gotta be a conscious decision that says "Its good enough for what the schedule dictates right now"
The more vague debates I'm sure are around deciding which games should get priority AFTER they have started shipping... which work will give us the most return.
Great to see you're enjoying Pinside! Did you know Pinside is able to run thanks to donations from our visitors? Please donate to Pinside, support the site and get anext to your username to show for it! Donate to Pinside