Suggest a budget game dev laptop to replace desktop?

Recommended Posts

Something under $750-1000 USD. I don't have a desktop so this is it. But it would also be nice to have something lighter, since I'll be carrying to school often, and will have an external monitor to use at home. New to game dev so not sure what to plan for... what specs are you guys using?

So far, I've looked at these:

Legion Y520 (~$790 USD):

  • i5-7300HQ
  • NVIDIA GeForce GTX 1050Ti
  • 8GB RAM (single, but can upgrade to 32GB max with 2 slots)
  • 15.6" and 2.4lb
  • 1TB 5400RPM HDD, upgradeable
  • (Can fork over $230 more to upgrade to an i7-7700HQ and 1TB 5400RPM + 128GB PCIe SSD........ is it worth it?)

Ideapad 510 (~$880 USD):

  • i7-6500U
  • NVIDIA GeForce 940MX
  • 4GB Soldered + 4GB DIMM (can upgrade to 12GB max in total)
  • 15.6" and 2.2lb
  • 1TB 5400RPM HDD, upgradeable

Ideapad 510s (~$930 USD):

  • i7-6500U
  • AMD Radeon R7 M460
  • 8GB (single, already maxed)
  • 14" and 1.7lb
  • 256 GB SSD, upgradeable

Any thoughts on these? The main quips I have with the Legion Y520 is that the CPU isn't as energy efficient as the Ideapads, and it's also quite heavy. And it's a gaming laptop... I've heard those don't have a very long lifespan? Haven't looked at other brands yet. Any suggestions?

I'll be working on 2D and 3D projects... I'll be using my own art and also using assets. Are these specs an overestimation... should I be looking for less?

Edited by kheqn

Share this post

Link to post
Share on other sites

When we are talking about 3D... what are your expecations?

You can certainly create low poly 3D art on all of these rather weak machines. None of these besides the first has a good low end GPU (and make no mistake, a mobile GTX 1050 Ti is low end, even though up to date and quite usable). The GTX 940 is quite weak and last generation. Certainly usable for casual, 2D or old games. Just don't expect a recent 3D game to run at good framerates on it. Pre Polaris AMD Mobile GPUs -> extremly weak because this architecture was so energy hungry, thus the clocks and shader cores had to be cut down considerably for getting to an acceptable wattage for mobile chips. That AMD card is about 3 generations old already as AMD never kept their mobile cards up to date.


Generally, do you want to be able to game or or do 3D work on the move? If not, maybe you should go for an even weaker, cheaper laptop that is just usable for school, and a cheap DIY Desktop. For 600 Bucks you MIGHT be able to fit in a non-mobile GTX 1060 or RX 570, these cards will run circles around the GPUs in those laptops. Not to mention you will get a much beefier CPU for a good price thanks to AMDs new Ryzen CPUs.

If you try to get a budget laptop for 400$, and spend another 600$ on the parts for a Desktop, you might end up with a lighter, more portable laptop running much longer, and a machine at home that can actually be used to run the latest games and do more than just low poly 3D work.

And yeah, a laptop for 400$ most probably will have a crap screen and keyboard... but so will a "gaming" laptop for under 1000$. Good laptops WITH dGPUs deserving that name start north of 1000$... and good laptops without a dGPU at about 600-700$. You will have to compromise anyway.


I would really think long and hard what you all need on the move, and optimize for that. Gaming laptops are neither as portable nor as long running off the battery as a laptop without a dedicated GPU, all the while most probably cutting the GPU speed in half off the tap, thus really only making sense as a desktop replacement always plugged to the power tap that is more mobile than your average tower PC.

Edited by Gian-Reto

Share this post

Link to post
Share on other sites

I would recommend to search on ebay and get a dell or lenovo second hand notebook with a good keyboard layout and at least a GTX 760M+ i7 and 8 gb ram. Price should be under ~800. This category is totally sufficient for doing game development.

