Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

9. January 2018


Back in 2015 I found myself in the market for a new laptop for game development and I put together this guide on how to chose a laptop ideally suited for game development.  Fast forward to today and it’s time to choose another, so I’ve decided to update the guide.


Designing a laptop is an exercise in trade-offs, a mix and match of the following attributes:

  • cost
  • power
  • battery life
  • size/weight/portability

Cost, size, weight and battery life are all pretty self explanatory and tend to be linked.  For example, better batteries cost more and increase the weight.  Shrinking the size of a laptop while retaining the power tends to have a huge impact on cost.

Power is perhaps the most confusing and arbitrary trait so we can start there.  Power is a product of the CPU, GPU, Hard Disk and RAM available in the machine.  In this day and age in all honesty, the CPU and RAM are rarely the bottlenecks, even the lowliest laptops on the market tend to have good enough specs in this regard.  GPU on the other hand is a very different story and we will discuss that in depths shortly.


How Much Power Do You Need Anyways?

This is a good question and frankly it depends a great deal on what you intend to to do with your computer.  Are you developing simple 2D titles?  If that is the case just about any laptop will be sufficient.  On the other hand, and this is the big difference from the last revision of this guide, if you intend to develop for Virtual Reality that imposes strict limits on you.


As a general rule, I recommend the following tiers.


Good Enough

This is a machine that is capable of running most modern games and game development tools, the bare minimum I recommend buying, even though you could certainly use more.  The base I recommend is at least 8GB of RAM, an i5 or i7 processor and a dedicated GPU at least a 940m or better.  We will discuss this point in more detail in a second.  I also STRONGLY recommend an SSD (Solid State Drive), at least for the OS partition.  This will add to the cost, but will also make your computer feel several times faster.  It’s easily the best upgrade bang for buck you can make.


Even Better

This is ultimately the tier I will be buying in.  The sky is not the limit budget wise, so we need to keep costs under control.  Recommendations stay very similar to the good enough category.  An i5 or i7 CPU, RAM is cheap these days so go at least 16GB and an SSD is mandatory in my opinion.  The biggest difference from the Good Enough category, the dedicated GPU.  In my opinion the modern baseline future proof VR ready GPU is a nVidia 1060 or better.  You will find this limitation is really going to bump the price up while knocking the available options down.


Best

Perhaps you aren't as budget restrained as me?  In that case I will make a few recommendations for really amazing computers.   Truth is, they aren’t really that much better than the middle category.  However the fit and finish and quality of components is often a tier up.  The newest highest spec GPU and CPU, or the smallest possible form factor.


Other Factors


I have imposed some limitations on what I consider “portable” and this is a big gotcha when it comes to game development laptops.  First is weight.  Anything over 6 or 7 lbs in my opinion is not portable, not in the throw it in a backpack and lug it around all day sense.   I also view battery life as essential.  Almost every single laptop I am listing here will be a battery hog, so 2-3 hours on battery is about the norm.  Many “desktop replacement” laptops however will struggle to even last an hour on battery.  There is nothing against these machines, they are portable in the sense that they are easier to move from room to room for example, but not portable in the traditional laptop sense.  The size factor is also going to be important here.  In the goal of 6lbs or less, that is going to leave us mostly looking at 15” and smaller laptops. 


The good news is, if portability and battery life aren’t that important to you, there are a ton of 17” laptops available with a dedicated GPU and a much lower price tag.  The bad news is, I wont be discussing them here.


About GPUs

This is perhaps the most important part of your decision, which GPU (Graphics Processing Unit) to chose.  Basically you have two options, Integrated graphics -- graphics provided by your CPU or a dedicated GPU.  Almost universally a dedicated GPU will out perform an integrated graphics chipset by an order of magnitude.  I don’t really view integrated graphics as a viable option for any but the most casual game developers.  Don’t get me wrong, modern game engines such as Unity or Unreal will run on a modern integrated graphics chipset, they just wont run well!

Now we enter the incredibly confusing world of dedicated GPUs.  The one nice thing here is, nVidia basically have a monopoly, so you are mostly choosing WHICH NVidia card to chose and this is where it gets confusing.  First lets look at the short hand way do determining which cards are better.  You will often see an alphabet soup of numbers when it comes to nVidia GPUs and they all have meaning.  You will see names like 765m, 980 or 1060.  The first number(s) reference the generation, while the remaining numbers represent relative power.

So for example 980 is a 9th generation chip, while 80 represents it’s capability.  A 980 for example is a generation newer than an 880 and more powerful than a 970.  The most current generation of GPUs are the 10 series, such as the 1060, 1070 etc.  Generally each generation is faster than the previous generation, but not always.  The 10 series however seem to be about 40% faster than their peer.

