Hosting a design talk at UAIC, Ebony Spire Heresy, My Fat Cat and Life Pictures

Small round to what’s been happening:

I released a beta/early access version of Ebony Spire Heresy. It’s a first person old-school roguelike where you can throw objects at enemies and enemies at objects, equip items and get teleported everywhere by pixes throwing potions at you. It’s cool and I’m working on it in my free time. You can get it for free.

 

The guys I work with are also releasing their “Emotional Experience” dubbed Life Pictures. It’s a really cool Unreal powered #WalkingSimulatorGame with #NanoMachinesSon. Looks great. The website and trailer is up. I’m helping them out with some twitter thingies.

 

I got a cat. The internet voted to name him RTFM (Read the Fucking Manual) – Arty for short. He’s fat now and I’m shamming him on twitter.

 

I’ve been invited to host a talk at “Alexandru Ioan Cuza University of Iasi“. The subject is taking a step back and imposing limitations to shape the design of your game. Themes range from small screen size, to limited input methods or weird/quirky programming languages. It’s happening next Thursday so if you’re in Iasi, drop by and say hi. We’ll get beers aftewards! Event is here (Facebook).
This weekend I’m off to a wedding in Suceava so no ES:Heresy builds will be mailed to you guys. Might upload some code updates to it’s Github so you can pull from there to get the latest changes. Still highly experimental.

That’s about it! I’ll get the slides from my talk uploaded after the presentation.

Kicking off 2016 with a 24h+ game development live stream

2015 has gone by and here I am engaged in a head on, eyes locked, grade a+ premium organic non-gmo, gluten free royal battle with the remaining 363 days of this year! So I decided to celebrate it by opening up my twitch stream to the public after about 1.8 years of inactivity! What’s on the menu? Unity 3D, Mono Develop (and/or sublime), royalty free music and an attempt to design and develop a Tower Defense game with an Adaptive Path for mobile devices! Since the new office is still under development (get it? I’ll show myself out) I’ll have to do some creative work from home. Asked our lovely producer for permission to stream some development and he said ok (give him a follow, just in case I screw something up)!

Those that follow me on twitter know I opened up a reddit post some time ago asking about people’s expectation from a premium mobile game. Those that don’t, read that post and then come join, bitch and yell at me via twitch.tv’s wonderful chat system. If you are interested you can follow the original post here on /r/androidgaming! Point is this may-or-may-not be one of the games I plan on making using and following the guidelines extracted from the /r/AndroidGaming Q&A session! If you were active in that thread let me know! Rest of you guys? I accept back-seat deving :)!

DETAILS:

Stream Time: Hopefully ~24hs since this post goes up! Give or take depending when the new office is done! I’ll take quite allot of breaks, but I’ll do my best to be in front of you guys constantly!

Twitch Channel: Zapaman – clicky here

Twitter Feed: @zapakitul

2015 – The year I learned to say NO

Last year I skipped the looking back on 201X and plans for 201X+1 post. Didn’t feel like I had to! New year, new city, new people and new projects! With so many unknown variables it would have been a fool’s errand to try and plan ahead. So I went with the flow, winged it and it was a sweet ride, most of the time. But now I’m sitting here reading what Noppy did through out the year and the dude has it figured out (the link is on his twitter feed with the password).

To be honest I didn’t feel like writing a review post this year. Not since October anyway! My coach keeps telling me to keep it light and positive and never blab about negatives. I agree with him. So here’s how this year went and what’s going to change after the clock strikes 00:01 on 1st of January.

montserratI travelled! I travelled a lot this year! Saw Switzerland (Zurich), Germany (Frankfurt), Spain (Barcelona, Esparaguerra) and Andorra. Travelled to Cluj and talked about attending game jams and finishing something. Meet some lovely people and rekindled old friendships. Toasted beers at the base of the Montserrat, had coffee with people from twitter in Zurich and took a cab ride to a destination about 100 KM away.

