Posted on Leave a comment

Choosing A Laptop For Game Development 2019

Back in 2016 I did my first guide to Choosing a Game Development Laptop, then did a follow up edition the beginning of 2018. A fair bit has changed since then, so here is the 2019 edition.  There is a video version of this guide embedded below.

What has changed?

If you read or watched the prior guides, you are probably most interested in what has changed in the technology surrounding game development and laptops in general. The biggest new change is the introduction of Real-Time Raytracing, or RTX technology, that we will talk about in more detail later. Additionally, AMD released a new embedded mobile graphics chipset that appeared in some lower cost laptops, bringing low-mid range GPU to a few popular laptop models. Intel and AMD released a new generation of GPUs, with AMD making huge progress on the desktop but somewhat limited in mobile chips although rumours suggest something big from AMD coming soon. Intel chips are just incremental improvements on the previous gen, with several of their newest processors running into thermal issues. Finally, the thin and light laptop has become nearly universal, with all manufacturers making something. Oh, and prices went up for the most part… so it isn’t all great news.

What Kind of Game Development Are You Intending to Do?

Game Development is a BROAD subject and the kind of machine you need is entirely determined by what you are doing with it. Different tasks have different requirements, but here is a VERY vague summery.

2D Pixel Art

If you are looking to do mostly drawing and pixel art creation on your machine… good news! This isn’t a particularly demanding task. A touch screen and good color calibrate monitor are probably the most important traits in this case.

3D MODELLING and ANIMATION

If you are a 3D artist, especially if you are working with higher polygon count scenes or real-time sculpting, the GPU is the most important thing, followed by RAM and CPU.

Programmer

If you are mostly compiling large volumes of code the CPU is probably the most important part, but you want to avoid any bottlenecks, such as running out of RAM. Most importantly, you absolutely NEED to have an SSD. The difference an SSD drive makes to compiling code is staggering.

VR DEVELOPER

If you are intending to work with VR, you have some fixed limits, minimum requirements to run an HTC Vive, Oculus Rift or Microsoft Mixed Reality device. Generally, this means at least a 1060+ or better GPU. This is because VR is basically running two screens, one per eye, and each screen needs to run at a minimum framerate (often @ 90) or it will cause sickness or headaches.

Why no Apple Laptops this year?

To be honest, it’s just getting harder and harder to recommend getting a MacBook since 2016 for several reasons. First off, they removed the F-row of function keys and replaced it with a touchbar, and this is horrible for programmers who rely heavily on function keys in just about every single application. Additionally, this change makes it work even worse if you need to boot into Windows software.

Additionally, this generation has been absolutely plagued with quality issues. It started with heavy thermal throttling on any i9 based Mac and got worse from there. The failure rate on this generation of MacBook’s keyboard is off the chart. Finally, they have implemented a security chip, which coupled with anti-repair policies, makes repairing a MacBook more problematic and expensive than ever. If you want a MacBook Pro for development, I personally would highly recommend a 2016 MacBook Pro or earlier, used or refurbed, at least until the MBP gets a engineering overhaul.

My minimum spec recommendations?

There are a few things I consider mandatory if buying a laptop in 2019.

SSD (Solid State Drive)

This is hands down my biggest non-negotiable recommendation. Having your operating system on an SSD improves performance of just about everything… massively. Want to take a few seconds, or nearly a minute to boot or wake your laptop? That is the difference an SSD makes! They are more expensive and often systems will have a smaller SSD for the OS partition and larger cheaper SATA drive for storage.

8GB of RAM

You can buy systems with 4GB of RAM… this is not enough. 8GB is the realistic minimum, while I would personally go no lower than 16GB. Anything over 32GB is mostly a waste for most users. 16GB still seems to be the sweet spot.

I5, i7 or i9 Processor