The big difference for this year though is VR capability.  Be aware, you can buy several of last years models still, such as 960/970/980 powered laptops.  That said, often these chips were not compatible with VR due to a technology called Optimus.  If VR development is your priority, make absolute certain that your GPU is VR Ready.  Any current generation 1060 or newer should be capable of VR.

Microsoft just recently announced their recommended developer specs for mixed reality development:

image

Keep in mind, these specs are actually a fair bit lower than other headset providers.  For example, here are the recommendations for the Oculus Rift:

image


Another point of confusion is the recent release of Max-Q GPUs from NVidia.  Max-Q versions of the 1070 and 1080 currently exist.  This isn’t really a technology, more of a standard.  The idea behind Max-Q designs is to strike the right balance point between performance, noise and power consumption.  As a result, these devices are often underclocked but better on the battery life and have lower heat output.  As a general rule of thumb, a Max-Q GPU performs somewhere in between it’s own and the previous series.  For example, a 1080 Max-Q runs slower than a 1080 and faster than a 1070.

One final thing to be aware of is that mobile versions of GPUs tend to be about 20% slower than their desktop equivalent.  A GTX 970 is a desktop card, the mobile equivalent would be a 980m.  Again, if buying from that generation of GPUs be certain that it is in fact VR compatible, most aren’t!  Or be safe and buy a 10 series card.

You will on occasion run into a desktop card like the GTX 970 in a laptop…. this is exactly what it sounds like, a desktop card that has been installed in a laptop.  Generally this means that laptop will have horrible battery life and weight.  Again, it’s all about trade-offs.  With improvements in mobile tech, desktop GPUs being used in laptops is becoming increasingly less common.

Just as I was about to publish this, perhaps one of the most inconceivable things occurred…  Intel and AMD teamed up on a Intel CPU, AMD GPU powered single chip solution aimed at ultra portable systems.  It is not yet available in any shipping laptops, but is expected to have performance comparable to a GeForce 1060 mobile GPU.  We live in interesting times!


About CPUs

The CPU used to be the most important part of the computer, but in recent years the GPU has taken it’s crown.  These days you have a plethora of options and choosing the correct version isn’t simple.  In most cases, an ultra low power CPU such as an ARM or Atom CPU will no be sufficient.  This is also true, but slightly less so, of any i3 series of processors.  When it comes to choosing between i5 and i7 it gets much trickier.  You generally think higher the number the better the performance, but this isn’t necessarily true.  In most cases either choice will work for you, just be sure to note core clock speeds and number of cores/threads.  Get the highest clock rate/core count combo you can afford is generally the safest solution.  Most i5/i7 4 core solutions will be sufficient for most of your needs.

One thing to be aware of however is the generations of chips.  Intel has been resting on their laurels of late and each new generation ( with names like Kaby Lake, Coffee Lake and Broadwell ) being very similar to the previous generation.  For the 8th generation ( most recent ) there is a HUGE difference though…  generally 8th gen chips are slower but run at a massively lower ( 1/3! ) wattage requirement, leading to battery life.  They make up for the slower clock speeds by being boostable.  For most tasks, gaming included, the new chips will perform as well but require much less power.  That said, for tasks that max out a CPU, such as rendering or video processing, you will actually see better performance from earlier generation chips.  If battery life is your priority though, you definitely want to get a 8th generation processor.  Most computer companies switched to 8th gen chips nearing the end of 2017.


4K or FHD

When it comes to displays, other than size, this is going to be your next most common question… 4K and FHD.  Truth is, this is a very hard decision to make.  I tend to lean toward FHD (full HD, 1080p) for several reasons.  First, it’s generally cheaper, requires less power so battery life improves and frankly most games struggle to run at 4K resolutions.  On a 15” screen, that’s a lot of trade-offs for a relatively small benefit.

On the other hand, once you get used to using a 4K display, it’s hard to go back.  It’s easier on your eyes and generally makes for a nicer experience with daily computing.  However some (far too much sadly) software does a bad job of dealing with high DPI displays and you will need a magnifying glass trying to read these applications at a 4K resolution on a tiny screen.

A few years ago, I would have said FHD hands down.  These days HDPI support is improving and GPUs are getting fast enough to handle that many pixels.  It really is a coin toss here.


60 or 120 Hz

With the rise of more and more powerful laptops, the refresh rate of the screen is also frequently becoming more important.  Keep in mind the refresh rate of your monitor corresponds to the maximum framerate that can be displayed.  So if your GPU is putting out 135 FPS but your display is 60hz, its only showing you 60 frames of animation.  120hz displays are becoming increasingly common, but are only really useful if you can pump out that many frames of animation.  As a point of reference, NTSC (North American TV) runs at 24hz, while movies normally run at just under 30hz, so this isn’t a HUGE deal, but is certainly noticeable to some.


Are Solid State Drives Worth It?