We beat cancer. TWICE! You guys who follow me on twitter know why I ran away from Bucharest and Buzau and dropped the indie scene. Well, it turned out there was a god-damn round two but we ended up victorious – again! That’s why I dropped MGL and passed everything to Thomas. Couldn’t deal with it. Looking at what Thomy is doing right now I say it was the right call. So that worked out!

ggj_allI took part in the Global Game Jam and got 2nd place with Roguesweeper. Got a letter in the mail from someone who was inspired by that game to roll his own. Received an award for the game with the Best Design at work and released my first android game developed during a 1 month game jam.

Broke a couple of hearts this year and learned to walk away from things I don’t like. Etched the words “Never try to keep someone who doesn’t want to keep you” in my brain. Mourned the loss of my friends to a Nightclub Fire in Bucharest and dropped my long hair for good. Bought a 45” tv and invested in technology like never before. Spent a few hundred bucks on a HOTAS (Hands of Stick and Throttle for Elite Dangerous) and got my hands dirty with VR. Installed SteamOS and never looked back to Windows for gaming. Donated blood twice this year without knowing the recipients. Got my house flooded and two laptops stolen. Got them back and changed the pipes.

I dropped MOAI and moved over to Unity. Learned to rely on team mates a bit more. Wrote a design document before any line of code. Said thanks and gave credit when it was due! Bought the new Disturbed album and listened to it every night. Stopped using city transport and opted to walk towards all my destinations (while in the city).

italySo what’s next for 2016? It’s funny, I have no idea. There’s a big fork in the road round the end of January so I’ll wait and see before making any plans. What I know for sure is that I want to buy a bike. Been eyeing a Harley-Davidson Iron 883 for a while now. And I also want to visit Italy. If the bike thing works out, I’m pretty sure I can shoot two stones with one bird nest! Ended up buying a pillow with these two goals in sight. It’s quirky but so am I!

It’s been a good year, most of it anyway. Since October my daily life was marked by tragedies and disasters. Went to more funerals than weddings this year.  I feel guilty for a couple of things. But I’m looking forward to 2016. I spent this last week together with friends from the Highschool / College era. They seem to still love me. Can’t blame ’em. A fresh start is right around the corner and more challenges await there. It feels like facing the Elite 4 for the first time all over again! Hopefully, no bad days will cross my horizon again! As for a new year’s resolution? For now, let’s go with “I’ll get better at bowling”! Seems reasonable 🙂

 

 

 

 

SteamOS 2.55 Beta and Bound by Flame

steamos-article-bannerValve released an update for SteamOS available from the brewmaster-beta repository! Happy to confirm that the BETA update fixed most, if not all, of the issue I had with the previous 2.49 release. No more screen lockups,freezes and client crashes on the Brix Pro with Iris 5200 and, as a small bonus, the game list from the STORE finally only totally shows SteamOS games by default! In order to celebrate the update I went ahead and bought Bound by Flame, a cute looking RPG with decent requirements and full controller support. Ogh my did I get myself in a world of pain trying to play through it!

10I initially heard about Bound by Flame from Total Biscuit’s coverage of the game from way back in May 2014 and later on from Liam’s article on the game up on GamingOnLinux! I suggest checking out the article for a more in-depth look on the game. As far as the game goes, it’s a good port in terms of features, graphics, usability and control. Works well bundled with Steam Big Picture’s Mode and, as opposed to Liam’s initial experience the 360’s gamepad works right off the bat! Only downside? Performance is terrible on my Brix Pro. How terrible? Let’s say that I cannot hit 30 FPS even with all the settings set to low ( ALL OF THEM)! The game’s requirement are extremely low (Nvidia GT 8800, a card older than my drinking problems) and yet I cannot seem to hit even the bare minimum FPS for enjoyment. Since I already did a fresh install (+update to beta 2.55) I decided I can stomach another ~120 minutes of downtime so I grabbed my Win8.1 disk and installed it on the Brix! 45-50 minutes of painful restarts later (Windows install? Restart! Intel Graphics? Reboott! Audio drivers? Downtime! Wifi card? You bet!) and ~10 minutes more to download the game and I’m sitting here hitting 60 FPS without many problems on medium settings and Antia Aliasing enabled on 1080! What the loving *fluff-ball* Intel? I went ahead and enabled Debian Jessy’s experimental repository and updated xserver-xorg-video-intel to the latest version available and no changes were noticed. As of now the Driver Version that comes wth SteamOS is 3.0 Mesa 10.6.3 and I haven’t tried (nor have any knowledge on how) to upgrade to the latest Mesa Version 11.0.6. Might be a while before that hits my setup.