Be careful will any other processor options. Low powered options like the Intel Atom aren’t powerful enough for most game development tasks. An i3 may be enough for you, but I would recommend an i5 or higher. If you are on the higher end, be careful with purchasing an i9 machine, many of the first gen of i9 laptops are having trouble dealing with the extra heat and are a waste of money as a result.

GPU

I personally wouldn’t buy a machine without a dedicated GPU, which is pretty much a must if you want to do any 3D work or play modern games. Using integrated graphics, you can often play modern games on lowest settings at lower resolutions. In terms of what GPU… that’s is a bit trickier. The new generation of 2060/2070 and 2080 Nvidia GPUs are strongly focused on RTX, or real time raytracing. They are also quite expensive. Later on, Nvidia released the 1650, a value priced slower GPU without RTX with a much lower price tag. Of course, if RTX isn’t important to you, several last generation GPUs are still very viable, especially the 1070 and 1080 cards.

BATTERY

Battery is important but limited. To legally fly on an airplane with a battery the limit for a laptop is just under 100 watts/hour, so this is the upper limit of what a battery can be. Generally the bigger the battery the longer it lasts, but the more battery sucking features you put in there (GPU, Processor, 4K or high refresh rate display, etc) the more draw they put on the battery.

SIZE/WEIGHT/THERMALS

Laptops are generally available in 13”, 14”, 15” and 17” models, with the unit being measured diagonally across the screen. Weight is pretty self explanatory… and with modern laptops, anything over 5lbs is started to get a bit heavy and you will notice it in a backpack if you are doing a fair bit of traveling. The final challenge designers face is thermals… that is, keeping everything cool. With modern hardware if it gets to hot it slows down or throttles. This is why machines like the new i9 MacBooks or XPS 15 machines from DELL don’t live up to the hardware they put into them. Doesn’t make sense to put an i9 and a 2080 GPU into a machine if they get throttled to speeds slower than competing hardware with lesser specs. Thermals are important and sadly harder to determine without reading user reviews.

DISPLAY

There are many different things to consider, the type of panel (Matte,TN, IPS, OLED), the resolution 1080p vs 4K and the refresh rate ( 60hz, 120 +). The panel determines how colors and blacks will look, as well as how glossy the display will be in daylight. A lot of it comes down to personal opinion. Refresh rate is important if you are interested in real-time games and want your game to be as responsive as possible. That said, you need to be able to push framerates to match the refresh rate to take advantage of it. There is a hybrid approach with monitors enabling a variable refresh rate called GSync and FreeSync. Personally I would go for a 4K/60hz display but I don’t do a lot of twitch gaming.

Recommendations

The following is a list of game dev suitable laptops from the major providers at a variety of price points.  If you purchase through our provided links on Amazon, GFS makes a small commission (and thank you!)

Acer Helios 300

For around $1,000 you can get a 1660 GPU with a 6 core Intel CPU, 16GB of RAM and more.  There are a few dozen specs available in this range to fit your need.  Weighs in at 5lbs with a reported 6-hour battery life (which is optimistic…).  A classic entry level line with good gaming credentials.

 image

Acer Triton 500

A step up in both price and power from the Helios, the Triton line contains a 2070 Max-Q GPU and a 144hz display for a price range of 1600 – 2000 (1600 for a 2060 equipped model).  It is also lighter, thinner and supports a longer lasting battery than the Helios.

 image

 image

Asus Strix G

The Strix G is available in several different configurations, with the 1650 equipped model starting around the 1K USD mark.  It has impressive internals in a 5.2lb form factor and impressively comes with a 1GB SSD drive.  It is sadly let down by poor real-world battery life.

 image

Asus ROG Zephyrus

The Zephyrus line is a series of high-end laptops, with up to a 2080 card, 6 core Intel GPU all in a 0.6” slim design, weighting about 4.5lbs.  The keyboard is at the front of the case however, something that can take some getting used to. 

 image

 image

Dell XPS 15

