FLOSS Game Dev

Enabling Creativity


Leave a comment

So You Want to Buy a New Laptop…

Good! Me too! ๐Ÿ™‚

Below, I’ve written a detailed step-by-step guide towards purchasing your next laptop.

Step. 1 – GPU Support:

Go to NVIDIA’s website and check out their latest GNU/Linux and FreeBSD drivers here. After specifying the graphics card series your future laptop may have, click on the “search” button and see if it’s supported.

A good rule of thumb is to stick with “GTX” class GPUs, otherwise, you may end up with an “Optimus” laptop like I have (I also happen to own a Lenovo Z710 with a GT 745M inside… >_> /facepalm). My machine can now only access the CPU’s integrated graphics card (which happens to be a lowly Intel HD4600).

Getting the “Optimus” environment to play along in GNU/Linux or FreeBSD has been reported to be a pain on numerous Linux/FreeBSD forums. As I’ve just indicated, I myself have been burned on the Linux front.

Step. 2 – Compare Prices:

Right now there’s a low-cost FreeBSD & GNU/Linux driver-compatible GTX-based laptop for under $1000.00 USD on Newegg. It’s a MSI machine, and I’d recommend giving it a look.

Having lots of access to the BIOS is important, which my Optimus Lenovo laptop doesn’t provide. MSI has a reputation for being very gamer-friendly, so I wouldn’t be surprised if it gave that extra bit of freedom to their consumers. Of course, as of this writing, I do not even own a MSI laptop, but if somebody could validate this statement in the meantime, that would be great.

Step. 3 – Purchase the Laptop:

For those on a budget, you can also buy the aforementioned laptop on Amazon. The reason I mention this is because some of you may not have credit cards, or may have to save up in order to purchase something this expensive. If that’s the case, you can buy Amazon pre-paid gift cards and slowly accumulate the balance. Convenient!

Step. 4 – Enjoy Your New Laptop!

๐Ÿ˜€

Keep in mind that these steps are pretty generic, so you don’t have to buy a MSI laptop. I merely used it to illustrate this process. ๐Ÿ™‚

Happy gaming!

ADDENDUM (3-16-2015):

It turns out thatย GNU/Linux may actually work on my new DELL after all… so I’ve removed any comments indicating otherwise. Not sure about FreeBSD, though. : /

Also, I don’t have a preference of NVIDIA over AMD, and I’ve written this article based on the cost and availability of hardware. There are also some GPU performance comparisons you may want to check out on Phoronix, for those of you who want to see the numbers.


Leave a comment

And then there was Audio…

Hello!

I’ve made some more progress with my game engine. I’m currently using OpenAL directly (without ALUT, I might add… >_>), and am trying to create a cross-platform threading interface in order to spawn sounds/music off of the Main Thread. This way it can focus on Drawing instead.

As I’ve begun learning about Windows threads and PThreads (POSIX), I’ve noticed that they both have practically identical interfaces. So, it made me wonder… what’s the point of Windows?

And of course, it hit me. Windows is a reaction to UNIX in the same way that GNU/Linux & FreeBSD are a reaction to UNIX & Windows. I realized that the redundancy served a purpose if it made computers more accessible, which it has.

Even if you’ve got a grudge against Microsoft, you cannot deny that they’ve helped make computers more mainstream. Today’s issues, however, stem from an overabundance of control/monetization (how Microsoft/Apple are acting) in the face of even more-accessible/free alternatives.

So, let me tie this back into a discussion about audio; where the redundancy actually made things less accessible (strangely enough).

At first, I tried using several 3rd-party tools, “CAudio” and “OpenAL Soft”, to name a few. One failed to compile, and the other had a complicated interface. At this point, I decided to simply roll my own wrapper around OpenAL (the implementation of which was far less dense & confusing than when compared to OpenGL, thankfully), and I haven’t looked back. This is why I preach the fundamentals to other computer scientists/software engineers I meet. If you become too reliant upon the work of others, you will eventually encounter an obstacle too daunting for shortcuts.

I implore you to at least make and effort to learn native tools so you can always understand what’s being abstracted, instead of immediately relying upon a 3rd-party solution. More often than not, the problem is something that can be easily overcome if you just do a little bit of homework.

With that said, don’t hesitate to reach out if you’re still trying to learn LMMS, Blender, or GIMP (or any other open-source tools)!

Cheers!

(P.S. I’m currently building my engine so that it will be compatible with Windows, GNU/Linux, & FreeBSD. Expect some articles on how to use FreeBSD in the near-to-distant future.)