Last tip: Forget about gaming notebooks - especially MSI, this have the worst keyboard layout, worst drivers and worst software ever + tons of bloatware. Even the performance for gaming is not that great... it just looks good on the papers :-(

Share this post

Link to post
Share on other sites

Unless you're planning on making beefy AAA-quality 3D assets (which I assume you aren't), I think a strong 3D card is over-rated.  If you are planning on using Unity or Unreal or something similar with a big, complicated 3D editor application, then you probably want to stay away from real low-end hardware.  Otherwise, most modern GPUs (even low-end ones) are powerful enough for your needs.

I use a Late-2013 MacBookPro for all of my work (I do web and mobile 3D development) and I love it.  It is surprisingly powerful and lightweight.  For whatever reason, Apple computers are generally looked-down upon in game-developer communities, but I would strongly recommend a MacBook as a laptop.

You can probably get a refurb MacBookPro for around $1000.  Or a new MacBookAir for the same price.  I have a MacBookAir at home that I use for freelance/personal work and it works great for most stuff (although, I've never tried running the Unity editor or any heavy-duty 3D games).  It's super-lightweight and portable.  The only downside with the Air is cooling.  It does well most of the time, but a long 8-hour work day involving significant GPU load is going to be a problem.

Share this post

Link to post
Share on other sites
1 hour ago, missionctrl said:

For whatever reason, Apple computers are generally looked-down upon in game-developer communities, but I would strongly recommend a MacBook as a laptop.

Probably because a) Macs are not really among the main gaming platforms and actually a rather small market compared to windows PCs, b) the hardware is rather expensive for the performance on offer, so as long as looks and build quality are not the main concerns, but best price/performance ratio, Macs are not strong contenders, and c) Mac hardware almost never has access to the latest and greatest hardware on offer because of Apples tight controls on their hardware and their certification process... which might not be a big deal to you if you are only looking for a good laptop given laptops never will be powerhouses really benefiting from beefy GPUs and stuff like that, and Apple getting up to date hardware every other year otherwise.


If you don't NEED to develop on Mac because you develop for iPhones (which I believe can be done on Windows machines, but with a little bit more complications), or are just 100% tied to the Apple ecosystem or totally in love with their OS, there is no real reason to pick a Mac over a Windows machine.

You can get the same build quality from windows machines if you pick carefully. At that point the prices are not THAT different to Apple machines anymore. But really, the Surface machines from Microsoft can compete with Apple hardware any day of the week (sadly also on high prices).


Now, with windows you get choice. A ton of choice. Like Microsoft or hate them, they still have a pretty open ecosystem. You an pick from a myriad of budget, workstation or high quality hardware options. You can build your own machine from scratch. Everyone can build software for their OS without Microsoft being involved.

That choice can also be a bad thing. I heard many a user complain about it and praising Macs and Apple in general for their simplicity. Which holds true (as long as you don't deviate from the prescribed path... heaven forbid you ask Apple for support on a 2008 Mac Mini in 2017. They had to patch me through about 4 different support units until somebody could say which MacOS version that machine could still be updated to... and that whole process was only necessary because Apple is not prepared for iCloud customers having switched to Android and Windows... its like they rather not have me as a customer if I don't own the full stack of products they offer).

But again, unless you are not looking for that simplicity, but rather have choice and the option to open your PC and replace a damaged part without worrying that you might lose any chance of ever getting support from your PC manufacturer ever again, Windows PCs might be a better choice. With Linux being on the other end of the simplicity vs. openness scale.


Long story short: Apples Macbooks certainly are good machines, if you are not looking for getting the best price/performance ratio, don't mind MacOS or actually mind switching to Windows or another Linux distro (with MacOs just being a very elaborate windowing system over their own distro), or just need the street creds or the looks that come with an Apple machine.

I wouldn't even REALLY put build quality down on that list, not as long as Apple still insist on using aluminium instead of a stronger metal to cast their laptop casings from. That metal just collects scratches way too easy.