The Dell XPS line are stunning, thin and of a build quality.  You pay a premium, for a XPS with a 1650 GPU costing almost $1700.  I have trouble recommending this years XPS as the case design seems to struggle with heat, making thermal throttling a common complaint, meaning you wont get full use of the hardware you’ve paid for.

 image

Alienware M15

Dell has owned Alienware for a number of years, but only recently have they started releasing laptops that are actually portable, instead of gigantic desktop replacements.  The M15 model is now 4.75 lbs and 0.8” thick, much easier to throw in a backpack.  Available in a number of configs, this M15 has a 2060 GPU, i7-9750 CPU, 16GB of RAM, 512GB SSD for $1850. 

 image

Dell G5

The G5 is Dell’s dedicated gamer series of laptops.  You will get better thermal performance at a lower price than the XPS line.  The trade-off is louder fans, a nearly 1” thick laptop and close to 6lbs, making it one of the heavier laptops on this list.  You can however get a 1650 GPU, 6 core Intel processor, 16GB of RAM, great battery life and an SSD for just over $1100, making it a solid value if you can handle the size.

 image

 image

Gigabyte Aero 15

A powerhouse laptop with a powerhouse pricetag.  Available with up to a 2080 GPU, i9 9980 CPU one of the largest batteries you can legally put in a laptop, all in a 0.75” thick 4.5lb design.  There are a huge number of configurations available in this highly portable long lasting laptop, including a rare OLED screen option.

 image

Gigabyte AORUS

Much of the same power as the Aero 15, in a big, cheaper package, that describes the AORUS.   At 5.3lbs and nearly 1” thick, it’s certainly bigger and heavier.  It also is about 50% cheaper!  Unfortunately you don’t also get the monster battery of the more expensive Aero.  Available in a range of GPUs from the 1650 to the 2070.

 image

 image

HP Omen

The HP Omen line is HP’s gaming series and is available in a wide range of configurations for prices ranging from $1100 to $2000.  Battery life is reviewed as fair, chassis is 5.2lbs and 0.83” thick.  In many ways you can look at the Omen line as incredibly average.

 image

 image

Lenovo Legion

One of the best values on the list.  Coming in at around $1000 USD with a 1650 GPU, 6 core i7-9750 CPU, 512GB SSD in a decent package.  The only major downside is the anemic 45 WHr battery and 5.2lb weight.

 image

 image

A refresh of the Surface lineup is expected in the next few weeks.  Microsoft’s machines are unique and of a high build quality, but only a few offer a GPU.  Rumour has it the next generation will be AMD powered.

 image

MSI GS65 Stealth

MSI have far too many brands, but the good news is almost all models are capable game development laptops, even though choosing the right version can be tricky.  My personal choice is a the Stealth GS line, which is a good combination of power and portability and a reasonable price.

 image

 image

Razer Blade

Razer started the thin and light high-end laptop craze and they continue to be one of the best… and most expensive.  They have however split their line into 2 different products, the Blade and the Advanced.  The Blade is limited to a 2060 GPU but also supports a lower price tag.  Both machines sport the same processor and RAM, although oddly this model has better storage options.  This model is 4.6lbs and 0.78” thick.

 image

Razer Blade Advanced

The Razer Blade advanced is slightly thinner and heavier than the Blade.  It also ships with your choice of a 2070 or 2080 GPU and more display options, including a 4K display.  Plus, it’s got a hefty price tag attached.  This model is 4.83lbs and 0.7” thick.

 image

Razer Blade Stealth

The Razer Blade stealth is the only ultra book with a GPU.  If you are looking for a 13” laptop with an all-day battery, but a decent GPU, the Stealth is a one of a kind machine.  Unfortunately, the version linked here is last years MX150 based model, as the newly announced 1650 version has not shipped yet. 

 image

Too Rich For My Blood