So if you are running SteamOS on a Brix Pro might want to hold back on Bound By Flame until better drivers hit our neck of the woods. If you can stomach 20-ish FPS then by all means go ahead and grab it! I have 97 minutes spent on the game even under those poor conditions and I like it! Might grind my way through it step by step just to experience it a bit more.

9And yes, I installed SteamOS again after trying the game on Windows 8.1.. The OS is meant for my living room even though, so far, most games I can enjoy decently are indie games or older titles! Hopefully things will pick up and I’ll be here to report on the improvements! Till next time o7!

 

Running with SteamOS and Geeking-it out in the living room

steamos-article-banner

This article reflects my opinion on the system, it’s place in (my new) living room and quite a few geek moments sprinkled here and there. For a secondary opinion check out GoL’s coverage of the system here.

I’ve been running SteamOS for the past few months and suffered through the 2.49 update head-to-head with other integrated graphics users! First time I installed SteamOS was in October on my Brix Pro system expecting a console-like experience delivered to my living room. I had the system connected to a 23” AOC Touch Screen display, a sofa moved closer to the desk, the 360 gamepad in hand and a beer at my side! I fancy myself as a GNU/Linux user (been rocking Ubuntu – and a few other Debian flavours – since 2006) so I got by most of the problems SteamOS threw my way without giving ’em too much thought but from a newcomers perspective, at this point in time, SteamOS is far from the console-like experience it promises to deliver. For once not all SteamOS/Linux-ready games RUN out of the box: Mount & Blade Warband and Shadow of Mordor were a pain in the proverbial arse with their missing libraries and launchers that failed to execute.

SteamOS Livng RoomLet’s take a step back and start with the beginning! Installing SteamOS on a new box/custom built “Steam Machine” is easier than with most OS installs nowadays (except for Windows 10, never got to try/install W10). The Installer itself is based on the Debian installer and the process is extremely streamlined. The only possible hurdle might appear if you want to customize the partitions and install it alongside other OS’s. Shouldn’t be too hard but for someone new to this I would recommend going with the default settings if you only plan on using the machine in the living room.

SteamOS GamesAs far as games go I’ve yet to see a System/Console Launch with so many titles available on day one! More than half of my library is playable from the get-go. Sadly my Steam Gamepad still hasn’t arrived and I have no plan on using a keyboard and mouse to game from the couch so my selection of games is limited to a handful! I’ve been surprised to see how well BigPicture Mode scales on my 4K display since I’ve seen a lot of complaints on the the discussion forums. The Interface has one big flaw though: as of the current version 2.49 the shop displays ALL games available on STEAM, even those for Windows. Finding a game for your platform is a nightmare! I don’t get if this is an oversight on valve’s part since the current downloadable Linux Client displays games available for Linux while hiding those that are not. Navigating through the UI is done via keyboard/mouse and/or gamepad.

