About 0bl1v1on (twitter: @TheOccasionalK)

Living Tzaneen, South Africa.
Currently in university studying Computer Science, and working on Android and desktop (Java) games in my free time.
Also enjoy music, art, and all things technological.
Bleep bloop.

Entries

 
MiniLD #53

0bl1v1on's Trophies

The Creepy-Ass Game Award
Awarded by MafiaPuff
on July 25, 2014

0bl1v1on's Archive

Excuse Me While I Vent

Posted by (twitter: @TheOccasionalK)
Sunday, April 19th, 2015 4:44 pm

So my fucking computer screwed me. After spending the better part of the weekend working in Unity, learning the API (I’m a noob to game IDEs – I’m used to more low-level, write-your-own code-base stuff), and coming away with something that I was quite proud of, Windows crashed and corrupted it. Fuck. Like a complete moron, I didn’t even think of making backups. My decision is final – fuck Windows and it’s endless shit – I’m migrating to Linux. I just can’t take it. At least if there are problems on the *nix side I won’t have the opportunity to blame a money-hungry enterprise conglomerate who’s design decisions represent the majority opinion of a bunch of school children. (Okay, perhaps not THAT bad, but I’ve just wasted a weekend – I’m  entitled to yell at the code monkeys).

On a lighter note, Ludum Dare: it’s fantastic. I have learnt so much and progressed so far. My first game was atrocious – my second has become and ongoing project that is soon to be a commercial release, and my third would be CamoCube – the corrupted machination of a weekend lost. I’m about to get my degree and head into the software engineering (hell, perhaps game development?) field, and I have to personally thank Mike for keeping this beast alive – you’re a legend dude, and you’re running of this fantastic compo has (in the minute number of participations I have made) furthered my programming skills / technical knowledge tenfold.

Because the ones and zeros are flipped, I leave you with what could have been. A free-for-all LAN, death-match arena game in which you are a cube in a world of cubes. Left/right movement through vertical levels with bounce pads. Multiple power-ups strewn about the world, each with a power-level: who-ever has the higher power level when you hit each other survives the attack. The most powerful pick-up lay at the centre of the maps, so a thoughtful scramble could take place – do you grab an outlying, weaker, and easier to get to power-up? Or risk it to grab to the GOD item that makes you invincible for a short period? Oh, and also you adopt the texture of anything you touch. So, you know, you can blend into the world and sit in waiting – a campers dream.
CamoCube

Anyway, I’m looking forward to playing other peoples creations. All the best to the Compers and the Jammers out there.

The Headache Of A Day

Posted by (twitter: @TheOccasionalK)
Saturday, April 18th, 2015 8:28 pm

Most. Frustrating. Coding Session. Ever.

Unity is periodically causing my nVidia device drivers to crash, which normally results in a reboot. Windows is an unstable asshole (but what’s new?), and I spent the better part of 3 hours trying to get the Unity OnCollision/OnTrigger calls to work (although that was my fault.) I don’t see myself finishing this in time, but here’s a progress shot. All I’ve got so far is the player controls/movement, dynamic camera tracking, and a basic world with verticality. Still need power-ups, attacks, LAN compatibility, and a menu for team selection. Let’s see I can pull a rabbit from the metaphorical hat.

CC2

CamoCube

Posted by (twitter: @TheOccasionalK)
Saturday, April 18th, 2015 2:34 am

I had a set plan from the get go – I have been building a programming portfolio, and I was going to use this weekend to develop a similar game to demonstrate some parts of programming. But the theme fits in so well, I can actually join in LD48! Which may end up as a Jam, because I’ve never even finished a Jam on time. So here goes nothing:

Enter the world of camouflaged cubic warfare!

Unity, primitive models, speed-painted textures in GIMP, and LAN compatibility.

Capture

LD31!

Posted by (twitter: @TheOccasionalK)
Friday, December 5th, 2014 2:24 am

So, I’ll be entering the LD this time around. And when I say ‘I”, I technically mean 3 of us.

  • I – The programmer
  • Number 2 guy – The algorithm and design helper
  • Number 3 girl – The contributory artist and musician

So obviously it’s off the jam section for us. Weapons of choice:

  • Java, LIBGDX, and my predefined game framework.
  • Eclipse IDE, GIMP, Inkscape, Audacity, Winamp and Windows 7.
  • A computer, a graphics tablet, and possibly a piano.

See y’all ’round the site!

Entering The LD Jam

Posted by (twitter: @TheOccasionalK)
Saturday, August 16th, 2014 11:44 pm

My first LD experience was the MiniLD #53 a little while ago. I learnt a lot, fell in love, laughed, cried, and binged on pizza. Okay so maybe it wasn’t that spectacular, but it was a great weekend none the less.

 

Time constraints have me in a bind, but I should be able to slap together a something-something over the course of 24 hours. And my mistakes of yester-LD have taught me well, so hopefully I can get a decent game out this time.

 

As some atmospheric inspiration, behold the beauty of art with edges so jagged that they can make your eyes bleed:

pixelart_templeruins

 

Weapons of choice:

Dev Platforms: Windows 7, SolydK (Linux)