But most of the Macs vs. PC debate comes down to religion, not real facts. Because when we get down to it, both OS are equally capable in about all use cases in the hands of an expierienced user, most important software suites are available for both OSes, and you can find similar quality hardware among the huge crowd of different windows machines on offer.

Edited by Gian-Reto

Share this post

Link to post
Share on other sites

Really well-said Gian-Reto.  Great breakdown.

I feel that Macs' value comes from their convenience - a kind of easy-to-use black box computer (an appliance, as I believe Steve Jobs once called it).  Conversely, PCs are generally more versatile and powerful.  Based on that reasoning, I actually dislike Mac desktop computers and strongly prefer PC desktops.  But for a laptop, where convenience is the main driving factor, I really prefer Mac.

But you bring up a couple other really good points.  Do you want to play games on this machine as well?  If so, then obviously a PC will be better suited.  Also, what platforms are you developing for?  Mac and/or iOS?  Then you will need a Mac.  Windows?  Then you will need a PC.  Android/web/etc?  Then either would work.

Share this post

Link to post
Share on other sites
17 hours ago, missionctrl said:

Do you want to play games on this machine as well?  If so, then obviously a PC will be better suited.

Especially as there are actual "Gaming Laptops" for Windows, while no machine deserving such a (somewhat dubious) moniker is available from apple.


Caveat here is, as said before, that these gaming laptops might have a beefy GPU besides a beefy CPU, but are not really that "portable" thanks to size, weight and power consumption, and that GPU only working at about half power off the power grid.

And of course if modern 3D games are not what your gaming revolves around, "gaming laptops" might be overkill anyway. You don't need more than an iGPU to play 2D games.


Share this post

Link to post
Share on other sites

I'm using an i3 on a desktop and it's fine for Unity and Blender.  I have a gtx950 card.  If you are doing indy game dev, you want to do something that will run on smartphones, so you don't need much power.   Also, if it runs on your machine, it will probably run well on the average user's machine.  The triple AAA games are in another league and you have to be in a large team for that kind of thing.

Edited by fireside7

Share this post

Link to post
Share on other sites
On 6/26/2017 at 0:35 AM, kheqn said:

But it would also be nice to have something lighter, since I'll be carrying to school often

