Skip to content

Latest commit

 

History

History
92 lines (66 loc) · 7.73 KB

Game Concept.md

File metadata and controls

92 lines (66 loc) · 7.73 KB

Title: Game Concept Ideas

Introduction

This tutorial is to provide Splashkit Users a guide and tutorial on making a game within Splashkit's functionalities. This tutorial also allows users to work through multiple steps of game concept as well as the actual creation of a game. For this, the tutorial will provide simple instructions and examples with reference and links to other tutorials based on functions used, as well as:

  1. Choosing game mechanics and genre
  2. Creating a compelling game narrative and characters
  3. Mapping out game levels and progression
  4. Art and audio direction for the game

For this example, we can look at a simple side scroller platformer, like Super Mario, Luna Games and other popular side scrolling platforms. A basic, barebones game, and a starting point will be drawing in sprites, background, collision detection, jumping and movement animations. Progression can include items, enemies and multiple levels.

Prerequisites

  • Splashkit installed
  • Chosen language (C++, C#, Pascal or Python)
  • Assets (Whether pre-made from free to use packages or self made)
  • basic programming skills
  • documentation

Functions Used (Link to Splashkit documentation)

  1. Create and close window (https://splashkit.io/api/windows/)
  2. Timer (https://splashkit.io/api/timers/)

Table of Contents

  1. Before we code: Making a games foundation
    • Creating a plan - What game do you want to make?
    • Game Mechanics, narrative, and characters
    • Maps, level design and the visual/audio aides
  2. Getting our virtual hands dirty: Making the game come to life!
    • Basic and entry level functions
    • Advanced functions (multiple levels, enemies, items)
    • Expanding and going forward. (keyboard functions)
    • Mouse control functions (Pause, resume, restart instead of using a keyboard button)

Tutorial Details

This tutorial is suitable for all levels of experience. From beginners to experts, it's a guide on making a simple game that can be further expanded upon as you gain more confidence and skills with coding, and game design. This tutorial will expand on the documentation and prepartion of the game, as well was providing coding examples for a basic side scrolling platformer. It will provide examples on how you can create your own assets, putting them into said game, and creating a 2D basic game.

Before We code: Making a Games foundation.

Create a plan: The most difficult part about any game creation is the planning. There are multiple avenues one can venture down into when creating a game in Splashkit; Metroidvania, Flappy Bird, racing, etc. One example of generating ideas is the site https://firith.studio/game-idea-generator. This can generate a basic theme, genre and mechanic on what game you could create. Game generation

Other ideas can be centred around pop culture references, personal favourite show or movie plots, or ideas from multiple games. Other common tropes used is the use of history and mythical folklore, or creating a new twist on a childish or simple game for a new challenge. Once your idea is decided upon, its time to plot out the entire game and its world.

Game Mechanics: Game Mechanics are your different types of gameplay styles - Turn based RPGs, First Person shooters, top down or side on scrollers, visual novel based, or choose your own adventure. Its possible to achieve a 2D side scrolling Portal recreation game.

Maps, levels and visual/audio aides: For a basic demo, or trial run of a game, you would primarily focus on only 1 level of a game. However, with any game, regardless of the number of levels, you need to design them. One way of designing your levels, and game, would be using a flowchart. This can be achieved through LucidChart, or other applications of chart design. A basic game design layout would use the waterfall methodology to create a linear path of your game.

  • Start menu -> Level Menu -> Gameplay -> exit.

Maps and level designs can also follow a linear path of going left to right, or right to left. For a basic understanding of gameplay and levels, it is recommended to create a side scrolling game from left to right with few obstacles. More advanced features can include back tracking, or a circular path - Starting from the top, plummeting down, and climbing your way back up after completing the mission objective.

Inspiration or ideas can be taken from retro games; Legend of Zelda's Majora's mask, Dead Cells, Metroid. You can start in a 'middle hub', where you begin, with various points of exits along a compass (North, South, East, West) to different areas of a map, or tombs or caverns. This means you can still create a 'linear' map, but have the option to venture to areas of your own accord as opposed to the game telling you where you must head next.

Depending on your mechanics, and game plan, will depend on your visual and audible aides. You can base a game to be entirely terminal based with no visual or audible aides (leaving the player to imagine the scenarios through story telling), or look towards visual assets. The more detailed your assets become, the larger and potentially more difficult your game becomes. Visual assets can be one of the most vital and appealing aspects of a game, and it can sometimes be difficult finding the right assets. Free to use visual assets can be found at https://opengameart.org. For a personal touch, visual assets can be created with a number of programs, both free and paid versions. A personal favourite is a combination of Clip Studio Paint, Paint Tool SAI and ProCreate. These art programs can create a starting point for fine pixel or high quality sprites for any game, and use a multitude of brushes. Clip Studio Paint is one that works well for multiple reasons, including 3D poses and references to provide accurate human anatomy, and an animation function (PRO is limited in the number of frames, while EX is unlimited.).

Audio Assets and music can be obtained using royalty free music, https://kenney.nl/assets, or other applications for another personal touch; These can include Audacity, VOCALOID3/4/5/6, Incredibox and LMMS.

Expected Learning Outcomes

By the end of this tutorial, you'll have made your first basic side scrolling platform game with collision detection, movement functions, audio and visual aides and the overall satisfaction of creating something from nothing. This allows you to scaffold your current project into multiple levels and create a fully fledged game with story and passion. You will gain skills in:

  • Planning and foundation of game creation in a 2D setting.
  • Mapping, level design, and visual design - where to find assets and how to make assets from scratch.
  • Creating a window with assets
  • animation functions
  • loop functions
  • collision detection
  • platform generation
  • camera movement
  • background scrolling
  • Game over and Victory conditions
  • Input handling
  • Pause, end, resume and restart.

Conclusion

By following with this tutorial, you will not only gain the knowledge of game design via coding, but will learn fundamental skills in planning, design and avoid issues such as scope creep and poor organisation. This tutorial can also lead you to gaining new skills within art and audio manipulation, and new ways to design map layouts. You will have gained the skills of making a game with multiple functions, which they themselves hold multiple uses, and can create something not only teachable to others, but be made into something profitable and forever expandable.

Having obtained the skills you know now, create yourself new games with new abilities, mechanics and assets. There are multiple ways to interpret a story.