Category: Engines

  • 01/11/2016 – Weapons, Health and Lives cont.

    In this session I continued to look at Weapons, Health and Lives, which I have discussed in a previous blog post.

  • 18/10/2016 – Weapons, Health and Lives

    Today I covered weapons health, and lives.

     

    Weapons:

    Weapons could be fired using two different methods: Fire in the direction the object is facing, or a weapon that fires in the direction where you have clicked/tapped.

    For both options, a few rules have to be set:

    • The object being fired needs to originate from the player
    • The bullet needs to destroy itself when colliding with walls or enemies (AI)
    • A variable needs to be set to control the direction the weapon is being fired in

     

    Health (for the enemy):

    Enemies will need to have a variable set at the start of the level as their health. A collision then needs to be added for when the bullet collides with the enemy. When a bullet collides, it should take some health off of the enemy, and if the enemies health hits 0, the instance should be destroyed. This means multiple bullets will be required to kill/destroy the enemy.

     

    Health and Lives (The player):

    For the player, the health and lives should be set at the beginning of the game. To do this, you create an invisible object and add it to the first screen which function is to set the variables for health and life. This should then remain throughout the rest of the game. Every time the players health hits 0, a life would be taken off.

  • 11/10/2016 – Artificial Intelligence

    Today I learnt about AI and how to implement it into the game.

    For AI to be successful, it needs AT LEAST the following:

    • Ability to move up, down, left and right
    • Speed
    • Controlled by itself (Its the illusion)

     

    There are 3 types of AI Movement:

    • Basic
    • Follow like ghosts
    • Follow horizontally

     

    I opted to try the basic movement, which allowed the enemy to move from side to side along a platform, and when it collides with an “invisible wall” either side, it bounces off and goes in the opposite direction.

  • 04/10/2016 – Character Movement

    Today’s lesson covered the basics of Platformers and Aerial View games.

    Aerial Games:

    • Needs the ability to move up, down, left and right
    • Aren’t affected by gravity
    • Not meant to bounce – only stop

    Aerial games can be easier to make compared to platformer games, so before covering them, we learnt about new things which can be implemented and controlled in game maker.

    Frame Rate

    As previously known, frame rate is a set of images played fast enough to create the illusion of movement. At between 25-30fps the video is no longer choppy to the human naked eye. GameMaker can adjust the frame rate of individual sprites and for each room/level.

    Variables

    Variables are pieces of code (predefined or user defined) that remember certain values – text or numbers – so they can be used/edited easily multiple times. The most common uses for variables are speed, direction, x or y, and can be defined both locally (certain parts of the game) or globally (across the whole game). However, as the variables use up RAM space, too many global variables can slow the game down.

    Platformer movement needs:

    • Needs left, right and jump
    • Gravity
    • Restricted by solid objects
    • Not to bounce either – only stop
    • Velocity
    • Walk on the floor
    • Walls and platforms

    For the platformer, some objects/variables needed to be relative. A good rule of thumb for determining which should be relative is if it is a force/element or not, for example:

    • Gravity is not relative as it is a force
    • Movement IS relative as it is a player controlled movement
  • 28/09/2016 – Introduction to GameMaker

    Today I was introduced to GameMaker. I was given a brief overview of how the program looks, as well as how it is used. My first task was to identify 4 main parts of GameMaker:

    • Rooms – where the game is played
    • Backgrounds – Images for the background
    • Sprites – 2D images that are used in the game
    • Objects – game assets – players, buttons etc.

    After doing this, I identified where these were located within the program:

    2016-10-04

    Sourced from the PowerPoint

    The tool bar contains useful buttons like New Document, Open, Save, New Sprite, New Room, New Background and Run – which runs the game as a preview.

    We then looked at the general principle of creating a game using GameMaker. When making a game, you would usually follow these steps:

    1. Create a room
    2. Create a background
    3. Create an object
    4. Give the object behaviour in code
    5. Give the object a sprite (2D image)

    Axis:

    2016-10-04-1

    Source: PowerPoint presentation

    Unlike most things the y axis in GameMaker is the opposite to what it would usually be. Up is “-” and Down is “+”. The above image shows how to control an object, both movement and rotation.

  • 20/09/2016 – Game Engines and the history of them

    Today I discussed 5 core purposes about game engines:

    • Graphics rendering – text, display, lighting
    • Collision detection – main character not falling through floor etc. entering, leaving, touching
    • AI – game controlling itself, used to create illusion of intelligence in behaviour of NPCs
    • Sound – always needed (even if just ambience)
    • Physics – eg. Gravity, Friction (walking, climbing etc. linear and angular drag), Force/Torque, Momentum, Mass

    We discussed the advantages of using game engines over previous methods of building a game, where companies built an engine specifically for 1 game and then scrapped it after the game was released. An example of a ground breaking game engine was when ID Software licensed their DOOM engine, which completely changed how games were built, utilising the “Fake 3D” and helping to bridge the gap between 2D and 3D games.

    After discussing these points, I proceeded to look at how game engines progressed from when they were orgininally realeased, starting with game dev kits at the end of the 80s. An example of this was the Pinball Construction Set in 1983 which began to let the you toy around with different mechanics and begin to allow you to easily create your “unique” game. You only had a select number of things to use to build your pinball machine, but allowed people to start developing their own games.

    As we hit the 90s, we also hit the 3D revolution. A good example of a ground breaking engine was the Source Engine, which used true 3D, included modding, ragdoll and buoyancy physics. This began to progress in other engines and the graphics quality have been improving from one engine to the next since.