Having done this for years myself, I strongly recommend that you buy something excessively light/portable for school (say, a Chromebook, or if you feel like splurging, a 12" MacBook). Then buy/build a cheap gaming desktop that you don't have to carry around.

The lightweight laptop is fine for coding or running Blender et al, and you have the desktop for playing games or running Unreal/Unity.

You really don't want to be lugging a 17" desktop-replacement to school every day. And even "light" gaming laptops (such as Alienware's 13" model) aren't really all that light.

Share this post

Link to post
Share on other sites

I am using an old laptop that has the 1TB additional HDD. Is it convenient to have additional storage? Yes, but not as much as you think.

I would say the additional HDD is not worth it for an extra $100. If you want to keep large files or backup, an external HDD seems like a better choice.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Forum Statistics

    • Total Topics
    • Total Posts
  • Similar Content

    • By TobyTheRandom
      Which is the best beginner game engine to try for the very first time? and why 
    • By Embassy of Time
      So I seem to have landed a chance to make a brief presentation of my work to some private investor people. I have presented things to technical and creative people before, but never to a bunch of "suits". They already seem a bit interested (or I would never have gotten the chance to present it), but I would love to hear from anyone with experience or just some ideas on how best to do it. What do I focus on? What should I avoid? Flash or statistics? Technology or return on investment? Any advice is gratefully accepted!!
    • By mrpeed
      I wrote Snake in Python 3 using Pygame and was wondering if anyone can do a code review of it? If this is the appropriate fourm to post such a thing?
      Some things to mention:
      1. I realize I could have used a dict in the place of my Segment class, but I decided to go with the class because it looked more clean to me.
      2. I used recursion heavily, though I could have used a list instead. I decided to do it recursively for practice and fun (I don't use recursion often). 
      3. I don't have doc strings for any of my functions.
      4. I probably could have used my get_all_snake_segment_locations function to avoid recursion.
      5. I set fps to 10 to limit the speed of the game. Is this a bad way to do such a thing?
      6. I attached an input manager I created and unit tests for my game for completeness. Though, I'm only asking the actual game to be reviewed, if you want to look at those you can. Also, note the unit tests are not complete yet for several functions I changed.
      7. I really appreciate anyone who takes the time to give me feedback of any kind. This fourm has been a huge help to me and I'm grateful for everyone's  insight!
      import sys import random import itertools import pygame import inputmanager class Segment: def __init__(self, rect, direction=None, parent=None, child=None): self.rect = rect self.direction = direction self.parent = parent self.child = child class Game: def __init__(self): pygame.init() self.fps_clock = pygame.time.Clock() self.fps = 10 self.window_size = (640, 480) self.displaysurf = pygame.display.set_mode(self.window_size) pygame.display.set_caption("Snake") self.cell_size = (32, 32) self.start_location = (320, 224) self.head_segment = Segment(pygame.Rect(self.start_location, self.cell_size)) self.up = "up" self.down = "down" self.left = "left" self.right = "right" = (0, 0, 0) = (0, 255, 0) = (255, 0, 0) self.direction = None self.extender = None self.cell_locations = set( itertools.product( range(0, self.window_size[0], self.cell_size[0]), range(0, self.window_size[1], self.cell_size[1]) ) ) def main(self): while True: self.get_input() self.update() self.render() self.fps_clock.tick(self.fps) def get_input(self): inputmanager.InputManager.get_events() inputmanager.InputManager.check_for_quit_event() inputmanager.InputManager.update_keyboard_key_state() inputmanager.InputManager.get_keyboard_input() def update(self): self.handle_input() self.update_snake_direction(self.head_segment, self.direction) self.move_snake(self.head_segment) if self.extender is None: self.add_extender_to_board() if self.head_segment_collided_with_extender(): self.extend_snake() if self.game_over(): self.refresh() def handle_input(self): if inputmanager.InputManager.quit: self.terminate() if (inputmanager.InputManager.keyboard[pygame.K_UP] == inputmanager.InputManager.pressed and self.direction != self.down): self.direction = self.up elif (inputmanager.InputManager.keyboard[pygame.K_DOWN] == inputmanager.InputManager.pressed and self.direction != self.up): self.direction = self.down elif (inputmanager.InputManager.keyboard[pygame.K_LEFT] == inputmanager.InputManager.pressed and self.direction != self.right): self.direction = self.left elif (inputmanager.InputManager.keyboard[pygame.K_RIGHT] == inputmanager.InputManager.pressed and self.direction != self.left): self.direction = self.right def terminate(self): pygame.quit() sys.exit() def update_snake_direction(self, segment, parent_direction): ###TEST if segment.child is not None: self.update_snake_direction(segment.child, parent_direction) if segment.parent is None: segment.direction = parent_direction else: segment.direction = segment.parent.direction def move_snake(self, segment): self.move_segment(segment) if segment.child is not None: self.move_snake(segment.child) def move_segment(self, segment): if segment.direction == self.up: segment.rect.move_ip(0, -self.cell_size[1]) elif segment.direction == self.down: segment.rect.move_ip(0, self.cell_size[1]) elif segment.direction == self.left: segment.rect.move_ip(-self.cell_size[0], 0) elif segment.direction == self.right: segment.rect.move_ip(self.cell_size[0], 0) def add_extender_to_board(self): snake_segments_locations = set(self.get_all_snake_segment_locations(self.head_segment)) location = random.choice(list(self.cell_locations-snake_segments_locations)) self.extender = pygame.Rect(location, self.cell_size) def get_all_snake_segment_locations(self, segment): yield segment.rect.topleft if segment.child is not None: yield from self.get_all_snake_segment_locations(segment.child) def head_segment_collided_with_extender(self): return self.head_segment.rect.colliderect(self.extender) def extend_snake(self): self.extender = None self.add_segment_to_snake(self.head_segment) def add_segment_to_snake(self, segment): if segment.child is None: if segment.direction == self.up: topleft = (segment.rect.x, segment.rect.y+self.cell_size[1]) elif segment.direction == self.down: topleft = (segment.rect.x, segment.rect.y-self.cell_size[1]) elif segment.direction == self.left: topleft = (segment.rect.x+self.cell_size[0], segment.rect.y) elif segment.direction == self.right: topleft = (segment.rect.x-self.cell_size[0], segment.rect.y) segment.child = Segment( pygame.Rect(topleft, self.cell_size), segment.direction, segment ) else: self.add_segment_to_snake(segment.child) def game_over(self): return any([ self.head_segment_collided_with_self(self.head_segment), self.head_segment_out_of_bounds() ]) def head_segment_collided_with_self(self, segment): if segment.child is not None: if self.head_segment.rect.colliderect(segment.child.rect): return True else: return self.head_segment_collided_with_self(segment.child) return False def head_segment_out_of_bounds(self): if (self.head_segment.rect.x < 0 or self.head_segment.rect.y < 0 or self.head_segment.rect.x >= self.window_size[0] or self.head_segment.rect.y >= self.window_size[1]): return True return False def refresh(self): self.head_segment = Segment(pygame.Rect(self.start_location, self.cell_size)) self.direction = None self.extender = None def render(self): self.displaysurf.fill( self.draw_snake(self.head_segment) if self.extender is not None: self.draw_extender() pygame.display.update() def draw_snake(self, segment): pygame.draw.rect(self.displaysurf,, segment.rect) if segment.child is not None: self.draw_snake(segment.child) def draw_extender(self): pygame.draw.rect(self.displaysurf,, self.extender) if __name__ == "__main__": game = Game() game.main()
    • By AyeRonTarpas
      A friend of mine and I are making a 2D game engine as a learning experience and to hopefully build upon the experience in the long run.

      -What I'm using:
          C++;. Since im learning this language while in college and its one of the popular language to make games with why not.     Visual Studios; Im using a windows so yea.     SDL or GLFW; was thinking about SDL since i do some research on it where it is catching my interest but i hear SDL is a huge package compared to GLFW, so i may do GLFW to start with as learning since i may get overwhelmed with SDL.  
      Knowing what we want in the engine what should our main focus be in terms of learning. File managements, with headers, functions ect. How can i properly manage files with out confusing myself and my friend when sharing code. Alternative to Visual studios: My friend has a mac and cant properly use Vis studios, is there another alternative to it?  
    • By Apokalupsis
      Looking to design a learning game that teaches formal, critical thinking. The demographic would be those who have never taken a critical thinking course or a logic course. But I just don't know what to use to create it. I'm a novice in programming but have the motivation to put in the time to learn.
      Starting the user out slow, focusing on argument form and the nature of arguments, how to identify the issue being discussed, identifying and evaluating value and descriptive assumptions, moving on to fallacies, types of evidence and their relative strengths/weaknesses, etc. Maybe adding sections on types of logic (syllogistic, propositional, predicate, modal.  
      More of a focus on text-based learning and interaction, but with images, animations, maybe video (I don't know).  
      Think of it as a modern and more interactive version of Logicola (it's ok if you don't know what that is).
      So it isn't graphics heavy, definitely not 3D or even 2D platform sort of game. Maybe something similar to the JackBox games on Steam, but not entirely sure at this point.
      Thoughts? What are some good possibilities to use for such a project? I'd like to be able to market it, perhaps on Steam, maybe even to education institutions. 
  • Popular Now