I wont lie, this generation is expensive and in many cases isn’t a huge upgrade on the previous generation. If you find the above machines too expensive but need to purchase a machine, I would highly recommend looking for a model from the previous year on clearance. If you aren’t interested in raytracing, you can easily get by with a laptop from the previous generation. The 1070 and 1080 GPUs are plenty fast and capable of handling raytracing and most AAA games at high settings, while the CPU is rarely a bottleneck, so a last generation higher end i5 or i7 CPU should be more than enough.

Personally, I am skipping this generation and will wait till next year when the second generation of RTX hardware is released at which point RTX will be more prevalent (or a fading fad). If I didn’t already have a decent laptop however, I would personally pick up the Razer Blade Stealth with a 1650 GPU. Small form factor, long battery life, quality build and an OK (but unmatched in the 13” form factor) GPU is a hard to beat combination.

Art Design General Programming


Posted on Leave a comment

SHADERed Free GLSL/HLSL Shader Editor

Released a few weeks back, SHADERed is a free and open source editing environment for developing shaders, both HLSL and GLSL.  SHADERed enables you to create shaders on the fly with a real-time view of the results.  Currently it is Windows only, but the code is currently being ported from D3D to OpenG+SDL so this could change in the future.

Features of SHADERed include:

  • instantly see changes
  • vertex, pixel and geometry shaders
  • render states
  • audio file support
  • load obj 3d model files
  • load your own textures into shaders
  • render results to render texture (or screen)
  • create and edit your own input variables
  • shader statistics
  • code editor with compilation and error reporting
  • custom themes and templates

SHADERed is available on Github here.  The code is available under the liberal MIT license.  Compiled binaries for Windows are available here.  Check the video below to see SHADERed in action.

Design Programming


Posted on Leave a comment

Humble Programming Book Bundle By Packt

Humble are currently running a new bundle absolutely loaded with programming books and videos by Packt Press.  The Humble Book Bundle: Programming by Packt.  The bundle includes books on C++, C#, Java, JavaScript and Go programming.

As always, Humble Bundles are split into different tiers.  The tiers of this bundle are:

1$

  • Understanding Software
  • C# 7 and .NET Core Cookbook
  • C++ Programming by Example
  • Go Cookbook
  • Learning JavaScript Data Structures and Algorithms

8$

  • Modern C++ Programming Cookbook
  • Advanced Go Programming in 7 Days (VIDEO)
  • Java 11 Cookbook
  • Modern JavaScript From the Beginning (VIDEO)
  • Python Programming Blueprints
  • Functional Python Programming
  • Python 3 Object-Oriented Programming

15$

  • Software Architect’s Handbook
  • Learning C# 8 and .NET Core 3.0 (VIDEO)
  • C++ High Performance
  • The Modern C++ Challenge
  • Mastering Go
  • Java 11 in 7 Days
  • Learning Java By Building Android Games
  • Hands-On Object Oriented Programming with Java 11 (VIDEO)
  • Learn Java 12 Programming
  • Python for Beginners (VIDEO)
  • Clean Code in Python
  • Expert Python Programming
  • C# 7.1 and .NET Core 2.0 – Modern Cross Platform Development

Purchasing using this link give you the opportunity to support this site, which if you do, thank you very much!

GameDev News Programming


Posted on Leave a comment

nCine 2D Open Source Game Engine

The nCine Engine is a C++ powered, open source MIT licensed 2D game engine that has been under development for over 7 years.  It is a lower level code based framework, although it does support Lua scripting out of the box.  The engine also integrates the ImGui framework making creating tools and UIs a breeze.  The nCine engine works on Windows, Linux, Mac and Android.

