Installing Ubuntu on a x86 tablet – Yay or [segfault/panic/….. [failed]

As I mentioned on twitter a few times I got my hands on a cheap Windows 10 tablet by Vonino. I previously had a Vonino Tablet running Android and it really did pack a good bang for it’s buck giving me a 1080p screen, 3G connection and HDMI output. When I saw that the iMart QSL tablet was a fully (debatable) x86 tablet with HDMI out, 4G and a full USB Port I just had to get it. It’s a cheap tablet though (round 200$/€) and you can see that in the build quality (the back almost seems 3D printed with a cheap printer) and the screen isn’t quite so good. However it’s windows 10 performance was pretty decent (used it to play/test/develop a few Unity 3D games I have on the backburner and they were flawless). So I naturally decided to scrap windows 10, throw out the warranty and install Ubuntu on it because I REALLY HATE NICE THINGS!

Prerequisites
  • Backup your Windows Install and mark down your Windows 8/8.1/10 serial code! I didn’t so short of buying a new license, I have no way to install Win10 again! Clever me…
  • Get a 8gb+ usb to burn Ubuntu on it
  • Have a usb hub ready to plug in! You will need a mouse and keyboard to plug in, besides the usb stick with the OS on it.
  • Optionally but highly recommended, get yourself a wifi adaptor module that works well with Linux! The onboard Wifi card is guaranteed not to work!
  • A (virtual)notebook to write down your partitions, kernel versions and what else might be needed

Continue reading

Advertisements

1/2 * 2015: Indie stuff, programming and my day job

Spoiler warning: I s#@k at typing on a virtual keyboard.

Its been almost half a year since the last blog post. How the hell i still have upwards of 100 daily visitors is beyond me (and the scope of this post). I’m currently on a train waiting for the last 2 hours of my 6h ride to end. So i guess it’s as good of a time as any to update my blog.

What have i been doing since GlobalGameJam?
Slacking off from my independent development work to put it mindly. Some of you know that i passed along Mutant Gangland to @Thomas and that i hanged up on MOAI and all my other projects. Part of the reason is that i needed to free up some time now that i spend most of it in an office (surounded by cool kats and bunnies). Working @Mobility-Games has been fun and i guess it is as close as I can get to the indie dream without having to rely on noodles to satiate my hunger. Steady pay (and physical colleagues) are a godsend, especially when some days we get to play with real world 3D pixels:

image

Been a fun ride till now and i can’t wait to see what’s waiting around the next corner. (Mobility) work stuff aside I’ve been a pretty bad designer over the past few months. I’m pretty sure i broke most gamedev rules by rolling my own engine (MOAI i love you but i want to learn more), porting the engine to the NintendoDS (not the new 3DS),  embedding Lua and using an archaic openGL version (glBegin/glEnd) + a half-arsed port of it on android. Why? So i can keep doing my own thing without having to commit to releasing and finishing a game, yet still improve a bit of my programming knowledge. Its been wonderful, yet a bit frustrating, working for the DS. Its the first time i ever spent hours knee deep in refference manuals, doing math to try and ballance memory consumption and learning to stay away from high res images with a high bpp (bit per pixel). Ogh and i wrote this little snippet that got half of my followers laughing their way to the unfollow button.

Now if only i could code my way into improving my team work and team related abilities. To this day i cannot hold my own  in a game mechanic debate relying on just words to describe the behavior. Sure, i can hack a pretty good protype to back me up but in most cases no one is willing to wait 3h so i can show them what my words fail to represent. This is an area in which i still have a lot todo.

There is one more thing i’d like to say before i end this non-technical, indie-less blog post: keep an eye out on my twitter feed, we’re about to release a TBS/Boardgame prototype mashup that I have worked on with some co-workers.

Love you all o/

Rogue Sweeper – a post Global Game Jam entry release

rogue_sweeper_logo2014 has been a busy year! I moved to a new town, got back in the industry at a local company (Mobility Games) and worked my ars off on getting a good multiplayer version for Mutant Gangland. Now that 2014 came to pass I was left with 365-ish more days to look forward to. Lucky for me  2015 started out in force, as Bucharest held it’s first ever Global Game Jam. And I was there to get a piece of it’s glory!

ggj_all

GGJ2015 took place between 23 and 25th of January. It was cozy, comfy and there was a lot of coffee to go around. After 30+ hours of work I finished a small game that tried to blend a Roguelike with Minesweeper. It got voted as a runner up by the people attending. Fast forward a bit and here we are today, with me releasing the post-jam version of that game, now titled “Rogue Sweeper”. Here’s what I said about the game on itch:

RogueSweeper is a mashup between a roguelike and a minesweeper game. Tap to reveal tiles, monsters, traps or items. Tap (or click) your way to the bottom of the infinite dungeon. How far can you go?


The game has a level scaling system that requires you to manage your XP. Will you buy that health potion and lose your current level or will you risk tapping on that monster?

Stats (Str and Evasion) scale with your level. Note that you can lose your current level by spending XP in the shop. Combat happens by tapping on an enemy. Destroying a monster will award you with food and maybe a free item!


Features:

  • 5 items that can heal, feed, reveal the map and enemies and increase your stats,
  • 8 enemies
  • In-Game shop that allows you to buy items with your XP
  • Generated dungeons with items, monsters and traps
  • No end in sight! Delve deeper and deeper
  • Available for Windows and Android

You can check it out here. It’s available for Linux, Windows and Android for only 1.30€ (equivalent of a beer in Romania).

One month tablet challenge – first few days

Prologue

I moved to Iasi city a bit over two months ago and ever since I got here I saw how different the life style is from Bucharest. Iasi is situated between mountains and hills, with green lush forests and vegetation all around, lots of open space and alot of people biking all over the place. Since I arrived I wanted to take my laptop and explore the city, writing code one coffee shop at a time, but my first experienced ended with me skipping 3-4 shops that didn’t have a plug I could use.

A few months ago I stumbled upon  Henri Beirgius’s blog and noticed an interesting article about doing development on an Android Tablet which peaked my interest. The thought of being able to work from anywhere without a wall-plug nearby coupled with great portability and hardware cost is hard to ignore. Knowing that my old laptop is ready to give up at any moment I had to take a decision and so I ended up ordering a 9.75” Android Tablet and a bluetooth keyboard. And so begins my one month tablet only challenge / experiment.

As for why I would love for this experiment to work out, well here are my primary reasons:

  • to replace my old dying laptop with a more portable solution with a heftier battery life
  • to eliminate downtime’s during my work process (instant-on, full screen windows, no more 5m+ of building the android version every time I want to test on a device)
  • to establish heavier limits than usual on my design and development process in order to be able to create/design something different then my usual projects
    • as a side point, being confined within the limits of an android tablet (in terms of power, screen space, input, performance) should “train” me to optimize my code and design a more touch friendly experience

First 4 days

One of the first things I did once the keyboard arrived was to take a seat on Mobility Game’s comfy couch and access “the cloud”. I’ve already setup my home FTP and SSH server and all that was left was to create a script that would build my project and move it somewhere that I could download it from. About half an hour later I detached my tmux session, closed the lid on the tablet and left to grab something to eat in a diner not far from the office. I was anxious to get there as fast as I could so I could check on the build progress. Being able to close the tablet and not loose any progress that was happening in the background was something new for me. Sure enough once I took a seat at the table and ssh into my server I noticed a tablet_moai.apk file waiting patiently in the /home/zapa/builds folder. I started Quoda and wrote my first “hello world” on the tablet to see if my app was working properly and gleamed with excitement once it did.

The following two days were spent trying to adapt to vim and learning the key shortcuts. The biggest challenges I faced were due to the way Android handles the ESCape key (it minimizes the app that’s currently on screen) and battling with the SHIFT key position on my keyboard (kept pressing it instead of the A key). I’m also using custom vim settings that came with TerminalIDE, something that rendered most of the tutorials obsolete. I ended up using vim for a little while but decided to return to Quoda as a local IDE, while relying on Nano (with some custom .nanorc edits to enable syntax highlighting) for server-side editing (mostly java).

Yesterday however was the first time I did any real development and work on the tablet, after I left the office (’round 6:45 PM). I stopped at a local pub to grab a few beers and prepare a powerpoint presentation for DesignJam. After scribbling down a few ideas and points in writely I opened up Quoda and patched a few bugs in Mutant Gangland’s editor and then pushed the fixes to my ftp server (git integration isn’t complete on my side). I’m still amazed that I can actually get real work done on this thing with little sacrifice. My biggest problem right now is debugging since I do not have access to a console alongside my app. The way I debug at this point is via VNC to check error messages in the console or via a .txt file dump from within the app. It’s not a streamlined experience and so far it’s been the biggest hinder for my productivity. I’m planning to tackle this problem by either adding in my own “console” overlay in which I catch and print errors or b) by rooting my tablet and finding a way to execute apps via “terminal”, though the second part is still something I have yet to research. It’s a bumpy ride overall but with lots of sweets spots, great views and good “fuel consumption”.