Team Fortress 2 - 60h gamepadThere are some problems though: my 360 wired gamepad sometimes stops responding causing the UI to freeze and the client to reboot while other times the mouse just does not want to click on the system icons (settings, messages, downloads) on the top of the screen. It’s weird and it’s frustrating but I can live with it. What I can’t live with however is the browser packed with the platform. Valve calls it the “FPS Browser” and I have to give it to them: It does make me want to take it out the back and shoot it. Luckily enough I have a Chromecast plugged into the back of my tv so I can enjoy Youtube/Videos without having to reply on the built-in solution. Still a dedicated youtube app would be appreciated, even if it’s the standard youtube.com/tv offering with controller support added. Maybe Valve will get to it someday though I won’t be holding my breath.

Just no Valve

Now for the ugly parts: If you are running on Integrated Graphics like me (Iris Pro 5200) then you might want to stick with the 1.0 release, dubbed Alchemist. Ever since the 2.49 update for Brewmaster SteamOS is unusable on anything that isn’t nVidia (though some report no problems on a few AMD cards). Problems range from the latest MESA drivers bundled with the update to the Linux kernel. In my case it’s both. The OS refuses to boot if ANY gamepad is plugged in. The Steam client fails on launch and enters an infinite loop of crashing, trying to restart and crashing again. Unplugging the gamepad leads you to a barely usable interface that locks up on you or causes the display to go black as if the system is afraid to disappoint you. Better shutdown rather than let you see that we didn’t fix the platform bug in the store.  I don’t know why this happens but it’s a common issue, at least on Intel GPUs. And it’s mind boggling especially as the first Steam Machine Valve touted is a Brix Pro running Iris Pro 5200. Pretty sure their not lacking in the QA department so I have no idea how this escaped them. At least all Steam Machines available for purchase right now are running nVidia (to my knowledge).

Fail interface SteamOS

Going even further some games do not start altogether. You have to get access to the desktop, open up a terminal and check out why the game fails to start. In some cases it’s due to a missing BINARY for the game, like in “7 days to die”‘s case. Other times it’s due to some missing libraries (or in Mount and Blade Warband’s case – because you have a newer version of the library installed and it can’t find the old one). Again for someone with enough terminal years under his belt this is easy to fix but still requires you to plug in a mouse and keyboard, add in unofficial repositories and scour the web in search of some packages things that DO NOT CONSTITUTE a console-like experience. So let me say this – SteamOS is not a finished product! It’s for early adopters and/or people like me who refuse to buy a console and want to run linux on anything ranging from their toasters up to their tablets.  But it will get better, hopefully. Valve has a huge chance to turn things around in the PC department. It already stirred up the Linux world and brought more games to the platform than ever before! It will take time however and if I were a betting man, I’d place my money on Valve getting it right in the end. Let’s just hope the final fixes and polishes won’t have to come in SteamOS version 3, we all know how Valve’s and 3’s go together.

room

However I like SteamOS. It’s a neat little living-room system that makes the geek in me jump for joy every chance it gets. How many of you guys can SSH into your console and play tetris in the terminal? On another done I’ve been mentioning on twitter that I’m wrapping up my living room. All I’m missing is a raspberry pi zero and a new monitor so I can setup my virtual fireplace. For now that task falls on my old 23” tablet. In the future I’m hoping on using it as a Skype Machine and hang it up on a wall somewhere. Ogh and I also bought some bean bags because why not? Have a great week everyone!

 

 

 

2/2 * 2015: Beastopia, Indie Stuff and Dayjob

There’s a running gag between my twitter followers (and some co-workers/friends) that I’m a sellout for quitting the indie life ( read as “denouncing noodles and instant soup”) in favor of joining the Mobility-Games team in Iasi. But, let me ask you this: does it really count as selling out when you get to work on (this) something of your own choosing and design for  month? Sure, I was paid for it but last i checked the term “indie” meant doing what game you want while having complete control over it’s direction without a publisher pulling the strings behind the scene. The entire time spent on Bestopia was a throwback to 2012 when I was hard at work on MGL/Pimps vs Vampires, a throwback so hard my nose is still bleeding pixels left and right.

