Sizing Down To Pi

Wow, two posts in the same month! Something that this blog hasn't seen in a long time. I hope to continue writing more frequently from now on. I have a lot of days where yeah, I got time, but not enough to get invested in something like level design, modeling or anything that needs hours of attention.

What I wish to write about this evening are my opinions about making video games in this day in age.

To put it bluntly: It's mostly long, tedious, can cost a lot, and most of the time has high expectations.

Now, sometimes like seen with Cuphead, years on working on a project full of passion can really pay off. But have you noticed the last few games that you saw all over the internet wasn't a full, 3D Triple-A product? Games like Minecraft and UnderTale used very simple graphics and did what they wanted to do well. They were both easily accessible games that can run on pretty much any hardware, which I think is a key element of if a game makes or breaks. If people see a video on it, or watches someone play it on a stream, they too can buy and run the game themselves if they wanted to unlike games that need that midrange to high end graphics card, and four to six gigs of ram.

Oh and those games (IDK about the current state on MC) didn't double dip on customers with micro-transactions and loot boxes. Just throwing that out there..

Sure, there are amazing games done with the latest technology. Hellblade: Senua's Sacrifice is a very impressive looking game made by an indie company. (Ninja Theory) But did you see it everywhere? Maybe if you were looking for it, or if Google's analytics system thought you wanna see it, but it wasn't the 'hot topic for the clicks' kind of thing like the past weeks have been with Cuphead.

Right or wrong about that last statement, I still strongly feel the more accessible a title is, the better it'll do. Maybe those games mentioned before had something else that made them splatter everywhere.

For the last few years, I was in the Source boat. Source is well known for running on pretty much anything (although the experience was a variant factor). I was positive no matter what hardware the end user had, they could play my mod; If they had the correspondent game that is.

I got into Leadwerks mostly to be free of licensing and it was the only other thing that thinks CSG tools are still a good thing. Only issue is that Leadwerks uses OpenGL 4.0, and AMD graphics preforms worse than Nivida when it comes to that stuff. And overall, the engine is very GPU reliant. Check the required specs! They require a dual core processor at 2.0ghz which I don't think are even manufactured anymore, 2GB of RAM, and a card that supports DX11/OpenGL 4.0. But, the better the card, the better the results, which for Leadwerks is running a simple scene at 12fps or a scene at 90fps.

This wouldn't be a huge deal if GPU prices weren't so random right now due to cryptocurrencies being hot right now. While I was building my mini itx PC, for fun I decided to check GPU prices on Newegg. For a card like a GTX 750ti was the same price as the entire computer, and even more for newer models. But on Amazon, I found a GTX 1080 for $154 bucks. Also, might I add DDR4 RAM is up there too right now. I payed 34$ for a 4GB stick of RAM. In the end, I stuck with Intel's integrated drivers due to driver's on Linux being the best, and can always add RAM later.

Once I decided to digest everything, I decided that along side work and wrapping up Blue Portals (Yes, that's still happening..) I wanted to get into 2D games that run on very accessible hardware. I started to pick up SDL and did a lot of experimenting with that library. What's nice about it is that it can run on pretty much anything.

Ok, now to start what is accessible hardware? First guess everyone would have is smart phones; Android devices more or less, as they don't force update to have the phone bricked. (Thanks Apple.) If you never sold or traded in your old Android phones, you probably have a draw filled of them like I do. They might be useless to browse the web, or run any newer apps, but if you make software targeted at them, they'll be fine. SDL2 needs Android 3.1 atleast, and we're on like 7 or 8 now. What I liked most about the platform is that it's portable, and the touch screen.

But lets be honest. It's not 2011 anymore, and the mobile market is a sewer of pay to play games, games that you spend more time watching ads than actually playing them, and it's a hard market to compete with. Oh, and I heard you need a license to have apps on the Play store, and I'm not sure how Google will respond if you made you're own store that hosted apk files; haven't looked into it because I couldn't get SDL to compile on it at all. And even if I did, I heard developing for mobile is a pain unless you had a pre-made exporter already set up. If you're using LOVE, players need a LOVE app that just reads lua scripts from what I saw.

I mean, if I really wanted too, I can just make a game using LOVE, but nothing beats C++, and creating your own systems instead of learning someone elses. And I'm more or less more interested now making something from scratch than making a new game right now. I mean, I could at this second boot up Visual Studio on Windows, or CodeBlocks on Linux, load SDL, and start right now. I tried that many times. My main issue with that was that the goal was too broad. I wanted it to be on anything that can run a full OS on it, and you need to worry about some gritty details when it comes to different operating systems. And when it comes to Apple, is it even worth getting a Mac so you can fight with XCode?

But one of my ideas of platforms to support was the Raspberry Pi. For those who don't know, the Raspberry Pi is a computer the size of a credit card that cost $35. For a complete kit, you're looking around $50 on Amazon. People use the Pi for multiple projects, but the most common is retro game emulation machines and media streaming devices as they require the least effort. But people make tablets, and portable gaming machines with them too!

The Pi 3, Model B (Which is very popular) has a quad-core CPU and only one GB of RAM. If games where made with less specs, I'm sure I can do something with that. What's great is that all Pi 3, Model B's are the same out of the box so I can focus on the actual components of the hardware instead of being like "Oh, AMD hates OpenGL, sorry." with my games. A hobby engine for a hobby computer, it seems like it'll work! Best of all, players can chose how to play your games. There are touch screens and cameras you can get for it!

Today at lunch, I ordered mine. I got a touch screen kit for $170 with shipping and tax. Comes with the board, heatsinks, 16GB SD card, power source, a touchscreen and a case to house all of it. From pictures, looks like a tablet that needs to be plugged in; which of course can be modified to run on a battery! Really interested to see how touch it'll work with SDL. I'm hoping it registers as a mouse click. And to be fair, was the huge appeal for me on why I wanted my games on Android.

If Amazon can charge my new card, should be here by the end of the week. I'll be sure to keep you posted on this project. It might be the main focus of this blog from here on out. The Pi will be the focus of the project, but I'll also have a working Linux build as I have to build with makefiles by command line on the Pi.

Perhaps another date, I'll talk about my plans, but I need to eat something and get to bed now.

Comments

  1. I've made games for mobile using LOVE, and while you need the LOVE application to run Lua scripts, that is just for testing purposes. You can generate an apk, even if just for test, using some of the tools they provided. It's a bit of work to set it up, and way too huge of a pain in the ass for iOS (had to work with that too), but after that it's a very simple task. Just felt like mentioning because it was the only framework I used for mobile apps. And I was able to publish on the Play Store and Apple Store, although they're a bit of a headache to deal with (mainly the Apple Store, unsurprisingly).

    ReplyDelete

Post a Comment