You will commonly see machines advertised as having a Solid State Drive (SSD) and often a slower “storage” drive.  Is it worth it to get an SSD?   In a word…. yes.   In two words…. hell yes.

To be honest, I am starting to think a SSD might actually be the single most important aspect of a computer.  A good solid state drive will result in boot times that are literally measured in a handful of seconds.  It goes well beyond that too.  Programs load faster, much faster.  Tasks that repeatedly access the disk, such as compiling game code, will performance several times quicker than on a traditional hard drive.

When it comes to traditional hard disks, beyond size of course, the only thing that really matters is speed.  You will have a choice between 5400 and 7200 RPM.  The difference is about as clear as the numbers show, a 7200 RPM drive will load data about 30% faster, and it is noticeable.  This is an area where many laptop developers have tried to shave costs and I regret it.  Personally the first thing I do is remove the traditional HD and replace it with a SSD.


Ports

As you will see (spoiler alert!) the ports in a machine are increasingly important as well.  These days USB 3 is the normal baseline and you will generally want at least 2 USB ports on a laptop.  USB-C is the future, you’ve probably got one on your phone if it’s a reasonably current device, and some USB-C ports are Thunderbolt.  These ports enable you to do a heck of a lot more, including running multiple external 4K displays, etc.  Keep in mind that different ports have different functionality and it isn’t often easy to find out these details.  For example, some devices can actually charge over USB-C, enabling you to plugin an external battery pack for a quick charge.  Thunderbolt also is confusing, as you can get a 2 lane or 4 lane device.  A 2 lane device is capable of running most external GPUs for example, but will struggle to then send the information BACK to the laptops internal display, because it’s running out of room on the Thunderbolt cable.  Four channel thunderbolt devices have all the room in the world to do some pretty amazing things, like running multiple 4K displays off a single port!  It’s also becoming increasingly common for machines to not ship with HDMI or Ethernet ports.


Ok, enough background, let’s get to the machines.  I am going to break these down by manufacturer, in no particular order.

Dell/Alienware

The Dell XPS series are perhaps among the very best laptops available today, but sadly they aren’t sporting the greatest GPU options.  This is probably due to their ownership of Alienware gaming focused laptops.  Alienware sadly are huge ugly bricks of a machine, barely qualifying to makeDellXPS this list.

Dell XPS 15

The Dell XPS 15 is an exceptionally well made laptop with one of the nicest screens and smallest bezels available.  The biggest downside to the XPS series is that the best GPU you can get is a nVidia 1050, an OK GPU, but perhaps the bare minimum if you are looking to do VR development.  Most XPS laptops, 13 and 15” have a Thunderbolt 3 port, although often limited to 2 channels.  The XPS 15 battery is good for 5 or 6 hours on typical usage.


Alienware 13"

The 13” Alienware is the most portable in the line, but still weighs in at a muscle building 6lbs.  The 13” model can support a GPU up to a 1060 in size and a large amount of RAM and storage.  Battery life is on the rather low end, lasting only a couple of hours.


Dell Inspiron

The cheap and cheerful option on this list, Inspiron’s are available with up to a 1060 GPU, a variety of CPU, HD and RAM options and a number of different screens.  Pushing the 6lb limit, the Inspiron is pushing the heavy side of the list, but budget friendly is always nice.  Battery life is also surprisingly good, 6+ hours on average load.


AcerPredator

Acer makes a few different game development capable laptops that are also portable.  The two primary lines are the Predator line of dedicated gaming laptops and the Inpsire line of general laptops that have decent GPUs available.


Acer Predator Helios

Again pushing that 6lb limit, this is not a light laptop.  That said, a 1060 GPU, advertised 7 hour battery life, solid SSD and CPU options, if you can handle the weight and “gamer” styling, this could be an option for you.  Please keep in mind, there are several machines in the Predator line-up, including massive 17” and larger machines loaded with power but lacking portability and battery life.


Acer Aspire (Nitro Black)

Acer also have the Aspire line of laptops, with the Nitro series targeting gamers.  They are available with up to a 1060 class GPU, weight in at 5.5lbs and have a stated 6 hour battery life.  Not the lightest or most portable option, but with a decent balance of capabilities at a reasonable price.


Asus

Asus makes a number of gaming capable laptops, especially under their Republic of Gamers moniker.  Several of these are huge and most are extremely “gamer” styled… bright lights and racing stripes.  The do however have some exceptional options available across the budget range.Zeph


Asus Generic Gaming Laptop

Asus have a variety of non-branded laptops aimed towards gamers that are the definition of OK.  They have OK power, an OK CPU, OK storage, OK screen at an OK price.  Most importantly they can sport a 1060 GPU and weight an OK 5lbs.


Asus ROG Zephyrus

