Posts mit dem Label development environment werden angezeigt. Alle Posts anzeigen
Posts mit dem Label development environment werden angezeigt. Alle Posts anzeigen

Montag, 26. Oktober 2015

GameMaker - Introduction

As discussed in my last post, I have chosen GameMaker: Studio as my development environment for game programming.
Now I would like to provide an easy entry for beginners and other interested parties to this IDE (Integrated Development Environment) by listing a few sources of information and tips and explaining the basics.

Official GameMaker: Studio site

Communities:

Documentation:

Resources:

Of course, there are countless other sources of information, but the best will be to use Google. ;)

The various versions of GameMaker: Studio
and Supported Platforms

Here we see the different versions of GameMaker: Studio and the various modules for additional platform support. This table I have simply taken over from the official GameMaker page.
[http://www.yoyogames.com/studio, 09/28/2015]
FeatureStandardProfessionalMaster Collection
PriceFree $149.99$799.99
Registration Required
Made with GameMaker Splash Screen in game
Unlimited resources
Texture Management
Multiple Configurations
Team Features
Developer Services Portal (DSP)
Mobile Testing (Android)
GameMaker: Player Export
Windows Desktop Module
Windows Desktop Module + YoYo Compiler + Export
Windows App Module + YoYo Compiler + Export
Mac OS X Module + Export
Ubuntu Linux Module + Export
HTML5 Module + Export
+$199.99
Android Module + YoYo Compiler + Export – x86, ARM, MIPS
+$299.99
iOS Module + YoYo Compiler + Export
+$299.99
Windows Phone 8 Module + YoYo Compiler + Export
+$299.99
Tizen Module + Export
+$199.99
Xbox® One Module + YoYo Compiler + Export
+$299.99
PlayStation® 4 Module + YoYo Compiler + Export
+$299.99
PlayStation® Vita Module + YoYo Compiler + Export
+$299.99
PlayStation® 3 Module + YoYo Compiler + Export
+$299.99
Includes all current & future modules in version 1.x


Basics of using GameMaker: Studio























Here we see the GUI (graphical user interface) of Game Maker IDE. On the left is a column with all resource types that can be used. These include:
  • Sprites (images that can be drawn)
  • Sounds (audio files for sound effects and background music)
  • Backgrounds (graphics for backgrounds)
  • Paths (predefined movements)
  • Scripts (code scripts: corresponds methods / functions)
  • Fonts
  • Timelines (predefined timings)
  • Objects (objects from which instances can be created)
  • Rooms (rooms / levels / maps)
  • Included Files (files integrated into the game)
  • Extensions (extensions for several platforms: JAR, DLL, ...)
  • Macros (constants and snippets)
  • Global Game Settings (settings for all platforms)
And that you may even want to see now how to tinker a first small program I wrote a little guide below, before I explain how the whole as such plays together:

How does it start?These instructions have been starting from GameMaker: Studio is written in latest version.

  1. At the very first, when a new project is created, a room is required.
    -> Right click on the Rooms folder - Create Room.

    (Now the "game" could already be started, but we would only get a blank window.)
  2. We need to create an object with which something should be done.
    -> Right click on the Objects folder - Create Object.

    -> Let's call it obj_hello.
  3. Now we open (if not already open) the newly created room by double-clicking on its name, jump into the Objects tab, and click right into the room to place the object obj_hello.
  4. In the created object (double-click on obj_hello in resource tree, if not already open) we create a new event:-> Add Event - Draw - Draw
  5. Here we use drag'n'drop to move the tile with the big A (Draw Text) from the right (in the draw tab) into the Actions list.
  6. We open this newly created command Draw Text by double click (also opens on its own after the pull-in) and write "Hello World" in the text field "text:" and click OK.
  7. With one click on the green arrow in the top menu (Run the game) of the IDE, we now start our "game" and see - a Hello World Program is "written".

What happens next?


Now you should have a first impression of how the GameMaker is constructed and works roughly:

  • You can drag objects into an editor and arrange as desired.
  • These objects function event oriented. For example, you can respond to:"Instance created," "instance clicked", "instance deleted", "instance1 collides with instance2" ...
  • And to these events you can drag instructions into, which will be triggered in turn, or only under certain conditions. It is also possible to drag a "piece of paper" and to write everything yourself (me as an experienced programmer wouldn't do it the other way).
Of course, there are countless ways that I have not indicated at all. If you feel like you want more, you can look for tutorials in the mentioned communities, on YouTube, or in other sources, or simply experiment yourself.
GameMaker itself also provides a small selection of tutorials and demos directly.

Important tip: If you are still inexperienced, you should definitely start with a project that is as small as possible! Even the idea to start a complex game, such as an RPG, keep it short and expand it later, probably suggests the wrong way.
Your way of programming and implementing things will constantly change and improve. You will eventually notice how inefficient or opaque your old code is and would like to do everything from scratch... It is extremely demotivating if you start something, but never brings to an end...


In my next post I want to share a little game with source code with youso you can look at everything in peace and understand it. It is a short held replica of a very old but still often played game that everyone knows. ;)
The source code is well commented in English, but not necessarily addressed to beginners. But so you have the opportunity to see how something can be done the "professional" way

Montag, 28. September 2015

Game development resources

Today I have created for you a list of resources of all kinds, which may be very useful for game development. I myself have only a few of them looked at in more detail, but most looks very goodThere are graphics from sprites, backgrounds or illustrations over audio files for sound effects and background music, up to useful tools for various applications.

 If you use these links, you leave my blog and reach web pages of others, for I assume no liability or guarantee!

> Sprites / Graphics

> Sound / Music

> Game Development Tools

   >> Level design, user interfaces, animations
  • Spline – Brilliant 2D animation editor (Good for GameMaker)
  • Goji Editor – Game editor and integrated development environment
  • Booty5 – HTML5 game maker
  • Texture Packer - Create sprite sheets / atlases easily
  • Glee2D - Generic 2D editor
  • Tiled – 2D tile based map editor
   >> Graphics and modeling software
   >> Code editors and IDEs
       -> Also se my post about game development IDEs

  • IntelliJ IDEA - Enterprise, mobile, web with Java, Scala, Groovy (Absolute recommendation!)
  • Notepad++ - Free code editor for Windows (supports a range of languages)
  • Eclipse - Free cross platform Java IDE
  • Visual Studio Express - Free IDE for Windows (C/C++, C#, HTML5, Visual Basic)
  • Xcode - Free IDE for Apple Mac OS (Objective-C, C/C++)
  • Netbeans - Free cross platform IDE (C/C++, PHP, HTML5, Java and more)
  • TextWrangler - Free code editor for Mac OS (supports a range of languages)
  • Aptana Studio - Powerful open source web development IDE
   >> Other tools
  • Tridiv – Create 3D models in CSS3!

> Other

Make sure that you read the license of any and all artwork that you use in any of your products, marketing materials and web sites. Different licenses grant you different usage rights, make sure that you are clear on them. If in doubt contact the artwork provider to find out.


With all these resources, you should be able to create the greatest results. However, nothing is better than making stuff oneself as much as possible, right? ;)

Most useful source:
http://www.drmop.com

Montag, 13. Juli 2015

The development environment

We wish to program a game, but with what?
This decision will depend on many factors. As I approach this as a hobby or my side business the most important factor is the time I have. By that I rule out that I could start with absolutely nothing - a game engine or an appropriate development environment must be found.
Such a development environment that was created for the games development, already usually involves a game engine with many useful features.
Anticipation - My decision was GameMaker: Studio, but there are some alternatives:
See list of game engines.

Below I would like to present a few of these development environments, with a few keywords of the respective companies themselves:

Unity

  • Feature-rich and highly flexible editor
  • 22 platforms
  • Uniquely extendible tool
  • Create highly-optimized content
  • Amazing visual fidelity, rendering power and ambience
  • Rapid iteration
  • Retargetable animations
  • Full control of animation weights at runtime
  • Enlighten-powered Real-time Global Illumination
  • Physically-based shading
  • Audio: Real-time mixing and mastering
  • 2D and 3D Physics - Box2D, NVIDIA® PhysX® 3.3
  • Scripting: C#, JavaScript or Boo
  • Version control: Perforce and Plastic SCM

Unreal Engine

  • DirectX 11 & 12 Rendering Features
  • Cascade Visual Effects
  • New Material Pipeline
  • Blueprint Visual Scripting
  • Live Blueprint Debugging
  • Content Browser
  • Persona Animation
  • Matinee Cinematics
  • Terrain & Foliage
  • Post-Process Effects
  • Full Source Code Access
  • Professional Source Control
  • C++ Code View
  • Hot Reload Function
  • Simulate & Immersive Views
  • Instant Game Preview
  • Possess & Eject Features
  • Artificial Intelligence
  • Audio
  • Leading Middleware Integrations


GameMaker: Studio

  • 14+ platforms
  • Asset Workflow: Shaders, Sprites, Sounds, Fonts
  • Scripting: Script Editor, built-in scripting language
  • real-world physics: Box2D
  • Networking
  • multichannel three dimensional positional audio utilising
  • Several compilers
  • Monetize, Analyse, Social media, Game Services
  • Source Control: SVN, CVS or Git


RPG Maker

  • Enhanced map editor
  • Character/Enemy/Skill/Equipment Database
  • Built-in Character Generator
  • Cof graphics, with 4 tilesets and collapsed character sprites
  • Shadow tool
  • Own scripting: RGSS3, based on Ruby 1.9.2
  • Windows only


Construct 2

  • HTML5 2D games
  • Quick & Easy
  • Flexible Behaviors as pre-packaged functions
  • Instant Preview without compiling
  • Blend modes, effects and particle system
  • Over 70 WebGL-based pixel shader
  • Multiplatform Export
  • Easy Extensibility

This is a selection which is based on what programs I have encountered most often, or seem to me the best known. So I would not say these are the best.
The key points were selected randomly halfway, ie when an item is missing from a development environment, this does not mean that this environment is missing the function.
Which development environment for you is the right one, you have to choose for yourself. As already mentioned my decision fell on GameMaker, for the following reasons:
  1. I already have licenses for the commercial use of the iOS and Android modules.
  2. I have been working since 2008 with older versions of Game Maker and have accumulated a lot of experience, which could save time.
  3. I have already created other projects with it, in which I have invested much effort in reusability, especially in the last project.
If I had to start completely from scratch, however, my choice would probably fall on Unity3D. This program came to me earlier out of the question because it was very expensive. But the payment model has changed: You pay only after a certain amount that you have achieved through Unity as income.
Also I can recommend both, Unity and GameMaker, for beginners as it is easy to find countless tutorials and learning material on the Internet.
In my next posts I will therefore respond specifically to GameMaker dependent aspects and reactions which would be handled very differently in other development environments. Nevertheless, I am going to focus on the general approach, making it a more instructive and informative blog also without the use of GameMaker.
 
Those who still can not decide, I recommend just to try a few of these (or other) programs and work through one or two beginner tutorials to get a reasonable impression.