Highlighted features include:

  • ImGui debug overlay and profilers
  • Lua integration for scripting
  • OPenGL 3.3/OpenGL ES 3.0
  • Spritesheet based animated sprites
  • Scengraph based transformations
  • Particle simulation with affectors
  • Sound and music playback
  • Text rendering with kerning
  • Support for multiple texture formats
  • Profiler graphs and statistics
  • Works on multiple platforms
  • Template containers and algorithms
  • Fully C++11 compliant codebase
  • High precision monotonic timers
  • Atomic counters
  • Thread pool creation, synchronization and affinity assignment
  • Basic math lbrary for vectors, 4×4 matrices and quaternions
  • Logging system with multiple levels and console or file output
  • GLFW 3 or SDL 2 for window and input on PC
  • Joystick support with hot swap and gamepad mappings
  • Android assets support
  • Google Test based unit tests with coverage checked with Gcovr
  • Microbenchmarked with the Google Benchmark support library
  • Doxygen based documentation with Graphviz class diagrams
  • Periodically checked with Cppcheck and Valgrind
  • Periodically linted with clang-format (previously with Artistic Style and Uncrustify)
  • Instrumentation for the Tracy frame profiler

With so many game engines on the market, you may be wondering… why another one?  Well the author explains exactly that right here.  The cCine project is hosted on GitHub and provides a Pong demo to get you started, implemented in both C++ and Lua.

GameDev News Programming


Posted on Leave a comment

Codeless/Visual Scripting Game Engines

No-code or codeless systems are becoming more and more common among game engines and they offer a few benefits. Using a visual programming language enables non-programmers to interact with the code in a more tactile way, while the code itself tends to be a bit more self documenting then most scripting or programming languages. Make no mistake, you are still programming, you just aren’t typing in lines of code in a text editor, instead you script logic by defining events and properties or by connecting nodes together in a graph.

If you are interested in game engines with traditional scripting options, be sure to check out our guides to C/C++, C#, Haxe, Lua, JavaScript and Python game engines.

In this article we are going to look at the majority of codeless options among modern game engines, both 2D and 3D.

3D Game Engines

Armory 3D

Built on top of the Blender open source 3D application, this game engine has a node based option for game development, in addition to a Haxe based API.  Learn more here.

clip_image002

BuildBox

BuildBox is a commercial game engine sold on a subscription basis that uses an entirely visual based node programming system.  Aimed at making games without requiring any programming knowledge.

clip_image004

CryEngine

CryEngine is a AAA calibre game engine with a visual programming language named Schematyc.  It is designed to enable programmers to expose portions of their game logic to designers.  Writing a full game in Schematyc is not really the purpose.

clip_image010

CopperCube 6

CopperCube 6 recently received a free version.  It is designed to work by attaching and configuring actions and behaviors to game objects.  You can expend the functionality in JavaScript, but creating a game entirely without coding is quite possible.

Learn more here.

clip_image008

Godot

The Godot game engine has a Visual Scripting Language, with much of the same functionality of GDScript.  You can mix and match between the two scripting styles in the same game.  Honestly though, it’s not really that useful yet.

Learn more here.

clip_image014

Unity

Unity doesn’t actually support Visual Scripting, although a Visual Scripting language is in the works for a 2019 release.  In the meanwhile there are several addons adding a Visual programming language such as Bolt.

clip_image022

Unreal Engine

Unreal has perhaps the most robust visual programming language in the form of Blueprint, that can be used for everything C++ can, beyond changing the engine code itself.  It is also perhaps the most complicated visual programming language on this list.

clip_image024

2D Game Engines

Clickteam Fusion 2.5

Perhaps most famous for making the 5 Nights series of games, this game engine use a tree/spreadsheet hybrid approach.

Learn more here.

clip_image006

Construct 3

Construct 3 is a commercial, subscription based game engine that runs entirely in the browser.  Uses an event sheet programming model very similar to GDevelop and ClickTeam Fusion.

Learn more here.

VSConstruct3

Stencyl

Stencyl is a game engine using a lego style brick approach to programming.  There is a free version available and the visual programming language ultimately generates Haxe code, which you can also code with.

Learn more here.

clip_image018

Scratch

Scratch is an MIT project aimed at teach programming concepts to kids.  It, like Stencyl, uses a lego brick style programming interface.

Learn more here.

clip_image020

GDevelop

GDevelop is a free and open source game engine that uses a programming model based on behaviors and events.

Learn more here.