Deployment Platforms: Desktop, Android (if time permits)

IDE: Eclipse

Language: Java

Library: libGDX with my own framework.

Assets: Inkscape, GIMP, Audacity + My Guitars, Hexels (if pixel-art strikes my fancy)

Background nonsense: Family Guy, Chronolapse, metal, rock, and some electronic crap.

MiniLD 53 – A Cruel World’s Post-Mortem

Posted by (twitter: @TheOccasionalK)
Thursday, July 24th, 2014 3:49 pm

So the Mini Ludum Dare #53 was my first ever LD, and all I can say is that it was fantastic! Great people, game development, and an excuse to geek out and rapidly destroy my health over the period of 48 hours. I entered the jam as a solo participant (because I don’t have any game developer friends in real life) and spent the weekend in the solitude of my study. It was an experience that definitely opened my eyes to quite a few things.

 

The Game

A Cruel World was my attempt to express my artistic side a bit. I don’t have time to do art anymore, and even though I’m terrible at digital art (I’m more comfortable with a good ol’ pencil and paper) it was a great learning experience for me. Although the atmosphere may have been a little wishy-washy, it was meant to be a depressing exploration game covering the topics of corruption and greed, self-image issues, deforestation, animal cruelty, and over-reliance on religion. This was my take on ‘The Future Is Now’ theme – because these are problems that we face today, that will only worsen as time goes by.

The atmosphere I aimed for was heavy, with anthropomorphic character designs that matched each NPCs character (such as the wolf being the greedy salesman, and the sheep being the religious figure). I would have loved to have had more time to build a more complete world and to iron out many of the bugs, but alas it didn’t work out this way.

The first level of the game, where a poor man tells the player about the world.

The first level of the game, where a poor man tells the player about the world.

 

The Development Process

With only 48 hours to complete the game, I used my own libGDX-based framework (with already implemented input, render, debugging, and audio controller classes). From here, it was a simple matter of creating the world-space, drawing the art, coding the logic, and slapping in some audio for good measure. I started with a notebook and pencil for all my designs (all concepts, artwork, algorithms, and level layouts) and subsequently implemented my designs as I went.

Although I have developed a few small games, I have explored quite a lot of new territory this time around. For instance, I have never written a free-roaming game with separate levels, so this was an interesting endeavor to implement dedicated classes, each with their own self-contained logic, for each world-space. An inventory system (although extremely basic) was another thing that I had never touched on.

The fact that I had an extremely tight schedule and clear deadline definitely helped me set aside my uncertainty and simply slap together code to make it all work. I tend to be overly pedantic when it comes to programming, always considering optimal memory/CPU usage, neatness, code commenting, and so on. There is no time for this in LD however, and this really helped me overcome my care and simply MAKE THINGS WORK (albeit only adopting this strategy nearly half-way through the compo).

Exerts from my MLD#53 design book.

Exerts from my MLD#53 design book.

What I Took Away

All in all, I was quite happy with the result. It may be slightly buggy, and perhaps I could have been clearer about where to go and what to do, but then again it is an exploration game. I would have changed a few things if I could however, but as I said I had run out of time.

First things first, I realize now that programming is my absolute favorite part of the game development process. The labyrinth of flowing code is an intoxicating mind-game to me – a way to lose myself in complicated algorithms and hierarchical visibility. I loved the art side of things as well, but I found it became somewhat tedious (and anyone who has played my game may see how the quality of art declines the further you get.) This may have been the problem of hand-drawn art taking so damn long to make, and this coupled with the deadline put me off. Who knows?

Secondly, I learned that an exploration game is not the best approach to compo with such a short deadline. It has almost zero replay-ability, the slightest bugs come out glaring like a car’s headlights in the dead of night and utterly ruin the experience, and you simply do not have enough time to create an expansive and interesting world that will offer a lengthily play-through.

On the game front, I definitely would have approached some problems differently. I relied too heavily on boolean control variables for inter-class communication, which could have been replaced by a much more, much simpler system if I simply based actions on player position, instead of an activation button while the player stands at a specific position. It’s a minor thing, but this simply change would have saved me an hour or two of debugging which could have been used far more productively. Good knowledge for next time then.

 

All in all however (as I said), I am pleased with what I accomplished. The purpose of these jams is to extend your knowledge and experience, and this is exactly what I managed to do. I explored new territory with A Cruel World, and enjoyed every sleep-deprived second of it. I’ll definitely be more confident, prepared, and efficient at the next Ludum Dare. I will also take what I have learnt in the mere 48 hours of development and funnel it into my current Android game – a project I hope to complete soon and release on the Play Store.

To end off this post, I have uploaded the time-lapse video of the development process for anyone who likes to stare at low-framerate, illegible windows:

 

Just another note: I haven’t had the chance to play through any other games as of yet. I’ve been out of town, and operating only by smartphone for the last couple of days. Last night I returned, and I’m off again tomorrow morning. Perhaps next week I will have a gap in order to melt my mind with some of your guy’s lovely creativity. Until then, have good one!

 

 

Time Constraints and Coding Complaints