This one isn’t cheap but otherwise it’s absolutely stunning.  A 1080 Max-Q GPU makes it one of the best performing options on the list.  A 0.7” thickness and 4.9lbs weight makes it extremely portable and the rest of the specs are pretty awesome too… everything except a pretty disappointing battery life that is.  Even the styling is pretty muted by Asus ROG standards.  Oh yeah, and the price tag!


Asus ROG Strix

Striking a balance between the generic Asus laptops and the top tier Zephyrus, their is the Strix line of laptops.  Available with up to a 1070 GPU, slightly over an inch thick and weighting 4.8lbs, its a good balance of power and portability.  Battery life in reviews seems to come in around 4+ hours, a reasonable amount.


Razer

Razer is perhaps the company that made thin but powerful laptops a possibility when they launched the Razer Blade laptop several years ago.  I had one of the original Blades and I will say at it’s time it was hands-down the best option that existed for a powerful portable laptop with goodRazer battery life if you were willing pay the steep price tag.  Sadly they seem to be resting on their laurels and today’s Razer Blade is almost unchanged except internal spec bumps and high price tag.  With the bump to 8th gen Intel CPUs, Razer Blades are highly discounted right now however.


Razer Blade 14”

In many ways you can think of the Razer Blade 14, as the Windows powered MacBook Pro with a solid GPU.  It’s premium, high quality, well put together and the price reflects all of that.  Sadly it also has only a 1060 GPU option available and the chassis has remained pretty much unchanged since launching.  Battery life is around 5 hours, depending on the screen option chosen.


Razer Blade Stealth + Razer Core

Let me say right up front, the Razer Blade Stealth is NOT a gaming laptop.  In fact it’s got no dedicated GPU at all!  So why is it on the list?  Well, it’s an ultrabook designed to be hooked up to an external GPU.  If the idea of light and portable laptop, that can be brought home and hooked up to an external GPU appeals to you, this may be an option! That said, with the price tag on the Core dock and the cost of a high spec Stealth, you may be wondering… why not just have a dedicated desktop at home? 


GigabyteGigabyte

At this point in time I think Gigabyte is the single best manufacturer for balancing power and form factor.  In the last round-up, it was ultimately a Gigabyte P34W laptop I chose and it has served me well that last two years.  Gigabyte laptops are not cheap, but are well made, powerful and come with an exceedingly rare 2 year warranty.


Gigabyte Aero 15X

This laptop nails it.  A long battery life, a 1070 Max-Q GPU, large SSD, lots of RAM and a fast CPU in a 4.5lb package.  Price tag is on the high side, but still cheaper than many on this list.  Even the styling is muted but not boring.  The only major problem?  It’s backordered… everywhere!  Earlier non-X versions are available for a lower price tag and a slightly weaker GPU.


Gigabyte P56

Slightly cheaper, slightly bigger and with worse battery life, there is also the P56 series of laptops from Gigabyte.  Capable of up to 1070 GPUs, these are another solid choice and are actually available for purchase.



Microsoft

A few years ago who would every have expected Microsoft to be on this list?  In fact, they make one of the single best options out there if you are willing to make two very large sacrifices, money and power.SurfaceBook2

Microsoft Surface Book 2

Available in 13 and 15” sizes, the Surface book is a very unique concept.  It’s a full computer in tablet form, but also has a keyboard with an additional battery and most importantly a 1050 (13”) or 1060 (15”) GPU!  This machine offers a staggering 10+ hours of battery life and VR capable graphics but there is a catch.  It’s expensive, very expensive.  Actually there is another major catch and the biggest reason I didn’t personally consider the Surface Book.  Under load, the battery drains even when plugged in.  For most people this isn’t a big deal, but for people running game engines all day, this is a huge deal breaker, especially at such a premium price!  Also unfortunately the Surface Book does not have a Thunderbolt connector.



MSI

Founded over 30 years ago as a motherboard manufacturer, MSI have an increasingly large presence in the gaming laptop market.  At this point they make so many laptops that could be eligble for this list it’s almost impossible to list them all.  Most of their 15” machines are reasonably portable with good power and middling to poor battery life.  They have a mind boggling 7 different series of laptops, GT, GS, GE, GP, GL, GF and GV, which also have a product name such as Apache, Stealth, etc.  MSI

GE63VR Apache

This series is available in both 15 and 17” and is probably the upper limit of power while still being a fairly reasonable weight.  Packing an i7-7700 and 1070 GPU in under 5lbs.  Battery life however is not it’s strong suit, lasting only a couple hours of moderate use.

GP62MVRX Leopard

The Leopard series is less powerful and thus less expensive than the Apache line.  Available with either a GTX 1050 or 1060 and an i7-7700 CPU, this machine is VR capable while a fair bit cheaper, also in an under 5lb package.  Sadly the battery life is also pretty much terrible on this machine.


Apple

