Video game developmentVideo game development (or gamedev) is the process of developing a video game. The effort is undertaken by a developer, ranging from a single person to an international team dispersed across the globe. Development of traditional commercial PC and console games is normally funded by a publisher and can take several years to reach completion. Indie games usually take less time and money and can be produced by individuals and smaller developers.
Video game developerA video game developer is a software developer specializing in video game development – the process and related disciplines of creating video games. A game developer can range from one person who undertakes all tasks to a large business with employee responsibilities split between individual disciplines, such as programmers, designers, artists, etc. Most game development companies have video game publisher financial and usually marketing support. Self-funded developers are known as independent or indie developers and usually make indie games.
Game development kitGame development kits (GDK) are specialized hardware and software used to create commercial video games for game consoles. They may be partnered with game development tools, special game engine licenses, and other middleware to aid video game development. GDKs are typically not available to the public, and require game developers to enter an agreement, partnership, or program with the hardware manufacturer to gain access to the hardware. As console generations pass, development kits often get sold through websites like eBay without repercussions.
Game development toolA game development tool is a specialized software application that assists or facilitates the making of a video game. Some tasks handled by tools include the conversion of assets (such as 3D models, textures, etc.) into formats required by the game, level editing and script compilation. Almost all game development tools are developed by the developer custom for one game, or by a console manufacturer (such as Nintendo or Microsoft) as part of a game development kit.
Computer programmingComputer programming is the process of performing particular computations (or more generally, accomplishing specific computing results), usually by designing and building executable computer programs. Programming involves tasks such as analysis, generating algorithms, profiling algorithms' accuracy and resource consumption, and the implementation of algorithms (usually in a particular programming language, commonly referred to as coding).
Functional programmingIn computer science, functional programming is a programming paradigm where programs are constructed by applying and composing functions. It is a declarative programming paradigm in which function definitions are trees of expressions that map values to other values, rather than a sequence of imperative statements which update the running state of the program. In functional programming, functions are treated as first-class citizens, meaning that they can be bound to names (including local identifiers), passed as arguments, and returned from other functions, just as any other data type can.
Declarative programmingIn computer science, declarative programming is a programming paradigm—a style of building the structure and elements of computer programs—that expresses the logic of a computation without describing its control flow. Many languages that apply this style attempt to minimize or eliminate side effects by describing what the program must accomplish in terms of the problem domain, rather than describing how to accomplish it as a sequence of the programming language primitives (the how being left up to the language's implementation).
Programming languageA programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming language is usually split into the two components of syntax (form) and semantics (meaning), which are usually defined by a formal language. Some languages are defined by a specification document (for example, the C programming language is specified by an ISO Standard) while other languages (such as Perl) have a dominant implementation that is treated as a reference.
Game engineA 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 similar to the term "software engine" used in the software industry. The game engine can also refer to the development software utilizing this framework, typically offering a suite of tools and features for developing games. Developers can use game engines to construct games for video game consoles and other types of computers.
Indie gameAn indie game, short for independent video game, is a video game typically created by individuals or smaller development teams without the financial and technical support of a large game publisher, in contrast to most "AAA" (triple-A) games. Because of their independence and freedom to develop, indie games often focus on innovation, experimental gameplay, and taking risks not usually afforded in AAA games. Indie games tend to be sold through digital distribution channels rather than at retail due to lack of publisher support.
Procedural programmingProcedural programming is a programming paradigm, derived from imperative programming, based on the concept of the procedure call. Procedures (a type of routine or subroutine) simply contain a series of computational steps to be carried out. Any given procedure might be called at any point during a program's execution, including by other procedures or itself. The first major procedural programming languages appeared circa 1957–1964, including Fortran, ALGOL, COBOL, PL/I and BASIC. Pascal and C were published circa 1970–1972.
Logic programmingLogic programming is a programming paradigm which is largely based on formal logic. Any program written in a logic programming language is a set of sentences in logical form, expressing facts and rules about some problem domain. Major logic programming language families include Prolog, answer set programming (ASP) and Datalog. In all of these languages, rules are written in the form of clauses: H :- B1, ..., Bn. and are read declaratively as logical implications: H if B1 and ... and Bn. H is called the head of the rule and B1, .
Operators in C and C++This is a list of operators in the C and C++ programming languages. All the operators (except typeof) listed exist in C++; the column "Included in C", states whether an operator is also present in C. Note that C does not support operator overloading. When not overloaded, for the operators &&, ||, and , (the comma operator), there is a sequence point after the evaluation of the first operand. C++ also contains the type conversion operators const_cast, static_cast, dynamic_cast, and reinterpret_cast.
Constraint programmingConstraint programming (CP) is a paradigm for solving combinatorial problems that draws on a wide range of techniques from artificial intelligence, computer science, and operations research. In constraint programming, users declaratively state the constraints on the feasible solutions for a set of decision variables. Constraints differ from the common primitives of imperative programming languages in that they do not specify a step or sequence of steps to execute, but rather the properties of a solution to be found.
HoneyHoney is a sweet and viscous substance made by several bees, the best-known of which are honey bees. Honey is made and stored to nourish bee colonies. Bees produce honey by gathering and then refining the sugary secretions of plants (primarily floral nectar) or the secretions of other insects, like the honeydew of aphids. This refinement takes place both within individual bees, through regurgitation and enzymatic activity, and during storage in the hive, through water evaporation that concentrates the honey's sugars until it is thick and viscous.
Middle classThe middle class refers to a class of people in the middle of a social hierarchy, often defined by occupation, income, education, or social status. The term has historically been associated with modernity, capitalism and political debate. Common definitions for the middle class range from the middle fifth of individuals on a nation's income ladder, to everyone but the poorest and wealthiest 20%. Theories like "Paradox of Interest" use decile groups and wealth distribution data to determine the size and wealth share of the middle class.
Social classA social class or social stratum is a grouping of people into a set of hierarchical social categories, the most common being the upper, middle and lower classes. Membership in a social class can for example be dependent on education, wealth, occupation, income, and belonging to a particular subculture or social network. "Class" is a subject of analysis for sociologists, political scientists, anthropologists and social historians. The term has a wide range of sometimes conflicting meanings, and there is no broad consensus on a definition of "class".
Upper classUpper class in modern societies is the social class composed of people who hold the highest social status, usually are the wealthiest members of class society, and wield the greatest political power. According to this view, the upper class is generally distinguished by immense wealth which is passed on from generation to generation. Prior to the 20th century, the emphasis was on aristocracy, which emphasized generations of inherited noble status, not just recent wealth.
DataIn common usage and statistics, data (USˈdætə; UKˈdeɪtə) is a collection of discrete or continuous values that convey information, describing the quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpreted formally. A datum is an individual value in a collection of data. Data is usually organized into structures such as tables that provide additional context and meaning, and which may themselves be used as data in larger structures.
Upper middle classIn sociology, the upper middle class is the social group constituted by higher status members of the middle class. This is in contrast to the term lower middle class, which is used for the group at the opposite end of the middle-class stratum, and to the broader term middle class. There is considerable debate as to how the upper middle class might be defined. According to sociologist Max Weber, the upper middle class consists of well-educated professionals with postgraduate degrees and comfortable incomes.