logoSo Beastopia, what the fudge is it?
To put it mildly, the brainchild of a designer, coder and a 2D artist. The initial concept was outlined in just two days over  series of debates using the Design Box methodology Talin proposed. A concept that was completely and utterly assassinated over the course of 1 month of development thanks to our “that would be awesome, lets keep it” and “did you document that? No? Think we said it should work like this….” approach. And the approach paid off in the end ( as it usually does!). When we started, the goal was to develop a Turn Based Strategy game with a Board Game influence. By the end of development we kept referring to Beastopia as an RPG… funny how this works :). I guess the initial dream most developers have was trying to creep up on us. I guess we could have called Beastopia a TBSDBGWLRPGI ( Turn Based Strategy Digital Board Game with Lite RPG influences) but that would have been silly; we went with “Beast powered board game RPG” which sounds more catchy.

gameplayNo really, what is Beastopia?
A short game with 3 game levels (boards) in which you assemble a party of 4 characters, fight beastly creatures, pickup and equip items and play card games to pass certain events. It also look like a billion dollars! As a bonus its free (as in beer), with no ads or in-app purchases and it works on any android capable toaster. So yeah, that’s Beastopia in a nut shelliowtu8fNucbN4afvSKK9GXCSIa8msKU5lsYUXE_Lk2NoD4jgMvespCGaHU0MH4tAi81z=h900

How did development go?
I can’t speak for the other two developers but from my perspective it went smooth and, mostly, on schedule. I’m extremely proud we manged to reach all our milestones and goals. And most of you know how hard that is, especially when you pitch 3 different people from different fields that never worked so closely together ( we work as part of a larger team on the company’s flagship title but that is a different shtick). You’d think finishing something on a tight schedule comes easy with so many game jams under my belt, but a 1 month project is really hard. We couldn’t just go with “hack it in – balls -to-the-wall approach” most jammers use. Due to the much larger than you average game jam time span we wanted to end up with a polished product; none of that half-arsed barely stitched together with space-tape lump of features game that 90% of appstore releases consist of.

A proud moment during development was going hands-on with unity and C# for a few days while Andrei, the programmer, was attending UNITE 2015 in Amsterdam. If you ever played MGL before and then tried Beastopia you probably noticed my trademark pathfinding behavior/implementation that relies on distance check to score tiles as opposed to the usual incrementing score approach. Someone should do a side-by-side video comparison on pathfinding from both games.

But in the end I’m extremely proud that I managed to generate some traction (marketing and articles) for the game, which now sits at around 3k downloads and 4+ score from ~200 reviews. I have to thank @Chris for being as lovely and approachable as always, and the guys from /r/android gaming for being so nice and genuinely interested in giving feedback. And of course all you twitter lovelies that keep putting up with all my shenanigans through all this years.

 

Closing words
You know, I’ve been at Mobility for a bit over one year now. Wasn’t sure I’ll make it this long, especially since f2p games aren’t my cup of tea, but it comes to show that if you take a long-haired bearded bastard, throw a bunch of lovable team mates at him and mix in industrial amount of coffee and projects like Beastopia he might just cut his hair and stick in there for the long-run, f2p or not. And all-in-all being indie means following the dream, even if that dream ends up with you working 9-to-6 in an office.

As for Beastopia, no amount of words can explain what it is and means for me. So go ahead and give it a try. It’s free and it wants feedback – heaven’s sake we welcome the opportunity of crashing our mail server with kbTons of feedback from you guys. And if you hate it feel free to call me a sellout on twitter, I’m starting to love it.

Cheers,
Zapa

P.s. Beastopia trailer

 

P.s.s I still s*#k at typing on a touch screen.

 

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/

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


 

 

[Post Mortem]: Copulus – the love making, weight lifting god game

copulus_logo