I would be remise to not mention Apple in this lineup, although frankly their machines are often poorly suited for game development unless you are willing to spend a fair bit of money.  Only the upper range of the MacBook Pro line ship with a suitable GPU for game development.  On the other hand, build quality is excellent, battery life is also excellent and they are fairly compact portable machines.  Unfortunately Apple also recently removed the F row of keys from their machines, a huge annoyance to developers particularly.  On the flipside, if you want to develop for Apple based devices, a Mac is pretty much a required purchase.

15.4" MacBook Pro with R9 M370X GPUMBP

MacBooks are powered by the same Core i7 CPUs as most other machines on this list.  The MBP weighs in at an impressive 4.5lbs and advertises a 9hour battery life.  The biggest downside is price, generally about 50-100% higher than comparable Windows based laptops.  The most recent Macbook Pro’s ship with an Radeon 555, which is roughly comparable to a GTX 1050.


One major advantage to MacBook’s however is their early and prominent adoption of Thunderbolt, meaning a cheaper Macbook + a External GPU may be an option to overcome the relatively awful GPU situation.


Lenovo

One generally doesn’t think of Lenovo and gaming in the same thought, but this is a bit of a mistake.  Lenovo actually make a few very capable laptops with a really high build quality.

Lenovo Yoga 720

This is a 2 in 1 format machine, designed so the screen can fold back in a tablet like form factor, or tented for watching videos, it also somewhat shocking contains pretty solid Yoga720hardware, including a 1050 GPU and an i7-7700 CPU, but also a full touch screen and stylus.   With an 8 hour battery life and > 4.5lb weight, this is a very portable machine.

Lenovo Legion Y720

Legion is the gaming line from Lenovo, offering a 1060 GPU and a core i7-7700 CPU.  It’s got a bit of gamer styling going on (red lights galore) and pushes the weight a bit at 5.5lbs.  It also has a relatively modest price tag considering the GPU contained.  Also a 6+ hour battery life is certainly solid, while packed with ample ports including Thunderbolt.


HP

The HP Omen line is often a great option for a capable game development laptop.  Unfortunately the very best GPU option currently available from HP comes with a 1050 which is somewhat underwhelming, at least as the top tier option.   They did however just announce an upcoming Radeon Vega powered Spectre x360 coming soon, which could prove to be an excellent option.



Ultrabook + eGPU

Another possibility is pairing an ultrabook with an external GPU.  Basically an external GPU is an encasement that allows you to put a desktop class GPU that you plug into when you are home.  Obviously you will only gain the speed benefits when you are plugged in, but if you spend the majority of time at home, this might be the ideal setup for you.  Examples of eGPUs include the extremely expensive Razer Core or the Aorus Game Box which ships with either a 1070 or 1080.


So Then, What Did I Select?

Given that this entire process, all of this research, was ultimately about be selecting my new primary develop machine… what did I ultimately purchase?  If you are interesting in learning what I chose and why I chose it, be sure to click here. [Coming Soon]

General, Programming ,

6. December 2017


GameMaker is a seminal game engine, with roots dating back to the late 1990s.  It is a cross platform 2D game engine with tools that run on Windows and Mac machines while capable of targeting both desktop operating systems as well as Ubuntu Linux, Android, iOS, UWP, HTML5, XBox One and PlayStation 4 consoles.  GameMaker is commercial software with a free trial available, we will discuss pricing shortly. 

The closer look series is a combination of overview, review and getting started tutorial aimed at helping you decide if a given engine is the right choice for you.  As always, there is an HD video version available here and embedded below.

Let’s jump right in with GameMaker Studio 2!


The Tools

GameMaker Studio is an all in one integrated environment for creating games.  It includes everything you need in a single application with a tabbed working environment and a unique virtual desktop style approach supporting multiple editing windows at once.  The all in one all tools at hand nature of GameMaker is probably one of it’s greatest selling points.


The Main Interface

image


Side and bottom panels can be collapsed down to give more room:

image


The primary work area is tabbed, supporting multiple open views at once:

image


As mentioned earlier, GMS has a workspace setup that enables you to work with and pan between multiple editors at once, like a giant virtual desktop.

GMSDesktop


The resource panel is commonly used across the various editors and contains the various assets that make up your game.  You can also drag and drop assets onto this window to import them for use in your game.  For example, dropping in an image file will create a new Sprite entity for you.

image


You can also create new entities via the dynamic right click menu.  For example, right clicking the Tile Sets area will bring up this menu:

image


The Room Editor

image

This is your traditional level editor, where you can create various layers of entities that compose your game level.  A top left you have the layers controls, enabling you to create/delete/hide the various layers that make up your game.  Layers can be composed of instances (objects), backgrounds, tile maps and paths.  The editors below the layer controls change dynamically based on what kind of layer is selected.


