top of page

Programming Languages: 

​

As stated previously in the "Tips" page, there are various programming languages that you can try out and master. It is recommended that you try "C++", But don't let it stop you from using the other languages. The languages will be listen and explained down below.

Actionscript - An object-oriented programming language originally made by macromedia Inc. It would later be acquired by Adobe Systems. It is a derivation of HyperTalk, the scripting language for HyperCard. It's primarily used for the development of websites and software targeting the Adobe Flash Player platform used on web pages in the form of embedded SWF Files. The designer was Gary Grossman and the developer was Macromedia, that would later become Adobe Systems.

​

Assembly - Often abbreviated as "ASM", is any low-level programming language in which is also a very strong correspondance between the statments of the program and the architecture's machine code instructions. Each assembly language is specific to a particular computer's architecture and operating system. 

​

C - A general-purpose imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations, Design-wise, C offers constructs that map efficently to typical machine instructions, with this, it has found lasting use in apps that had been formerly coded using the assembly language, along with operating systems, as well as various application software for computers ranging from supercomputers to embedded systems. It's first debut was in 1972 and was designed by Dennis Ritche.

​

Java - A concurrent, class-based, object-oriented computer programming language that is specifically designed to have as few implementation dependencies as possible. It is intended to let any application developers "Write once, run anywhere" meaning that compiled Java code can run on any platforms that support Java without the need for recompliation. it first appeared in 1995 and was designed by James Gosling and developed from Sun Microsystems.

​

Objective-C - A programming language that adds Smalltalk-style messaging to the C programming language. This was the main programming language utilized by Apple for the macOS and iOS operating systems, and their respective app programminng interfaces {APIs} Cocoa and Cocoa Touch prior to the introduction of Swift. It first appeared in 1984.

​

Python - An interpreted, high-level programming language created by Guido Van Rossum and first released in 1990, Python has a design philosophy that emphasizes code readability, notably using significant whitespace. It also provides constructs that can enable clear programming on both small and large scales. Van Rossum had led the language community until stepping down as leader in July 2018. it was developed by the Python software foundation.

​

Swift - Swift is a multi-paradigm, compiled programming language developed by Apple Inc. for iOS, macOS, watchOS, tvOS, Linux and z/OS. Swift is designed to work together with Apple's Cocoa and Cocoa Touch Frameworks and the large body of existing Objective-C code written for Apple products. It is made with the open source LLVM compiler framework and has been included in Xcode since version 6 released in 2014. On Apple platforms, it uses the Objective-C runtime library which allows C, Objective-C, C++ and Swift code to run within one program.

ActionScript_icon.png
560px-Java_programming_language_logo.svg
The_C_Programming_Language_logo.svg.png
Python_logo_and_wordmark.svg.png
800px-Swift_logo_with_text.svg.png

Info regarding the Game development process:

Game Art Design - A subset of game development. It is the process of creating the artistic aspects for video games. The art assets for a video game begins in the Pre-Production phase of a video game. The video game artists are visual artists who do rough sketches of the characters, setting, objects, etc. These starting designs can also be created by the game designers before the game is moved into actualization. After the rough sketches are finished and the game is ready to advance, those artists or more are brought in to bring the sketches to life via graphic design.

 

Audio Production Audio for a video game are separated into three categories, sound effects, music, and voice-over. Sound effect production is the production of sounds by either tweaking a sample to a desired effect or copying it with real objects. Sound effects are important and can impact the game's delivery. 

​

Music may be either synthesized or performed live. There are several ways in which music is presented in a game.

​

  • Music can be ambient, especially for slow periods of a game, where the music aims to reinforce the aesthetic mood and game setting.

​

  • Music can also be triggered by in-game events. For instance, in games such as Pac-Man or Mario, player picking up power-ups triggers respective musical scores.

​

  • Action Music, such as chase, battle, or hunting sequences is fast-paced, hard-changing musical scores.

​

  • Menu music, similar to credits, creates an aural impact while relatively little action is taking place.

​

  • A game title with 20 hours of single-player game play may feature around 60 minutes of music.

​

Voice-overs and voice acting creates character game play interactivity. Voice acting adds personality to the game's characters.

​

