Steve Rabin

Last updated

Steve Rabin is an American software engineer, college instructor, and editor/author who specializes in the field of video game artificial intelligence. [1] He is best known as the chief editor of the AI Game Programming Wisdom series of books and as an author in the Game Programming Gems series of books. Rabin is currently a principal software engineer at Nintendo of America and an instructor at both the DigiPen Institute of Technology and the University of Washington Extension. [2]

Contents

AI Game Programming Wisdom series

Rabin has had a significant impact on the field of game AI by driving the AI Game Programming Wisdom series. With 246 articles from industry experts contained in the four volumes, this source of information on techniques and algorithms from commercial games has dwarfed other sources of game AI information, such as the Game Developers Conference which typically features fewer than half a dozen game AI presentations each year. [3] As such, this has allowed implementation details about a great deal of groundbreaking AI to be widely known, such as empathy learning in Black & White by Richard Evans, planning in F.E.A.R. by Jeff Orkin, and agent reputation systems in Fable by Adam Russell. [4] By leading the effort to publish commercial game AI techniques, Rabin has become a top figure in the field of game AI.

Game credits

HyperBlade (1996), AI programmer

Microsoft Baseball 3D 1998 Edition (1998), AI programmer

Dungeon Siege (2002), AI programmer [5]

Related Research Articles

In software development, obfuscation is the act of creating source or machine code that is difficult for humans or computers to understand. Like obfuscation in natural language, it may use needlessly roundabout expressions to compose statements. Programmers may deliberately obfuscate code to conceal its purpose or its logic or implicit values embedded in it, primarily, in order to prevent tampering, deter reverse engineering, or even to create a puzzle or recreational challenge for someone reading the source code. This can be done manually or by using an automated tool, the latter being the preferred technique in industry.

<span class="mw-page-title-main">Programmer</span> Person who writes computer software

A programmer, computer programmer or coder is an author of computer source code – someone with skill in computer programming.

Software engineering is an engineering-based approach to software development. A software engineer is a person who applies the engineering design process to design, develop, test, maintain, and evaluate computer software. The term programmer is sometimes used as a synonym, but may emphasize software implementation over design and can also lack connotations of engineering education or skills.

<span class="mw-page-title-main">Gerald Jay Sussman</span> American computer scientist

Gerald Jay Sussman is the Panasonic Professor of Electrical Engineering at the Massachusetts Institute of Technology (MIT). He has been involved in artificial intelligence (AI) research at MIT since 1964. His research has centered on understanding the problem-solving strategies used by scientists and engineers, with the goals of automating parts of the process and formalizing it to provide more effective methods of science and engineering education. Sussman has also worked in computer languages, in computer architecture, and in Very Large Scale Integration (VLSI) design.

A game engine is a software framework primarily designed for the development of video games and generally includes relevant libraries and support programs such as a level editor. The "engine" terminology is akin to the term "software engine" used more widely in the software industry.

Developer may refer to:

A game programmer is a software engineer, programmer, or computer scientist who primarily develops codebases for video games or related software, such as game development tools. Game programming has many specialized disciplines, all of which fall under the umbrella term of "game programmer". A game programmer should not be confused with a game designer, who works on game design.

<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language, also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations. VPLs are generally the basis of Low-code development platforms.

Video game development is the process of creating a video game. It is a multidisciplinary practice, involving programming, design, art, audio, user interface, and writing. Each of those may be made up of more specialized skills; art includes 3D modeling of objects, character modeling, animation, visual effects, and so on. Development is supported by project management, production, and quality assurance. Teams can be many hundreds of people, a small group, or even a single person.

Game programming, a subset of game development, is the software development of video games. Game programming requires substantial skill in software engineering and computer programming in a given language, as well as specialization in one or more of the following areas: simulation, computer graphics, artificial intelligence, physics, audio programming, and input. For multiplayer games, knowledge of network programming is required. In some genres, e.g. fighting games, advanced network programming is often demanded, as the netcode and its properties are considered by players and critics to be some of the most important metrics of the game's quality. For massively multiplayer online games (MMOGs), even further knowledge of database programming and advanced networking programming are required. Though often engaged in by professional game programmers, there is a thriving scene of independent developers who lack a relationship with a publishing company.

In video games, artificial intelligence (AI) is used to generate responsive, adaptive or intelligent behaviors primarily in non-playable characters (NPCs) similar to human-like intelligence. Artificial intelligence has been an integral part of video games since their inception in the 1950s. AI in video games is a distinct subfield and differs from academic AI. It serves to improve the game-player experience rather than machine learning or decision making. During the golden age of arcade video games the idea of AI opponents was largely popularized in the form of graduated difficulty levels, distinct movement patterns, and in-game events dependent on the player's input. Modern games often implement existing techniques such as pathfinding and decision trees to guide the actions of NPCs. AI is often used in mechanisms which are not immediately visible to the user, such as data mining and procedural-content generation.

Game testing, also called quality assurance (QA) testing within the video game industry, is a software testing process for quality control of video games. The primary function of game testing is the discovery and documentation of software defects. Interactive entertainment software testing is a highly technical field requiring computing expertise, analytic competence, critical evaluation skills, and endurance. In recent years the field of game testing has come under fire for being extremely strenuous and unrewarding, both financially and emotionally.

Christian video games are a video game genre and a form of Christian media that focus on the narrative and themes of Christian morals and Christianity. The term can also refer to Christian symbolism, mythology, media franchises, and Christian media organizations within video game culture and industry.

<span class="mw-page-title-main">Chris Hecker</span>

Christopher Bryan Hecker is an American video game programmer and commentator. He is the founder of the gaming company Definition Six and best known for his engineering work on Will Wright's 2008 game Spore. Hecker is an advocate for indie game development and co-founder of the Indie Game Jam. He has written a number of influential articles on programming and has been an editor for Game Developer Magazine and the Journal of Graphics Tools.

Panda3D is a game engine that includes graphics, audio, I/O, collision detection, and other abilities relevant to the creation of 3D games. Panda3D is free, open-source software under the revised BSD license.

<span class="mw-page-title-main">Corrinne Yu</span> American game programmer

Corrinne Yu is an American game programmer. She has worked on games including King's Quest, Quake II, and Halo 4. Her engine work included Unreal Engine 3, Microsoft's Direct3D Advisory Board, and CUDA and GPU simulation at Nvidia. She has also designed accelerator experiments for nuclear physics research.

Wolfgang Engel is a videogame designer. He is the founder and CEO of Confetti. Previously he also worked as the Lead Graphics Programmer for Rockstar Games. He is also the founder and editor of ShaderX and GPU books series.

Angie Jones is a software engineer and automation architect who specializes in software testing and development. Jones has contributed to several open-source testing tools and libraries, including Selenium and Appium.

References

  1. IntroGameDev.com
  2. University of Washington Extension
  3. "Game Developers Conference". Game Developers Conference. Retrieved 2020-04-03.
  4. AI articles
  5. "Steven Rabin Video Game Credits and Biography". MobyGames. Retrieved 2020-04-03.