Posted by (twitter: @TheOccasionalK)
Sunday, July 20th, 2014 7:20 am

Hi all. So we are approaching the end of our allotted time – midnight. Correct me if I am wrong though, but we can finish up later than the 21st at 00:00, right? I have about 10 hours of my 48 left, and I would love to ACTUALLY use all of them.

My game (which still has no name) is coming along though. Lots of dark elements, world exploration, and deep(ish) quotes. The basic framework is solid – it’s basically down to hardcoding each worldspace and its logic. Oh, and some final pieces of art; all this hand-painting is taking its toll on time though. My approach to the theme may not be to everyone’s taste, but then again it’s my game so you can all shove it . 😛

Coming Along

A strange version of our world, where you play as a small bird on a quest.

Because this is my first LD experience, I have come to a a few realisations – the main one being that I am far too pedantic about performance-oriented and neat code. I can’t tell you how many hours I’ve wasted  code blocks because they are simply unneat, or wasting time of non-gameplay breaking bugs/control issues. If it doesn’t feel perfect, it bugs the hell out of me. But I’m learning to ignore it in this case – there’s no time for OCD-esque behavior here.

 

Happy coding everyone. See you on the other side.

Calling It A Night

Posted by (twitter: @TheOccasionalK)
Friday, July 18th, 2014 7:56 pm

So I’ve spent the last 09hrs: 28min: 12sec at work on my MiniLD entry.

So far, so good – but it definitely needs a lot of work. I have some artwork done, a reasonable control scheme, and a number of reusable world-object classes for map creation. I still haven’t implemented all the textures that I have drawn, so please forgive the giant coloured-boxes that are meant to be trees, as well as the paper-white ground and no backdrop. These things are in the works. Oh, and there are some texture-splicing logic errors here and there – so things aren’t lining up all too well at the moment. Minor issues though.

Capture

After this, I next I need to focus on getting player/NPC interaction in place so that I can start implementing quests. Shouldn’t be too difficult – some simple x/y coordinate checks (to ensure the player is in range of the character), and some booleans to track quest progress. Hell, the code doesn’t have to be efficient after all! As long as it works I’m happy.

But that is a worry for later today. The sun is rearing its head, and my mind is numb. According to my trusty stop-watching-o-meter, I have a further 38.5 hours of time to work on my no-name-game. I just hope that I don’t waste too much time on sleep – I don’t want to hit the deadline with time to spare.

Off to bed with me. Happy coding everyone!

Mini Ludum Dare 53 Preparation

Posted by (twitter: @TheOccasionalK)
Friday, July 18th, 2014 5:37 am

So I’ve set myself up for a weekend of mind-numbing code, art, and audio production – and things couldn’t be better.

Pictured here is my trusty workstation – headphones, dual-monitors, graphics tablet, keyboard/mouse, and a notebook for art designs, algorithm outlines, and other note-taking none-sense.

DSC_34412

I’ll be using my own custom libGDX framework as a starting point for my game. As it is, it consists of a simple project with separate Android and Desktop launchers, and basic input, audio, text, graphics, and logic processing, as well as useful debugging modes for memory, collision, and state inspection in real-time. Simple as can be!

I’ve also taken the time to set up a Chronolapse so that I can compile a sped-up movie of my development experience, and a handy Windows Gadget by the name of SphereTimer so that I can track my overall time (and pause when taking breaks).

Capture

And I’m good to go! Just need to grab some good ol’ RedBull or similar Jack-rabbit fuel and I’ll be good to go. Oh, and I’ll be using # for future MLD53 posts.

Best of luck to all those dev’ers out there!

MiniLD 53 – I’m Coming Baby!

Posted by (twitter: @TheOccasionalK)
Saturday, July 12th, 2014 2:14 am

Hello all you man-cave crazed developers.

I’m not too sure what to say here, but I’ll be entering the MLD next weekend. I think it will be a good break from my current Android game dev project, and this will be my first participation in the wonderful Ludum Dare (because life always throws a curved-ball when you least expect it). I’ve been following the compo’s for ages now and can’t wait to lock myself in a room, dose myself up on caffeine, and inevitably take a short-cut to future diabetes. It’s going to be bliss.

 

Seeing as the rules are pretty lax, I wanted to make sure that I could use my own game framework. It’s a simple LIBGDX project that I use as a basis for all my development projects. It has the basic launcher, renderer, and input controller classes already set up so that things can be plugged straight in and taken from there. Any objections?

 

My take on the theme will be dark. Eerie depictions of life as we know it, mixed with future business-y nonsense. We’ll see how it goes.

 

My poisons: Windows 7 (Arg … Need to set up Linux!), Eclipse, LIBGDX, Inkscape, OpenGameArt for sound effects. Java will be my platform (because I’m most comfortable with it at the moment).

My tools: Logitech K360 compact keyboard, Havit MS901GT gaming mouse, Genius G-Pen M712X tablet, Ibanez Talman acoustic guitar (theme music!), pen and paper (designs, and possibly some art).

 

IMAG2998

Oh and did I mention metal? Lots (and I mean lots) of metal. That counts as a tool, right? \m/

[cache: storing page]