Selecting a tile layer brings up the tile map editing tools, including a palette of tiles you can paint with.

image

GMS even has support for auto tiling, if your tileset is compatible.


The Sprite Editor

image

This editor enables you to define how a sprite is imported, the various frames of animation if any as well as a preview of the sprite or animation.  Additionally, clicking Edit Image brings up a full blown image editor within GameMaker.

image

This is a full blown sprite editing package with a variety of brushes available, full layer support, the ability to paint across frames, several tools such as text tools, polygon tools, a magic wand selection tool, mirroring tools and more.  Pretty much all the functionality you would expect for creating or editing sprites is available directly in GMS.


Sound Editor

image

You also have control over sound effect details via the sound editor/mixer.  Supported audio files include wav, mp3, wma and ogg.


Tileset Editor

image


As mentioned earlier, the room editor has full support for tileset layers.  There is an editor for defining tilesets as well as defining auto tiling support.  There are also editors for defining tile animations and creating predefined tile brushes.


Path Editor

image

This editor is used to define paths, either straight line or curves.  Often used for AI paths, the generated paths can be used and editing directly in the room editor.


Script Editor

image


This is the built in editor for developing games using GameMaker Script.  It has syntax highlight, code suggestions and a selection of other features.

image

The code editor is also used for shaders.


Drag and Drop Editor

In addition to GMS scripting, GameMaker also provides a drag and drop programming option.

image

You can use drag and drop from the toolbox to script your programs behaviour.  We will cover both programming options in more detail shortly.


Font Editor

image


Enables you to import and preview fonts for use in your game.  Fonts can be in either true type or open font formats.


Object Editor

image

The Object Editor is where you will start to tie your various resources together.  For example, your main character will be an object that connects to a sprite, while handling various different events.  Objects are created in the Object Layers in the room editor and generally represent the entities that make up your world.  We will look at objects in a bit more detail later.


Programming In GameMaker

You may be wondering at this point how exactly you implement gameplay logic in your GameMaker game?  Essentially you attach logic to objects in the game world.  When you edit an object you will notice there is an Events option.

image


Click the Add Event button and you will see the various events you can respond to in your game:

image


These are called at various points by the game engine and are analogous to the game loop in other engines.  Step is called once per pass through the game loop and is most commonly where you will handle update logic.  There are also events for when the object is created, destroyed, etc… as well as various options for responding directly to events such as collisions, touches, etc.


You can also wire up code to be called when a Room is created, via the Creation Code button:

image


Next it’s a matter of deciding HOW you want to program in GameMaker, via Drag and Drop as well as directly using GameMaker scripting.


Scripting

Scripting is done using Game Maker Language, or GML, which is a C like scripting language.  The syntax is fairly simple and if you’ve had any prior C, Python, C++ or similar language experience, picking the language up should be fairly simple.  There are built in methods for most functions you would want to perform such as graphics drawing, audio code, networking, platform specific tasks like in app purchases etc.  There are also built in data types such as Stacks, Lists, Maps and Queues.  Actually teaching GML is beyond the scope of this document but you can access the language reference here.

If functionality is lacking it may be available on the GameMaker Market Place or you can add it yourself by creating a native extension.  You can add new functions to GML in this manner.


Drag And Drop

Programming via drag and drop in GameMaker is your other option and is a great choice for people that just want to jump in and figure things out on their own.  Don't worry too much about performance as the DnD code is ultimately generating GML script so performance should be roughly the same.  In fact, you can switch freely between the two programming methods at will within the same project or call GML directly in your DnD script.

Creating scripts in DnD is as simple as dragging in predefined functions to create a flow chart of sorts that occurs top down, like so:

GMLDnD

Once again, you can freely switch between the two methods.  Additionally, in any script your can right click and select Convert To Drag and Drop.  A reference of all the drag and drop tiles is available here.


The Price

GameMaker is commercial software, so that means there is a price tag attached.  There are multiple versions available for GameMaker as well as addition platforms coming with an additional price tag.  Pricing (as of today, 12/6/17) breaks down as follows:

image

image


In addition to these various different platforms, there is also now a new $39 per year ( most of the above non-console licenses are permanent buy once ) Creator Edition aimed at hobbyist developers.  It is fully featured but requires you to choose Windows or Mac and also requires your game display a splash screen.  There is also a heavily limited free trail available.  For more information on pricing or to download the trial visit here.


Community and Documentation

As you might expect for such a long lived game engine, there is also a very well established community.  The forums are available here.  With almost 20K registered users and 230K posts, the forums are quite active and contain a wealth of knowledge, although much of it is for earlier 1.x versions.  Questions seem to be answered fairly quickly.  In addition to the forums there is also the YoYoGames help desk containing several guides and how-tos.

There is also a fairly comprehensive GameMaker Studio manual available online which can be opened directly within Studio.