Copulus is a 2D God Game in which you have to help your subjects populate their little world. In order to achieve this you need to balance their need for social interaction (and copulation) with the need to survive. I decided to try and stream line the “god game” mechanics and let the player focus on only a few tasks, as opposed to regular god games where you have to manage many different needs (housing, hunger, peril, happiness, loyalty, security, etc). In order for your population to survive and expand you only need to make sure they are feed, safe and can interact with each other. I even took this approach a bit further and merged survival/peril with hunger satisfaction. Before I go into the, regular, What went Right, What went Wrong topic I would like to present my approach for this entry:

Limitations breed creativity

Before the theme was announced I already established how far I can stretch things. I know from previous experiences how hard it is to stay on track of the initial design and how many features end up being thrown away in order to finish “something” before the time runs out. So for this edition of Ludumdare, I’d like to say I came prepared. Here are my, self-imposed, limitations:

  • 256×384 resolution (upscaled to 512×768)
  • must involve some kind of an AI
  • must be tile based.

Three rules in total. Three rules that, once the theme was announced, helped me establish a clear goal. For example, the small resolution and tile-based approach helped me establish the art style, level and user interface design. Working on a 256×384 screen I could only fit 8 / 12 tiles (32×32) on the screen, or 16/24 tiles at 16×16 pixels each. The AI requirement weighted in favor of the strategy genre and, it’s subclass, the god game genre.

From here on, I went with the entire map being confined to a single screen (in order to have a good view of your population, and not have to hunt for them everywhere). This also affected my User Interface Design and Experience, since It had to take as little screen space as possible. Little screen space for UI implied having only a handful of buttons during game play which, combined with the god-game thematic, had me limit what tasks the player could focus on. A small amount of tasks for the player to perform required me to streamline the entire “god game” approach and make it as minimalistic as possible (the soul experience as I like to refer to it). You can see how things developed further on.

training_gif

What went right

  • Using a WIKI to plan ahead. Features, classes, how the AI should perform, etc [click here for a screenshot of the wiki].
  • Not stretching further than I can and imposing strict limits.
  • Making fake-screenshots(mockups) before beginning development so I can plan my interaction approach.
  • Using tools and frameworks that I was familiar with.
  • Selecting a limited color palette to work with.
  • The UI only interaction means that I can also port the game to tablets.
  • Using “procedural” generation to save time (from level design) and focus on other areas.
  • Nailed the risk-reward motif due to Wolves acting as a source of food but also damage to the units.

What went wrong

  • My innate lack of knowledge when it comes to composing and/or generating appropriate sound effects.
  • Having to remove the “convergence” scene. After winning a level, the player was supposed to reach a new world with his highest level followers and watch them fight off the inhabitants. I regret removing because it would have had a better tie in with this jam’s theme. Further more, I had a system which allowed the player to revisit worlds that have been previously populated, to see how they are doing.
  • The game’s balance is a bit off. Level progression of your followers vs level progression of the wolves is tipped in favor of your followers for the first few levels. A few wolf summons in and you can only take them on if you have a high level character that survived.
  • Social interactions are only represented by heart animations on individuals, but it’s hard to tell who “copulated” with whom. More so, a death of a birth of an individual is represented by their respective sprite disappearing from the game.
  • Health, hunger and level indicators are way to small and crammed into a unit’s sprite.
  • The tutorial is just a image and does not convey all the information needed.

blood_gore

Conclusion

I feel that with each Ludumdare event I partake in I can quantify my progress as a Designer. My first entry required the player to quit the game in order to restart the level and featured only mechanics but no clear goal (also no Ui of any kind). In my last LD (7DRTS) attempt I finally had a entry with no missing UI options and a clear navigation path. You can see where I’m going with this. But all in all, I’m glad that with each submission I end up acquiring new knowledge. As far as limitations go I believe that it’s better to know what you should not do as opposed to not knowing what to do. Hopefully my next LD submission will blow this one out of the water.

You can play and rate the game here. Linux, Mac and, hopefully, Android coming tonight. I’ve also uploaded it to itch.io and, in the weekend, will release a post-compo version that has sound and the features that were cut off.

Alpha 2 Technical Status Report #1

commanders

