Questions; adding elements to already existing games

Started by
11 comments, last by Shpongle 9 years, 1 month ago

Greetings fellow Gamers,

I have several questions regarding the creation/implementation in regards to adding a subsystem to an already existing "published" game. I am not sure if this is the right forum to post this topic, so I will gladly repost elsewhere if it is not.

1) I am not trying to create a game, I am just trying to add a series of menus and, and selectable options to an already existing game, like "Call of Duty" as an example. These series of menus and submenus, would have to allow to the player to input information and this information would have to be relayed to an entity outside of the gaming network i.e. microsoft, sony, etc... My question is; what would be a good, reasonable way to approach the creation of something like this?

2) Based on the above information, what kind of technical programming options do I have to create a system like this?

3) Does anyone know where I can find good, solid, game creation information in regards to creating a patent application? I need to make flowcharts, models, and eventually a demo version of the information in question #1.

Any information or advice is extremely helpful. I've read through much of the forum posts here at gamedev.net and YOU guys are the experts out there. Thanks in advance.

-reddevil

Advertisement

I have several questions regarding the creation/implementation in regards to adding a subsystem to an already existing "published" game. I am not sure if this is the right forum to post this topic, so I will gladly repost elsewhere if it is not.

1) I am not trying to create a game, I am just trying to add a series of menus and, and selectable options to an already existing game, like "Call of Duty" as an example. These series of menus and submenus, would have to allow to the player to input information and this information would have to be relayed to an entity outside of the gaming network i.e. microsoft, sony, etc... My question is; what would be a good, reasonable way to approach the creation of something like this?


Mostly, if the game doesn't intentionally have modding support, that is difficult to do.
Typically how it's done (for something like the Steam Overlay or Ventrillo's in-game overlay), is by tricking the program by swapping the DirectX DLLs they use for rendering with a dummy DLL that than forwards most of the draw calls to the real DLL, but when the program sends to the (fake) DLL the command to "display the screen", the dummy DLL quickly draws the menu before actually displaying the screen. You'd grab input in similar ways.

Note: Some games might freakout and auto-ban accounts that do that, since that's one common way that aimbots work.

2) Based on the above information, what kind of technical programming options do I have to create a system like this?

Very few, at least on Windows machines.

3) Does anyone know where I can find good, solid, game creation information in regards to creating a patent application? I need to make flowcharts, models, and eventually a demo version of the information in question #1.

Are you trying to patent the 'idea' of adding extra information to a game? You're too late, other people have already created programs like that (Steam Overlay and Ventrillo are just two examples). That's called 'prior art' which makes any later patents pretty much invalid.
Are you patenting the idea of sending information to a servers other than the game servers? That's already been done also, and that's not an invention, just a use of an existing idea (sending information to any server - which is what the entire internet is).

Are you trying to patent a creative idea you have for how to use those? That's not patentable.

You're saying, you have an idea. Great! Patents don't cover ideas, they cover solutions to specific technical problems, and must be a procedure or process that's non-obvious to professionals.
Also, you're saying, "What is the solution to the technical problem to make my idea work?". Well, if I tell you (which I did, above), that means that other people have already invented the solutions to the technical problems, and thus it's no longer patentable.

Patents are for inventions, not creative ideas.

However, I'm not a lawyer. If you ask a lawyer, they'd probably be able to send in a patent form for you anyway (despite it being not patent-worthy), and the USPTO has been sloppy enough to grant thousands of invalid patents, so you'd likely get that patent. However, if you tried to sue someone over that patent, all they have to prove is that you didn't invent the technological process, and then your patent would be declared invalid, and you'd be liable to pay not only your own legal fees, but also the legal fees of the person you tried to sue.

Copyrights = For specific implementations of creative ideas (i.e. the Halo videogame series (but the idea "space marine on ring planet fighting aliens" isn't copyrightable), or the Harry Potter book series (but the idea "wizard boy in school" isn't copyrightable)

Trademarks = For specific brands so consumers can recognize corporations ("Nintendo", "Disney", "Walmart", and their logos)

Patents = For specific procedures for overcoming a specific problem. (Lightbulbs (but not the idea of light), specific car engine designs (but not the idea of moving a vehicle and not the idea of an engine in general))

Ideas themselves aren't owned by any individual. How someone uses that idea, that's ownable.

If you want to create a company providing a service to gamers, like Raptr, you can't just use legal tricks to crush competitors, you have to compete by making a better service and winning gamers over. Whoever makes the better product or service wins the customers. This encourages competition which results in lower prices and better products.

You can't patent the idea of creating a service for gamers, or the idea of displaying stuff over a game screen (only a specific technical implementation that's a genuine invention and non-obvious to technical people). You have to compete with a better product. But you can trademark your company name so people can't counterfeit you.

But, again, I'm not a lawyer, so if you go talk to one, you'd get more accurate advice.

Servant - Thank you for the fantastic response.

I am trying to create, or manage the creation of, a subsystem designed to interface with gamer's via a published video game. I understand the 'rights' to legally modify anything that has a copyright lies in the hands of the game developer and/or publishing entity. The subsystem I am trying to develop would indeed rely on an already published game, and outside entities, like a financial institution for example.