Additionally, there are several books available for GameMaker Studio such as:


In addition there are several tutorials and start kits available on the online marketplace, which we will talk about…


Online Marketplace

Quickly becoming the must have feature of modern game engines, GameMaker has an online store available, containing free and commercial assets including demos, scripts, sprites, shaders, extensions and more.

image

You do not need to have GameMaker Studio installed to access the marketplace, you can browse it in your browser here.


Conclusion


At the end of the day, GameMaker Studio faces a challenging new world as it is facing increasing competition from free and free to start game engines.  Is it worth it?  That is impossible for me to answer, as value is very subjective.  Game Maker is certainly a very complete 2D engine with a vibrant community and tons of resources.  Compared to the previous versions, the 2.x editor contains a great deal more polish and most every tool you would need is included out of the box.   Game Maker has certainly proven itself a production capable engine, having powered such titles as Hotline Miami, Undertale and Spelunky, all titles that have seen commercial success.

A proven catalog of game is always a strong selling point.

Personally, if you are working on a 2D title using Windows or Mac, Game Maker is certainly worth considering.  Do keep in mind however that as you add more platforms, you also add more cost.  In many cases though, this means you are ready to commercialize your title, so hopefully cost isn't as much of a concern.  I do think however they are making a mistake in charging for the Creator Edition.  Personally I would do away with the trial completely, make Creator free and charge people to deploy to additional platforms.  If this was the case it would be a great deal easier for me to recommend you check out GameMaker yourself.  Without a free option, its hard to recommend in the face of so many free/free to start options out there.  The engine is great, productive, proven and easy to learn… just saddled with a bit of a dinosaur business model.


The Video

Programming, General, Design , , ,

23. November 2017


For the past several years on Black Friday I have tracked the best deals of interest to game developers (artists, programmers, musicians and designers) from around the web.  This year of course is no exception!  The following are the deals I could find that would be on interest in the world of game development.  If you find something I haven’t listed, be sure to mention it in the comments below!

This list will be updated as I find more deals so be sure to check back often.


Amazon


Steam


Unity


Unreal Engine

    • Cyber Monday For Sale – Stay tuned

Misc

3D Coat

Adobe

Allegorithmic

  • Sale starting at 3PM EST 11/23

APress

Autodesk

CGTrader

Daz3D

Dell

HackingWithSwift

Marmoset

Microsoft Store

Packt

PluralSight

Quixel

Smith Micro

TurboSquid

Udemy

General ,

19. July 2017


The following tweet, sparked off a bit of an interesting conversation about game development, game engines, game journalism and it’s affect on end users.

image


I understand the perspective Adrian takes and I agree and disagree with him all at once.

First off, the part I agree with.   The end users should not be prejudging, or in this case, outright dismissing games based of the engine they are developed in.  This is like dismissing a film because of the way it was filmed.

However, that same analogy holds true.  Think back to the beginning of the 3D movie craze around the time of Avatar and all the CRAP films that were made because of this focus on 3D.  Dismissing a film because there was a 3D version available was a dumb thing to do... but being wary of it it certainly wasn’t.


This is where I stand on the subject, from a developers perspective.  When it comes to 2D games, I think this is pretty much a moot point.  The game engine is really quite transparent on 2D titles and really it’s the art that sets the tone.  With 3D however, it’s not so simple.  3D game engines certainly put their fingerprint on the games they create and game developers should be very aware of those fingerprints. 

There are two ways a game engine influences the underlying game, design and results.  Let’s quickly talk about both.

Design is when the structure of a game engine influences the structure of the underlying game.  For example Unity by default has a very level oriented work flow, while CryEngine has a very landscape/terrain focused design and both it and Unreal Engine are very 1st/3rd person oriented in their design.  In all cases this can be overcome...  Mortal Kombat is an Unreal Engine game, Cities: SkyLines was made using Unity and Star Citizen was made using CryEngine (now Lumberyard).  In every case though, this took a great deal of effort and wrangling an engine into doing what the engine didn’t want to do.  I remember a great deal of complaints among early Kickstarted CRPG games (like Wastelands 2) about the game engine negatively influencing the end game.

Where it is increasing noticeable though, its in the results (AKA graphics) and this is for a couple of different reasons.  First, when you are dealing with a 3D game, there is a great deal more computation going on behind the scenes than in a 2D title.  You have a 3D renderer, materials system, lighting system, physics system etc.  All of these things are complex and will come with defaults to make a developers life easier.  Thing is, every single time people go with the defaults, it’s a finger print left by the game engine on a game.  You will often see comments like “Unity games are ugly”, where in reality the end user is picking up on the default renderer, lighting, etc.  The other tell tale sign of a game engine is using assets from it’s collective asset store.  An asset store is a potential boon to developers, especially ones with limited resources.  On the other hand, hearing the same jingling, seeing the same model or texture, etc... will rapidly lead users to find the games feeling very “same-y”.  You would be amazed what our subconscious mind picks up, there is a reason we have Deja vu so often, and no... nothing was changed in the Matrix.