I know most of you want to see the latest juicy pixelicious art that Thomas has been doing for the game but guess what? This is a technical report (the first in a series of status reports) and none of that will be featured here! Instead let’s talk on where the game is at this point, what can you do with it and more importantly, what can it do for you? Let’s get right on that shall we:

Changelog:

Additions

  • Commanders-type units have been added in the game
  • Early keyboard-only support for playing the game
  • Improved modding support
  • Unit creation and editing has not been externalized from the code
  • New healthbars for the units to represent exactly how much life they have
  • Added scrollbars and tousch scrolling for some UI elements (buy menu, victory screen)

Removed content:

  • Unit abilities has been removed from the game

Fixes:

  • Random map scroll at the start of the match happens no more
  • Game starts in either fullscreen or window mode, based on the option ticked in the options menu
  • Icons and Effects now position themselves correctly when zoomed in
  • Player can no longer interact with the map/units/buildings during the AI’s turn
  • Exiting the game to the editor now brings back the latest map you were editing
  • OK/Cancel/Save now work in the editor
  • Going from scrolling to Colision+/- now works as intended
  • Fixed startup crash on Linux due to missing 64b binary

Now to go into detail about the changes and additions (I believe fixes are self explanatory).


 

commanding_unitsFirst thing I’ll be covering is the addition of commanders as playable units.

Up till this point commanders (or, as Thomas likes to call ’em, GangBosses) were used only as “profiles” for the player, affecting how much damage a unit will receive/inflict or how much income is generated each turn. From this point on commanders will take a much bigger role in the battle as actual playable units present on the battlefield. At any point in time during a battle a player will only be able to have only one commander present. A commander boosts the stat of his units (albeit less then in the previous version) and has access to abilities. Once killed the stat boosts will be removed. The list of abilities that a commander has access to has not be defined yet but I can give some examples such as:

  • Attacking twice during one turn
  • Doing Area of Effect damage
  • Healing friendly units
  • Capturing building/houses (like scouts)
  • Sacrificing a friendly unit for a damage boost
  • Sacrifice it’s own HP to boost movement / attack for friendly units in range

 

Unit creation and editing has not been externalized from the code.

In alpha 1 if anyone planned to add new units to the game or change their settings they would have had to dive in the code and make changes to: unit_type.lua, buy_menu.lua and leditor.lua. From this point on units are loaded from external CSV files: mutants.csv and robots.csv. they look something like this:

csv_imgIn the said file you can define their stats, their image, abilities, if they can capture buildings, how much they cost, their animation states, their graphics/icons for the buy menu and sound files. Adding a new unit into the game is as simple as adding another entry in the file (example: Joe, Allen, ZapaTard, Crystal, ISN). I believe that this opens up new possibilities for modders and/or people who plan on using the game’s source for their own TBS game (more on this on the end of the post).


Improved modding support.

In the game’s root directory there is a game called MODS. In there you can place your own folder (example: “Advance Wars”). If you copy the contents of the Game folder into your own folder you can start modding the game. Files present in yourModFolder take precedent over files in /Game (if your mod is enabled). What this means is that now you can change the game and distribute your changes without altering the main game. Now, by default when starting the game it will run the native version. To enable a mod you need to edit game.lua and add the mod name on line 3 for the variable Game.modInUse = “yourModNameHere”. If the varaible is set to nil then no mods will be ran. In the future I plan on releasing a launcher for the game which will allow you to select what mods you want to use (amongst settings and other useful options). For those interested in how this is handled code-wise things are pretty simple. All the lua files I want to use are added to a table called includeList. I loop over that table and check to see if any of those files are present in the current enabled mod. If they aren’t the game defaults to those in the /Game folder. Here’s the code:

for i,v in ipairs(includeList) do

    local prePath = “mods.”..Game.modInUse..”.”

    if isModuleAvailable(“”..prePath..””..v..””) == false then
        prePath = “Game.”
       require(“Game.”..v..””)
    else
        require(“”..prePath..””..v..””)    
    end