Testing At the end of every project, the Quality Assurance staff plays a significant role. Testers will begin working once anything is playable. This could range from one level or subset of the game's software that can be used to any reasonable extent. Early on, testing a game takes a relatively small amount of time. Testers can work on several games at once. As development comes to an end, a single game usually involves many testers full-time and often overtime. They strive to try out new features and regression test any existing ones. Testing is necessary for more modern and complex for that any single changes could lead to catastrophic consequences. 

​

At this point, features and levels are being finalized at the highest rate and there is more new material to be tested than during any else happening in the project. Testers must carry out regression testing to ensure the features that have been in the game for months still function properly. Regression testing is one of the solemn tasks required for effective software development. As new features are being implemented, any subtle changes to the code base can present unexpected changes in different portions of the game. This task is often overlooked, for several reasons. Sometimes, when a feature is added and tested, it's considered "working" for the rest of the project and little attention is given to repeated testing. Furthermore, features that are added late in development are prioritized and existing features tent to get insufficient testing time. Proper regression testing is also increasingly expensive as the number of features heightens and is often not scheduled correctly.

​

Despite the dangers of overlooking this, some game developers and publishers fail to test the full feature suite of the game and ship a game with bugs. This results in customer dissatisfaction an failure to meet sales goals. When this does occur, most developers and publishers quickly release patches that correct the bugs and make the game fully playable again.

​

Milestones Commercial game development projects may be needed to meet milestones set by the publisher. Milestones tend to mark major events during game development and used to track game's progress. Milestones mark major events in game development and are used to track the game's progress. Such milestones, for example, First playable, alpha, or beta game versions. Milestone projects depend on the developer schedules.

​

Milestones are usually based on multiple short descriptions for functionality, examples may be "Player roaming around in game environment" or "Physics working, collisions, vehicle"etc, Numerous descriptions are possible. These milestones are often how the developer gets their money. These milestones can be listed anywhere from three to twenty depending on developer and publisher. The milestone list is usually a collaborative agreement between the publisher and developer.  The developer advocates for making the milestone descriptions as basic as possible. Depending on the specific publisher. The agreements for milestones may get very detailed for a specific game. When working with a good publisher, the "spirit of the law" is adhered regarding the milestone completion. Simply put, if the milestone completion is 90% complete the milestone is usually compensated with the understanding that it will be 100% complete by the next due milestone. Its a collaborative agreement between publisher and developer. Typically, but not always, the developer is constrained by heavy monthly development expenses that must be met. Sometimes, milestones are "swapped", the developer or publisher may even mutually agree to amend the agreement and rearrange the goals of the milestone depending on changing requirements and development resources available. Milestone agreements are included as part of the legal development contracts. After each "milestone", there is an arrangement for compensation. Some highly established developers may simply have a milestone agreement based on the amount of time the game is in development (monthly/Quarterly) and not specified game functionality. This isn't as common as the detailed functionality "milestone lists".

​

This is no industry standard for defining milestones, and such may vary depending on the publisher, year, or project. Some common milestones for two-year development cycle are as follows:

​

​

First Playable The first playable is the game version consisting of representative game play and assets, this is the first version with functional major game play elements. It's often based on the prototype created during Pre-Production. Alpha and first playable are sometimes used to refer to a singular milestone, however large projects require first playable before the feature complete alpha. First playable occurs 12 to 18 months prior to code release. It's referred to as the "Pre-Alpha" Stage. 

​

Alpha Alpha is the stage when the key game play functionality is implemented, and assets are partially finished. A game in the alpha stage is feature complete, that is, game is playable and contains all the major features. These features may be further revised and improved on based on the testing and feedback. Additional small, new features may be implemented, similarly planned, but ideas that aren't added may be scrapped. Programmers mainly focus on finishing the game's code base, rather than making any additional features. This stages happens eight to ten months before code release, but this varies significantly based on the scope of content and assets any given name has.

​

Code Freeze Code Freeze is the stage when new code is no longer being added to the game and only bugs are being corrected. Code freeze happens three to four months before code release.

​

Beta Beta is the feature and asset completed version of the game, when only bugs are being corrected. This version no longer contains bugs that prevents the game from being shippable. No changes are made to the game features, assets, or code. Beta occurs two to three months prior to code release.

​

Code Release Code release is the stage when many bugs are being fixed and game is ready to be shipped or submitted for console manufacturer review. This version tested by the Quality Assurance Staff plan. First code release candidate is usually ready in three to four weeks before code release.

2019 Game Development Process, made by Jalal Muhammad. Proudly created with Wix.

bottom of page