(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-20-24 01:37 PM
Acmlm's Board - I3 Archive - - Posts by Guy Perfect
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
User Post
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-21-06 01:07 AM, in ROM-less Editing - It is Not Unreasonable Link
The primary ROM-less targets for my project, HyperHacker, are those with the F-Zero X Expansion Kit who want to transfer their courses to others such that they can be used universally. With a standardized track data format, the editor can do away with ambiguous, sloppy, self-made text files that are being used now.

If you had a fully-working, authentic level editor in one of your video games, would you be the first one to volunteer to illegally download 16MB of ROM data just to put your level in a format that everyone can use?


(edited by BGNG on 01-21-06 12:07 AM)
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-21-06 12:18 PM, in ROM-less Editing - It is Not Unreasonable Link
Those who will break the law will break the law. Using level editor software is not illegal; only using illegitimate copies of ROMs is illegal. But for those who do not wish to break the law, there should be no reason to force them to do so. Custom tracks in F-Zero X are available for both console and ROM-hacking editors, which means one portion of the people making tracks for this game may never have a use for the ROM whatsoever.

When closed-minded people start saying things like "there's absolutely no reason to make or use a ROM-less editor," they're completely throwing that non-ROM-using portion of the gaming population to the wind and ignoring their existence. That simply isn't approperiate in the gaming community. Just because they can't forsee anyone using an editor without an emulator at hand doesn't mean such activities don't exist.

In fact, there are a few games out there that do have level editors. Other racing games like Excite Bike, F-Zero Climax, Hyper Sonic Extreme and Mach Rider all have level editors built into the retail game. As with any video game, the primary input is the controller, and designing courses with a controller on a small screen can be cumbersome at best, so using editors on a personal computer may be a more convenient way to do things.

In fact, a guy by the handle CaitSyth2 made a Windows-based course creator for F-Zero Climax that encodes/decodes the passwords needed to transfer tracks to the game and to other people. If you don't want to go into the game, enter the lengthy password, then look at a track only to find out you don't like it, you can simply copy/paste the password into that program and see what it looks like. Time saver, hassle saver, happiness abounds. That's not much different from what I'm doing.

The purpose of this thread is to provide sufficient evidence that there are very practical applications for ROM-less level editors. It's obvious that some people have not considered how such editors can be useful.

The editor that I am creating has a double purpose. One is that it provides a standardized encoding for F-Zero X courses so people can transfer their tracks over the internet reliably and without forgetting to document any features. The other is that I am creating a game modding tool that can be used to patch courses to any retail F-Zero X ROM.
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-21-06 03:27 PM, in ROM-less Editing - It is Not Unreasonable Link
The Expansion Kit nor my editor will let you test out a GP on a track, so drivability is mostly trial and error. Players of the game should be able to tell just by looking at it, however, if any turns are safe or not.

And as I said before:

"Further comments on the F-Zero X editor that do not pertain specifically to ROM-less editing should go in this thread"
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-21-06 04:03 PM, in ROM-less Editing - It is Not Unreasonable Link
"Hey, guys! I made this great course! I don't know if it works or not because I haven't tested it, but isn't it awesome!?"

That's not a likely scenario, NEONswift, you know that. Those who don't have the Expansion Kit will be required to have a ROM at hand to test their tracks. If they have neither, then they won't be able to test the tracks and I highly doubt someone will say "Did it work well? I'd try it myself, but I can't."

If you have the Expansion Kit, then you can test the courses in that. If you have a ROM, then you can test the courses in that. Otherwise, I can only figure using the editor if you have some time to kill at work and you want to make a track to try out when you get home.
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-22-06 03:46 AM, in ROM-less Editing - It is Not Unreasonable Link
F-Zero Climax is the one with passwords. F-Zero X Expansion Kit requires you to look at the on-screen readout of the coordinate data and write them down by hand, which is sloppy at best. You wouldnt' believe the trouble I had getting textures right in the DD-1 and DD-2 Cups when all I had was coordinate info and some video recordings of the tracks.

Self-dumps are legal, and you can use them however you want, with anything you want, during any time of day you want, while eating anything you want. There are no restrictions on that. The only thing that intellectual property laws guard against is distributing the ROM dump without authorization. Everything else, including multiple copies of a ROM, are perfectly legal if it's yours.
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-22-06 02:02 PM, in ROM-less Editing - It is Not Unreasonable Link
If it's your property, you can use the same ROM on seventeen computers simultaneously while playing on the console. There is no law against that.

Though I will begin to whine and complain if the next reply to this topic isn't in part somewhat related to ROM-less level editing.
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-24-06 07:24 PM, in F-Zero X -- Editor Project Link
Omigosh! An update!

After a week of becomming acquainted with Linux, and a second week of becomming reacquainted with Soldat, I'm finally back in the swing of editor-ing and I've got some updateage for ya.

Here we have the proposed specification for the F-Zero X Track File Format that will be used as the native format for the editor as well as the standardized format for players of the Expansion Kit to use to transfer their tracks over the internet. I invite you, the reader, to revise the specification and see if you'd like anything changed or added.

The exact values used for things like "Venue" are not documented, but that's a general overview of the file specification. If you have any questions or comments, post them.

F-Zero X File Specification v1.1
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-25-06 12:01 PM, in F-Zero X -- Editor Project Link
OMG please don't quote the entirety of the post immediately before yours and make a whole post just to comment on one thing which is off-topic in the first place.

Anyone take a look at that specification?
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-25-06 09:03 PM, in New FZX Hack. F-Zero DXP Link
The track pack will patch the courses to any retail F-Zero X ROM in V64 or Z64 format without need of expansion.

Also, you can easily download the file by copy/paste the URL into the Address Bar of your web browser instead of using the link that Dave provided.

So copy/paste this:
http://www.angelfire.com/music4/davepalace/other/FZeroDXP.zip


(edited by BGNG on 01-25-06 08:04 PM)
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-26-06 02:42 AM, in General Super Mario 64 hacking / TT64 Progress thread Link
That's no big deal. When the editor is released with a big, fat "By: VL-Tone" on it, the only way to claim it is if we get ten or twelve wannabes start calling themselves VL-Tone...

Okay, that's a scary thought... And even scarier: What if I get clones with the F-Zero X editor?

I'm so scared. I think I'll avoid this thread for a while.
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-26-06 02:37 PM, in F-Zero X -- Editor Project Link
Alright, then. I shall implement it.
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-26-06 05:36 PM, in wondering Link
Dave Phaneuf made 24 new tracks fo F-Zero X. Details in another thread in this forum:

New FZX Hack. F-Zero DXP
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-27-06 08:20 PM, in The Open-Source Exception Link
As the sun began to set beneath the horizon, causing the future to unfold in its wake, and stars from the twinking expanse of the great beyond became ever more vivid in the eyes of integrity and steadfastness, a new wonder streaked across the softly moonlit sky and struck awe into all who were fortunate enough to behold it.

This marvelous entity provided of itself a lifebringer that brought a new vitality to an otherwise scortched world filled to the brim with corruption and decay. The new salvation, which the natives have come to call Open-Source, remains ever-present behind the protective barriers put up by the oppressors, and they know that the time draws near when their trusted fortitude will begin to fail and crush them under its weight.

Great power has been given to the oppressed as the source code of tremendous feats of coding has become available to them; and with it, they are able to forge new weapons of terrible power to strike down those who once held them at the mercy of a bulk licensing scheme.

To those who wish to provide the world with nourishment and revive them from the pits of agony, Open Source shines brightly as a beacon of hope to all who once again are able to look upon the sky and see what light it brings.

But to those who exist to further their skill, bandits come from the corners of the earth to snatch up what they have created and retain all power for themselves; never to use it for any good.



Basiclaly what I'm saying is that it may not be in people's best interest to release source code to the ROM Hacking community, since people will just take it and say "Hey, look what I have! Power!"

Instead, as VL-Tone and I have discussed briefly in the past, documentation of whatever it is software does should be distributed instead of source code. That way, knowledge can be shared and anyone with determination can recreate whatever it is the software is able to do.

As such, more skill is improved, more knowledge is shared, and it's really just a better deal all around.
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-28-06 01:59 PM, in The Open-Source Exception Link
For the purpose of quality control, I stand firm to the idea that we're not here to mooch off of other people's work. We're here to share ideas and techniques, not software. For the record, my statement is debatable and I don't intend to force it on anyone as absolute truth.


Originally posted by MathOnNapkins
How many times have you seen a tool that was adequate, but lacked certain features you wanted? Or perhaps you wanted to know how to decode certain types of graphics or sounds. Without that you have to reinvent the wheel and waste hour upon hour when a competent person could be looking at source learning at least twice as fast how it works.
Perhaps the projects that you've encountered in your experience was somehow structured such that you were able to uncover the intricacies of what the program did just by examining the source code, but I can confidently say through experience that the delicate interoperability of different parts of a program lead you on a digital paper trail that may or may not lead to the desired knowledge in question.

With thorough documentation, however, you get the intellectual rationalle behind whatever the program does. This means the work is already done. Documentation on level editing, for example, means the hacking is already completed. The only thing you'd have to do is implement it in programming and poof: replica.

Originally posted by MathOnNapkins
Or even worse, what if it has some nasty bugs? Who's going to want to hack a binary .exe file to modify it via IDA Pro or whatever? Almost no one. Having to recode a whole new program is reinventing the wheel.
Again, the "wheel" is the documentation, not the source code. Think of it like a car. Do the wheels make you go? No, the car uses wheels and has an engine to make the wheels move. Likewise, it's the knowledge and technique of what is done to a ROM that makes software go, but it still needs an engine to do anything.

If you want some other kind of a vehicle than a car, such as a monster truck or a bicycle, you still end up using wheels to make it. The exact thing that those wheels are used for may vary, but they're still what the vehicles are based off of. And you can't use the source code of a bicycle to build a monster truck.

Originally posted by Dan
It's totally in the best interest of everyone to release source code. I don't even see how you could argue that it isn't.
This is one of those "I'm completely unwilling to agree, so I'll consider anything you say as incorrect" kinds of posts. Consider that there can concievably be some legitimate reason for doing so that you haven't thought of. I would appreciate that in the future, you supply some observable evidence to support your comments.



Releasing documentation and withholding source code means that a person's project will remain unique to them and anyone who so wishes can easily--that's right: easily--create their own project that may or may not have the same features. This ensures that people, in the ROM Hacking community in particular, will be able to further their skills and understanding of what goes on in any given game.

Besides... Take Sappy 2005 into account. Microsoft Visual Basic, runs on Windows XP. Even if the source code was available (if it is, make sure you call me many bad names), it may not be very helpful for the Solaris users out there. Documentation is a fool-proof, cross-platform compatibility artifact. It also remains useful through the ages.
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-28-06 02:10 PM, in The Open-Source Exception Link
Spaffy 2005 is not .NET, which is what Mono exists to support.

Before anyone else posts with the sole intention of trying to make me look bad, make sure you have something with a little substance before posting it.
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-28-06 02:27 PM, in The Open-Source Exception Link
Well, I don't feel that having my programs broken into is much of a concern, but I don't feel that people taking and modifying source code to suit their needs is the best way to handle things.

Don't get me wrong: If there's a piece of software that benefits a large number of people, like the OGG Vorbis and Theora specifications or the OpenOffice.org suite, then releasing the source code is truly beneficial, as there's is a community of people working together to make those programs ever better.

But for the ROM Hacking community, I believe, a level editor here and a graphics editor there don't typically reach "truly beneficial" status. Since we all exist to work with data and find out how it works, using source code is somewhat in contrast to that end.

Releasing total documentation, however, means that no secrets are being kept. It's simply a way to ensure that people will have a better understanding of how the software works, as well as enabling them to make their own software to do the same thing, with their own source code to modify to their love's worth.
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-28-06 06:14 PM, in The Open-Source Exception Link
I entirely agree with you, sp.

The difference is that I don't feel this community exists for the sake of invention, but for that of knowledge and technique. Source code cannot talk, but people can. Therefore, documenting things in human language as opposed to programming language will better help to ensure that people have an understanding of what it is they do and see.
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-28-06 07:37 PM, in The Open-Source Exception Link
Just as data hacked from a ROM is useless unless something is done with it, the same goes for software documentation. So a document is written about ROM data and the person has the source code... While the source code would provide a way to show how implementation of the documentation could be done, it's not going to do much in terms of productivity.

A person who has documentation and source code will look at it and say "Hmm. Okay. Now I know how it works" and walk away. If the program code already exists, then what's the point of reading the documentation in the first place?
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-29-06 12:32 PM, in The Open-Source Exception Link
Originally posted by MathOnNapkins
BGNG, you have so far failed to state an example of anything extremely negative that would result from releasing source.
As far as I know, there is nothing extremely negative that could result from releasing source code, at least not for a ROM hacking project. The point is that I feel it would be more effective towards the end of understanding the game than presenting source code would.

Originally posted by MathOnNapkins
1. A person who has documentation and source code will look at it and say "Hmm. Okay. Now I know how it works" and walk away.

So they leave the scene because of this? They stop programming altogether? I'm confused as to what you meant here. If someone just walks away then they weren't that dedicated anyway so who cares?
Hmmm... This is tempting. If releasing documentation makes people go away, then... wait. Nevermind I said that.

With documentation on how something works along with a working model, people are not very likely at all to go into any depth as far as applying their knowledge is concerned. If you see something of interest in documentation and look to see how it's implemented, that spoils the whole opportunity of looking into it yourself to see what it does.

Originally posted by MathOnNapkins
2. Source code cannot talk, but people can.

That's what IRC/AIM/MSN/etc is for. Source code does talk, btw. It speaks volumes more than documentation.
Show me a chat room with source code as one of the users and I'll believe you.

Originally posted by MathOnNapkins
3. Documentation on level editing, for example, means the hacking is already completed.

For an experienced coder, yes. But for someone who is learning, definitely not so. If you know the machine code for your target console, but suck at Java or C++, etc, implementation can be a bitch. By giving working examples of how to implement certain types of editing you are both education them as romhackers and as programmers, should they take the time to look the code over. I strongly believe that keeping source closed hampers other hackers from learning how to do what they want to do.
If you can't program, then ROM hacking is certainly an area of difficulty. Most of the time, a simple hex editor won't do the trick. You know that as well as I do. If something needs a code snippet to explain how implementation can be done, then one is usually provided. Check out the CRC32 notes in RFC 2083 (The PNG file format) for an example.

Originally posted by MathOnNapkins
Again, the "wheel" is the documentation, not the source code. Think of it like a car...

Okay back up. Forget about similes and metaphors. Take a program like Lunar Magic, or the Snes9x GSD build, or even Temporal Flux. Now tell me with a straight face that it would be easy to build a replica of such a program given sufficient documentation. I'll be waiting.
Show me some comprehensive documentation on Lunar Magic and I'll gladly begin to implement it. Depending on the amount of time it takes (since I do have other projects), I might even replicate the entire program. Snes9x GSD build and Temporal Flux would be doable as well, but I know right now they would take more time than I'm willing to spend (since the only reason I would spend any time is to prove my point, and I don't have a need to recreate them).




Originally posted by Hyper LOL
• Re-inventing the wheel. Program X is a very complicated program that took years to develop, and has a nasty bug/lacks feature Y/doesn't run on operating system Z and is no longer in development/etc. With the source code you can just add or fix things and there you go. Without it you have to code the whole thing over again. FCEUXDSP is a great example. I doubt many people would have been willing to write an entire emulator just to add debugging features, and even if they did, it probably wouldn't be as good as FCEU for quite some time.
For ROM hacking, with documentation, actual programming takes a lot less time than you think. Projects usually take a long time to complete because there is hacking being done along with the programming.

Originally posted by Hyper LOL
• Source > Documentation. Some people just suck at documentation. It also takes longer to write it after you've already written the code. Well-commented code is documentation. Also, you can't possibly document everything. Your own FZX editor is a great example. Since it's a 3D editor I can assume it does things like translate up/down/left/right/forward/backward camera movements into axis movements. I've never managed to get this working and there doesn't seem to be one single piece of documentation on Google (it's all about doing similar things that work totally different). If your program does indeed do this, and I have its source, I can just look at how you did it to get an idea of how it works. On the other hand, if you just release documentation, I think it's a safe bet that if I'd never said this, the documentation wouldn't contain any such information, because it's not information about FZX.
If people suck at documentation, then their documentation is not good. Good documentation is better than source code, as I don't know about you, but I would rather look at a file format specification than look at some source code that implements it. File formats, unless they are copied as comments, are never documented in source code.

Relative transformations for camera movement in 3D space is a rudimentary programming principle, so I'm certainly not going to document that for F-Zero X. According to you, I should explain my theory for file I/O as well as setting up an OpenGL rendering context. If you would like, however, I will write an article explaining how to do trigonometric relative transformations in 3D.

Originally posted by Hyper LOL
• Learning. People see your code and point out ways you can fix/improve things. You learn from what other people tell you about your code. Heck, maybe some random person points out how to fix that annoying bug all your programs have that you could never figure out. Just look at Linux, most bugs in it are found by hundreds if not thousands of people testing it, finding a problem, and looking at the code to see what causes it. Now imagine trying to debug a closed-source Linux by yourself, without this input. Not something I'd want to do.
Linux benefits a very large number of people, which is why it's open to community involvement. A level editor would not be a community project (all-Acmlm stuff has never worked before), so releasing source code would only benefit a few individuals.

I will gladly take bug reports for any software that I release. I will not take suggestions for new features, however.

Originally posted by Hyper LOL
• Portability. You can easily port code written in most any language if you have its source. You've used Sappy as an example of how this isn't true, but I disagree. Writing a C++ clone using only documentation of the music format would almost have to be a lot harder than basing it on the original VB6 code. In fact a few regular expressions can turn large amounts of VB6 code into working C++ code. Again, quality of documentation is another issue. A single typo may go unnoticed until you get to implementing that part and can't figure out why it refuses to work. A typo in the source code should be found pretty quick.
You can easily implement ROM hacking techniques if you have its documentation. While it may take more time, it ensures the porter has an understanding of what's going on. Otherwise, we might as well write cross-platform program translators to put stuff in other languages for us and eliminate humans altogether.

Originally posted by Hyper LOL
• Helping others. You've just written a large piece of code, and it was a huge pain. Wouldn't it be nice if other people could just use that code instead of having to go through the same experience?
Unless there's some wicked possibility that I've never heard of, I'm under the impression that with well thought-out courses of action and careful planning, you'll never encounter a programming issue that is "a huge pain."

Originally posted by Hyper LOL
If you're concerned that people will steal your work and just claim it as their own, there's 3 things you can do.
I'm not worried about it.
Guy Perfect









Since: 11-18-05

Last post: 6302 days
Last view: 6301 days
Posted on 01-30-06 01:50 PM, in ''Free'' - Sound Better than ''V''? Link
To be frank, Microsoft has gone to great lengths to do a major disservice to the BASIC programming languge.

Back when QBASIC could first compile an executable, it merely made an Assembly pseudo-equivalent to everything that was in the source code; with no optimizations whatsoever. This started its downward trend of being a legacy "slow an inefficient" language.

Visual Basic allowed simple window creation and integration with newer operating systems, but retained some of its inability to compile optimized code, as it forever required that vbx00bb.dll to be present. (x is version and bb is processor bits (16 or 32))

VB5 and VB6 both included compiler options to better optimize code, and it compiled to standalone executables that were honestly much faster and smaller than its brethren. Sound like a perfect solution? No, system runtimes were required. They came built-in with everything newer than Windows 98 SE (not including it), but they still weren't quite native.

Visual Basic never supported standard I/O. You had to jump through major hoops if you wanted to make a console or CGI application.

Then came the attrocity of .NET, where Microsoft forced its support of the BASIC language to remain solely on the .NET platform and no native system support was possible for the language. Also forcing the language forever into the realm of OOP, Microsoft ensured that any use of the language would be, and would forever be, Microsoft-only, and .NET-only.



Thank the stars Microsoft doesn't "own" the BASIC programming language. Andre Victor decided to take it upon himself to create a free and more efficient alternative to QBASIC, and I'm glad he did.

FreeBASIC, which started out as some QB equivalent, turned into a cross-platform 32-bit BASIC compiler that provides new capabilities and direct compatibility with the popular favorite C++. .lib files can be directly linked with FreeBASIC and code written in C or C++ can be compiled into a FreeBASIC executable, which runs natively on DOS, Win32 or Linux (x86)... and even, from what I understand, XBOX.

Windowed applications are handled the same way they are in C: API calls. OpenGL, network, sound, printer... All of this is not directly supported by the language, as it's system peripherals and will vary per OS.

With even default compiler options, FreeBASIC makes very optimized programs. By default, picky BASIC checks are not activated, such as array bounds or overflow. Exceptions are not handled internally, so there isn't much overhead to "make sure the program doesn't do bad things"

Other new features that C has had all along that BASIC never had include pointers, unsigned data types and inline-assembly.



What began as an alternative to QBASIC ended up becoming a suitable alternative to C. I've had a bit of experience with FreeBASIC in practice and I must say that I am very impressed with it. This will finally allow me to move off of VB and into something that works on Linux (not to mention works BETTER).

For the record, I'm also very familiar with C and C++. I prefer to stick with BASIC, however, because I like non-conformity. If I can prove BASIC isn't inherantly bad, then my goal will have been reached. FreeBASIC will help me do just that.

So my question to you... When you hear "FreeBASIC," are you still struck with the same feeling of shock and disgust that you are whe you hear "Visual Basic"?

FreeBASIC home page
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Acmlm's Board - I3 Archive - - Posts by Guy Perfect


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.015 seconds; used 468.84 kB (max 605.56 kB)