end


 

New healthbars for the units to represent exactly how much life they have.

In alpha 1 we’ve received complaints regarding the healtbars. Players found that they couldn’t really tell how much health a unit has and how much damage he will take in a battle. Our solution to this problem is this:

healthbars_unitsEach dot on the healthbar represents one point of health. No more dots = 0 health = unit is dead. No more calculations, no more approximations. When you select a unit you will be able to see how much damage it will inflict to units that can be attacked in his range. Can you unit destroy the enemy? The healthbar will reflect that and will display no more dots. Hope this solves some headache’s and makes things go smoothly.


Early keyboard-only support for playing the game

By keyboard support I mean playing the game without the aid of a mouse/touch screen. A cursor/pointer is used to interact with the objects/units and it can be moved using WASD/Arrow Keys. Pressing space selects the unit/building underneath it and/or confirms movements or attack. This can also allow for the addition of gamepad support in the future. Now I say early keyboard support because things are not so peachy. The main problem with it falls down on UI navigation. In order to setup the user interface I’m using MOAIGUI a library for lua and MOAI that handles the creation of windows and ui elements (textboxes, buttons, images, etc), a library that was designed with mouse/finger input in mind. What I’m doing in order to use it via keyboard is to access the ui elements position via code and move a “virtual mouse” over them, basically emulating mouse countrol on the ui. It’s barely functional at this point and currently requires me to setup each window independently. The code is a tad messy but I’m working on it. Hopefully it will be ready in time for the next alpha release.


 

That’s it with the most important changes added into the game. Next I’ll want to cover some other game-related subjects. First of all we’re aiming to release alpha 2 in June (aiming for early June but you know how things go… might even be July). Now the next alpha will feature new Maps (older ones will be available for download separately) and 4 playable commanders (as units) and early campaign support.

Next we’re working on setting up a development blog to keep you up to date. Due to personal issues on my side ( mother has cancer and I’ve been on the road a lot because of that) development has gone a tad slow and many have wondered what’s happening with the game. By setting up a dev blog both me and Thomas can offer more transparency on how development progresses. Expect status reports (such as this one), technical stuff (implementing the AI and other fun things ^_^) and, of course, lots of screenshots and ART assets from Thomas Noppers. With a bit of luck we could even get (here I mean strong-arm) Grace to showoff some cool sound stuff. Blog should go up sometime this week.

osi_licenseThird thing I’d like to cover is the source code for the game. Up till this point I licensed it as free for non-commercial use, meaning that you are free to use the code for personal projects as long as you get no revenue out of it. Well I’ve been thinking about this and would like to change things. As of the next commit on Github I’ll be changing the license to MIT. What this means is that you are free to fork the code, change it, distribute it for free and commercial purposes. Just don’t distribute the code with any of the assets from the game (sound files or graphical images). With the way recent changes to the game are going I’m getting close to having Mutant Gangland’s code work as a engine for TBS games. I’m pretty sure that a few months down the road game-orientated contents will be truly separated from the actual code and will be usable to create other different turn based strategy games.

The game’s source is available on github. I recently setup a new branch “development”. Hoping to push updates every week, starting now, into the “development branch” while master will contain stable releases. Currently both branches are a mess. The most stable version should be this one. I’m a git newbie and I overlooked some stuff, but things will get cleaned up. In the meanwhile feel free to fork the source and/or submit issues. I’d love to see my repro getting some activity.

And that’s it for now. Keep an eye out on our twitter (@Zapakitul, @Thomas Noppers, @Mutant Gangland) or this blog for information when the blog goes up. And if you would like to buy the game you can do so here. Plan on using the code for your openAdvanceWars project or TBS-GOTY-2014? Drop me a line, I would love to help out. Also remember there’s a subreddit for the game available. Or you know what? Drop us a love letter at info [at] mutantgangland [dot] com.