Another reason why end users might wish to be aware of what game engines a game was written in comes down to hardware.  Some engines simply run poorly on some hardware or have higher system requirements, etc.  For example, all CryEngine powered games could be customized and tweaked using the same process and could be expected to run similarly.  This is a very valid reason for consumers to be aware of what engine a game was written in.

Finally, some readers, even less technically inclined readers may in fact want a peek behind the curtain.  I certainly know I eat this kind of stuff up.


So, should journalists stop talking about what game engine a certain game is made with?  Certainly not.  Don’t focus on it, or condemn because of engine used, but discuss it?  For sure!

At the same time any gamer that’s dismissing games outright due to the engine they are created with are doing themselves and the games in question a massive disservice.  Finally, I don’t think game developers should be overly concerned which game engine they go with, so long as it fits their need.  They should however be very aware that these game engines do put their fingerprints all over their games if they aren’t careful!

General

31. January 2017

 

I found myself recently needed some rocks… I could easily download a collection of rocks, but I figured it would be extremely easy to just make my own.  My first thought was to simply take a cube, smoothly sub divide it a number of times, and apply a displacement modifier to it.  The end results however didn’t really bring the results I wanted:

Rock1

 

By the way, you can learn more about using the Displace modifier on my earlier tutorial on using Blender for level creation.

 

Ok, apparently this is going to take more than a few seconds…  hey… I wonder if there is a plugin?  Turns out, yes, yes there is.  The plugin add_mesh_rocks does exactly what it says.  You can download a tarball of the plugin here using the snapshot link.   You can get instructions for installing (a different but same process) plugin in Blender here.  Download and enable the plugin.

image

 

Once you’ve downloaded and enabled the plugin, there is a new option in the Add->Mesh menu, Rock Generator:

image

 

NOTE*** There seems to be a bug, the option wont be available if there isn’t any existing geometry in the scene.

TADA!

image

 

Ok, I admit, that looks a bit more like a kidney bean than a rock, but it’s a start.  If you look in the Tool (T) panel, you will see initial creation options for Rock Builder:

image

 

Click Generate materials if you want it to create a starting rock texture for you.  Every time you change any setting, you will get a completely different rock, like so:

Rock2

 

If you don’t want this behavior, turn off the random seed setting.  Once you’ve got a rock you are happy with… let’s destroy it!

 

Before we go to far though, if you dont want performance to absolutely crawl, we want to apply several modifiers that were created as part of the rock creation process.  Go to the modifiers tab and start applying the various modifiers:

image

 

OK, back to destruction.  The first and most obvious option is the Explode modifier.  There are a few steps we have to take here… first go into edit mode, select all the vertices and in the vertex data tab create a new vertex group.  Now apply first a particle system modifier, then an explode modifier.  Finally wire up the vertex group, like so:

image

 

The problem with explode is that it applies to the hull of the object only, so the results may not be way you want… as you can see:

Rock3

 

In some cases, that effect might be exactly what you are looking for.  Oh, and I turned gravity off to get the effect above. But if you instead want things to be a bit more… substantial, it’s time for a rethink.  In fact, it’s time for another plugin, but thankfully this one ships with Blender, it just needs to be enabled.   What you are looking for is “Cell Fracture”:

image

 

Once enabled, in Object mode, there will now be a new option available in the Edit section of the Tools tab:

image

 

Cell Fracture will split your object up into several solid pieces.  You’ve got tons of control over how the fracturing will occur.

image

 

What I personally did was changed source limit (number of pieces) down to 12 and unchecked “Next Layer” so the fracture occurs in the primary layer.  Now you will notice you’ve got several meshes instead of one:

image

 

In fact, you can now get rid of the source rock if you want.  You will notice your rock is actually 12 rocks now:

rock4

 

Instead of using a particle system like we did with explode, we are going to use Dynamics (Physics) instead.  Select all of the objects, switch to the physics tab and select Add Active.

image

 

This means all of our rocks will now participate in the physics engine.  To see the result, quickly add a plane to the scene, make it a rigid body and turn dynamic off:

image

 

And now press play in the timeline:

rock5

 

Now that looks much more realistic!  Now, what if we wanted our rock to explode instead of fall?  Well, physics are once again coming to our aid!  This time add a force field to the scene:

image

 

Then crank the strength way up (or lower the mass of your objects), like so:

image

 

Once again, I don’t want gravity to be part of the process, so I turn it off.  In the Scene tab, simply turn off gravity, like so:

image

 

And voila, exploding rocks!

Rock6

Art, General , , ,

Month List

Popular Comments