How powerful are the i.MX 8 CPU and Vivante GPU compared to something a layman would understand?
Also I was curious if you could create and build Unity projects to Linux and have it work on PureOS/Librem5? I tried looking at the documentation and couldn’t figure out how I’d go about making a game rather than an app. Is emulating the OS a good testbed or do I need to wait for the actual phone to test stuff? Would I need to upload all the source code for games I’d want to create along the lines of everything being open? Is anyone already thinking about making games or busy making one for the phone that I could ask questions?
I’d love a push in the right direction as I’m eager to learn and I have some time on my hands. I’m a noob though!
I’m not exactly interested in games, but I’m definitely curious how the “app” development is going to work. I saw some docs from an earlier blog post. But nothing really solid yet. I’m a java programmer so I’d mostly be curious on that stack.
I have no idea what the GPU is capable of but, the CPU is basically identical to that found in a Raspberry Pi 3B+. One of those running Raspbian will be a very good match and in fact will most likely be binary-compatible.
You would develop programs for the librem 5 by writing (using C++ normally) them specifically to handle the touch interface and mobile constraints. This will be done through an exposed API framework. Lastly you would compile for the arm 64 platform.
Pretty standard stuff. Not sure what you are specifically looking for here.
Looking to find out where to begin to start learning haha So Unity engine games built to Linux and adapting them for the phone isn’t something that is possible? What kind of code writing software would you recommend to start learning for producing games then?
Well, I would ask what experience you have with programming to date. Programming a game is no trivial task. Even a simple one like Pong. Given the nature of your questions I’m going to assume you are completely new to the idea.
Programming a game is the end product. It is akin to winning a marathon, or being a star NBA player. Before you can do any of that you need to first learn how to sit up, crawl, walk, run, train, learn, etc.
Triple AAA game titles like Call of Duty, for example, are built on extremely complex and powerful code. The amount of complexity and depth there is akin to rocket science. It is not simple and certainly not something you just pick up.
That said, programming is one of the few things where if you are determined, you can bring yourself there using the internet and A LOT of time.
If you are serious I would pick up a book or two on C++ or the language you prefer. I think if games are what you really want to do, C++ is what you should focus on. Like any language, you need to learn the syntax, data structures, and grammatical application.
A simple duckduckgo search should get you in the right direction.
It looks like Unity can build to its WebGL runtime. I think that’s the closest you will have to making a game with Unity available for the Librem 5.
You don’t need to upload all the source code for a game you make if you don’t want to unless it’s derived from something copylefted.
I’m thinking of making games for the 2-in-one Librem 12 using touch, though I am starting to think I should get the Librem 5 phone instead. My plan is to update libre games to use a touch interface so I can get a feel for how touch controls work.
If you want to make an open source game, maybe this will be helpful:
Animate vector graphics with simple shapes like squares and circles. Almost* any programming language with a drawing library can do that.
Add interactivity to your squares and circles.
Make a simple yet fun interactive vector graphics program. This will eventually be your game. Slowly make this program more complex if you want, but keep it fun.
Replace the circles and squares with sprites. You can use programs like Synfig Studio to make these sprites if you want, or look online for some under a Creative Commons license.
Add sound and music. You can probably find samples online under a Creative Commons license, or you can use a program like Musescore to compose your music and Audacity to make your own sound effects.
I recommend hosting your code and resources on Github.
*One notable exception is PostScript, which is not useful for animation even though it is a language specifically for drawing.
Ah I mess around with C# in the Unity engine so been trying to get better at that. I don’t have any experience with API’s, building with phones, ARMs, and the like so been trying to find more about that.
Would that it be a game you could download onto your phone if you build its WebGL runtime? I thought that was for websites and such?
I don’t mind making it opensource so people can see how bad my code is
I’ve made a two player pong game in the past in Haxe for a university assignment so I understand the gist of creating shapes and messing around with that. I just don’t have experience with API’s or building something from the ground up, Haxe and Unity both had libraries, and for the Librem I’m guessing you have to code a lot of the groundwork for something to run?
Thank you guys for all the replies and answers though!
@Raggelen if this is correct, I would suggest buying a Raspberry Pi 3B+ and playing around with Raspbian. Any game you make for Raspbian can run on the Librem 5. To make it even more similar, try one of these kits.
Sweet! I’m going to see how deep the rabbit hole goes and see if I can work through that treasure trove of information! Thank you for sharing
I’ll see if local electronic stores have the raspberry Pi 3B+ and see if that’s something I want to mess around with. I liked the idea of the librem5 also being the devkit to test on so I might wait till I have that and learn as much as possible until then.
Is C++ then the best language to program in? As it would be faster? I know they all have their own pro’s and cons but I thought I’d ask
Yes, unless I can find a better way to host my code.
I’ve done a little more reading for the Raspberry Pi vs. Librem 5 comparison that I’ve been constantly making over the past several months. Quick summary: identical CPU architecture and speed, Librem 5 has 3x RAM size and ~3x 3D acceleration capabilities; roughly equivalent to a Qualcomm Snapdragon 801 (though with a slightly faster CPU).