So for an extremely generalized idea of what I am trying to accomplish can be seen in the attached example. We will call my project "Subsystem A". I copied an Excel sheet to Paint to illustrate.[attachment=26292:Subsystem A example.png]

[attachment=26293:Subsystem A example.png]My apologies, this is a larger version. What kind of options are out there to create something like this?

I'm not fully understanding what you are aiming for. Try to avoid fancy terminology ("manage the creation of" "subsystem" "designed to interface"), because it's hiding what you actually are wanting to say. I know what the words mean, but they are hiding actual communication behind unnecessary technical jargon. Your graph is equally unhelpful. All you've said is, "I want to do a thing with the thing and it involves games that have already been published". What thing do you want to do? There are different ways to do different things depending on what thing you actually are trying to achieve.

Do you want a main menu that users can launch different, already-created, programs from? A launch menu?

Or do you want to modify an existing menu that already exists in a game? And when a user clicks on the menu items, what happens? Does it modify something within the game, or does it run something unrelated to the game?

Are you trying to read the player's health or gold? Are you trying to change the appearance of the game while it is running?

What are you trying to read from the game, and what are you trying to add to the game? How will it affect the game's appearance and behavior when the player is playing the game?

You don't have to mention your business plan, or what you are going to be using it for, but I do need to know what you are trying to read or modify or do, because it changes the answer to your question dramatically.

With the now revised questions:

1) What code pieces do I need for a series of menus.

The structures you need for the menus are a tree and potentially a stack. A tree holds the connections for navigation. A stack allows you to go "back", and is necessary if some of the nodes can be accessed from more than one path.

2) How do I modify an executable.

That's beyond the scope of forum posts.

3) How can I get a patent on the obvious?

Get a lawyer. Pay roughly $10,000 after both USPTO fees and attorney fees. This assumes the patent is valid, non-obvious, they cannot find prior art, &c.


2) How do I modify an executable.

At its simplest level, there are many ways to do this. You would want to do this in memory, using OpenProcess(), ReadProcessMemory() and WriteProcessMemory() win32 API calls as an administrator and patch the running games symbol table and code sections. You would have to redo your patch every time the developers of the game pushed out new versions and fixes, potentially ones written specifically to make YOUR life hard (see below).

You would need in depth knowledge of assembly language and using a machine code level debugger such as softice.

You should be prepared, and have the financial backing to fight off and defend litigation from the game studio who will no doubt be pissed that you're "hacking" their game against eula and the users of your mod could and may be banned from the official gaming network of wherever that game runs unless you have prior agreement to write this app which will likely not be granted to you.

Unless you've properly planned for and considered these possibilities before writing a single line of code my own recommendation is to not bother...

Good luck though!

Thanks again for the responses.

With all questions of legality aside and focusing solely on the technical requirements to create something like;

  • A "system" or whatever term you wish to call it, a program perhaps, that could be implemented into an already existing game.
  • The "system" will be an optional selection, that the end-user can select to navigate through various other "system" menus. This would be a selectable option from a Main Menu screen for example.
  • The "system" would have to be able to retrieve stored personal data, such as a person's Xbox Live personal information to include credit card/banking information, or access a data base such as Windows live ID or Sony's user databases.
  • The "system" will display pertinent information on various parts of the screen when the end-user has accessed "the system" such as account totals, which is data retrieved from the last bullet.
  • The "system" will use already existing matchmaking systems / servers to pair players. The matchmaking systems / servers criteria will be able to filter end-users who selected the "system" vs. end-users who did not.
  • The "system" will record wins/losses in any game, store the data, and based on specified variables, access players credit card / banking information and make pre-selected changes.
  • The "system" will have be able to transmit several sets of financial data to various places, for example; GAME ----> PLAYER/s ACCOUNT/s -----> XBOX LIVE--->FINANCIAL INSTITUTION

Among many, many other things, these are the types of requirements this system I am trying to create should have. Where would you guys go to create something like this?

n.page86, I recommend that you stop and seriously consider the advice that has been given in this thread. You keep stating 'legality issues aside,' but I don't think you understand the world of hurt you are veering towards. Aside from the fact that you are violating IP's that DO NOT belong to you, you are also putting your "users" at harm as most games have fail-safes; ending in people getting banned. On top of all of this, you have the whole mess that comes with having to handle people's financial and personal information.

I don't know what you have planned, as you still have not provided ample information, but my advice to you is to take everyone else advice. My two sense stated, I will answer your question. The technique you are looking for is called "DLL injection."

Good luck.

~ Byte.

"The code you write when you learn a new language is shit.
You either already know that and you are wise, or you don’t realize it for many years and you are an idiot. Either way, your learning code is objectively shit." - L. Spiro

"This is called programming. The art of typing shit into an editor/IDE is not programming, it's basically data entry. The part that makes a programmer a programmer is their problem solving skills." - Serapth

"The 'friend' relationship in c++ is the tightest coupling you can give two objects. Friends can reach out and touch your privates." - frob

Where would you guys go to create something like this?

Prison?

void hurrrrrrrr() {__asm sub [ebp+4],5;}

There are ten kinds of people in this world: those who understand binary and those who don't.

This topic is closed to new replies.

Advertisement