clip_image012

GameMaker Studio 2

YoYoGame’s GMS2 has been around for decades and is a complete game editing environment with two programming options.  A visual drag and drop programming system, and their own GM scripting language.

Learn more here.

clip_image028

GameSalad

GameSalad is focused at students and non-programmers and is programmed using a behavior based logic system.  I have virtually no experience with this game engine.

clip_image026

Pixel Game Maker MV

Pixel GameMaker MV is a complete commercial game making package from the same publisher as RPGMaker.  It uses a visual programming system and property based programming model.  It’s also pretty awful, IMHO.

Learn more here.

clip_image016   

Design Programming


Posted on Leave a comment

ShaderFrog Shader Editor

If you are looking for a tool to quickly create complex shaders by mixing and matching existing shaders, ShaderFrog might be the perfect tool for you!  Running entirely in your browser, ShaderFrog can be used to create WebGL shaders in two ways.  First you can create a shader by connecting together existing shaders, to create a new composite shader.  Shaders can even be imported from ShaderToy or the GLSL Sandbox.

image

In addition to the composition based approach, there is also a full blown GLSL text editor with automatic compilation/error reporting, syntax highlighting and more.  Once you are happy with your created shader, you can save it, share it, or export it to iOS, Unity or Three.js.

Check out ShaderFrog in action in the video below.

Programming Design Art


Posted on Leave a comment

What To Expect in Godot 3.2

Several weeks ago, Godot 3.1 finally shipped after a year of development.  Since then, several details and hints about what are coming in the 3.1 release have become available.  This post is gathering all of those details together in a single place.

There have been a few posts on the Godot website detailing 3.1 features:

In addition to these announced features, several more have been discussed on Twitter.

image

image

image

image

Now what’s not happening in Godot 3.2:

image

Godot 4.0 is a release much further down the road and will include the Vulkan renderer and other improvements.  For details on the 4.0 release check out this previous post.

Programming General


Posted on Leave a comment

New Godot 3.1 Tutorial Series! Creating a Complete 2D Game Step by Step

We just published a brand new 18 part text tutorial series over on DevGa.me, Getting Started with Godot Step by Step Tutorial Series.  This tutorial walks you through theEBookCoverA4Format entire game creation process using Godot 3.1, from creating your initial project, to publishing your game with details step by step instructions and screen shots.  Even better it’s got professional quality art assets from Game Developer Studios and is completely open source!

The tutorial consist of:

Getting Started with Godot

Setup and Project Creation

Creating your Title Screen

Playing Background Music

Global Data via Autorun

Creating a Simple UI

Creating the Main Game Scene

Creating Parallax Clouds

Creating the Player

Handling Input

Add a Scene Animation

Creating Bullets

Creating the Enemies

Configuring the Collisions

Populating the Game World

Adding Shooting to the Game

Making Things Explode

The Final Code

Building your Game for Windows

If you need more detailed information on any subject we cover, be sure to check our existing Godot 3 Tutorial series, that goes into much more technical detail.  There will be a step by step video version available shortly.  There is also a 70pg PDF version of this tutorial available for Patreons.

Programming Art Design


Posted on Leave a comment

SKIP Programming Language Released By Facebook

SKIP, previously known as Reflex, is a general purpose programming language developed as a research project at Facebook over the last 3 years.  Facebook have finished development and authorized the language lead developer to release the project as open source.  SKIP is available on Github under the MIT source license.

The leader developer made the following Tweet announcing the release today:

image

You can learn more about the language at http://skiplang.com/.  The language can be downloaded as a Docker image, with full installation instructions available here.  There is also a web based playground application for trying out SKIP on the website.  SKIP is described as:

Skip is a general-purpose programming language that tracks side effects to provide caching with reactive invalidation, ergonomic and safe parallelism, and efficient garbage collection. Skip is statically typed and ahead-of-time compiled using LLVM to produce highly optimized executables.

[embedded content]

Programming News