Before I left I did one final push to the FTP and set my machine to build. I detached Tmux, packed my tablet and took a long walk home through Iasi alongside a co-worker who gladly payed for the drinks we had. Once home I launched the new build to see if it works and then I hit the sack, letting the tablet charge. I think we both needed the rest :).

The Setup

rapoo

  • A vonino Spirit QS Android Tablet
    • OS: 4.2.1
    • 2 GB Ram
    • 16gb Storage
    • Quad Core
    • 1024 x 768 resolution
  • A Rapoo Ultraslim E6300 Black Keyboard
    • Bluetooth
    • 10m connection distance
    • 1 month of battery power with only a 2h charge
    • 20 cm x 1.27 cm x 8.128 cm ( 8.1 x 0.5 x 3.2 inches for you lovely people on the other side of the ocean)
  • A 5GB monthly (grandfather) data plan from Orange
  • A HAMA tablet cover and stand 108278

Total cost? 246 euros + 25 monthly


 

The Software

  • Local development (on the tablet)
  • Cloud development (on my home server)
    • TerminalIDE: for ssh access to my home computer
      • ssh
      • tmux
      • vim
    • FTP Cafe: to upload/download new builds from my server

Total cost? 10 euros


 

The Process

From what I saw on Bergie’s post he mostly works in the cloud with little offline work, especially since he’s (from my understanding) mostly doing web development. Going for Game Dev complicates things a bit. I could have gone the C/C++ route with the amazing C4Droid (plus it’s SDL bindings) but compilation times would have nullified the experience I’m trying to achieve. So I went back in my comfort zone and built an android app using my Chaurus Framework. The app itself is nothing but a main file that searches for a folder on the /sdcard and includes “game.lua”. From there on it’s free (game), with not many things changing in my workflow. Building and debugging for Android is an entire different beast to tackle. If I want to make changes to my “main app” I have to ssh over to my server, vim my way through the project’s source, build and then download the app via FTP. Luckily wifi is abundant in my country (and all through-out Europe) and, just in case, I can fall back to my 4G data plan.

Total cost? Building MOAI for Android + 0.01c monthly