Tuesday, August 18, 2015

Simply Magic

I've just put my first T-shirt design on teespring today. You can get it here http://teespring.com/simplymagic

Tell your friends! Tell your family! Tell the world! :D

Thursday, July 16, 2015

Blender Barrel Complete

I am happy to announce that I achieved my goal for the day by completing my barrel project in blender. :)


Below you can see the high poly mesh which consists of a whopping 4 million plus polygons! Each part was modeled separately, sculpted, and manipulated into position before being used in the baking process.


The high poly was originally much higher polygon count, but my computer crashed when I tried to perform a Remove Duplicates vertices operation, so I went in and manually removed a ton of the vertices and faces from the inside of the barrel. Below you can see some of the barrel "gutted" on the inside.



The low poly mesh is pretty basic, which is why a lot of the shape from the high poly mesh does not translate too well to the lower poly mesh, but since this was my first attempt at such a process and as a learning experience, I think I didn't do too badly. Right?


The UV layout for the low poly is not too bad, but I know that it could be better. I just need more practice and hopefully I will get some useful advice from the cool people on the art forums I've shown this on.


Well that's all for now. I'll have more cool stuff to show later I'm sure. :)

Wednesday, July 15, 2015

Blender Barrel Beginnings

Well, my learning of Blender has definitely been going well I think. I wanted to model something and learn more about Blender along the way, so I asked my wife for a subject, and she said "a wooden barrel", and so I got to work. I have spent about 14 hours on this high poly model so far.

Most of that time was spent learning how to create my own sculpting brushes for Blender, learning what the sculpting tools do, and how they can be used, learning how to create my own custom UI components and tools using Python to speed up my workflow, and learning how to make use of the super-powerful modifier stack and multiple scenes.

I learned how to not cripple my system working with millions and millions of polygons in real-time with zero lag, I learned how to effectively make and use a "library" of objects for reuse, I learned that I can swap objects from layer to layer with ease in order to get them out of the way while working on another to reduce the polygon load on my system.

This is my progress so far.


Today I plan to unwrap my low-poly mesh and then bake the normal and ambient occlusion maps of my high-poly mesh to bring them in to GIMP for creating the albedo map and then finally taking all of the maps and my low-poly mesh into Unity for some production testing.

Thursday, July 9, 2015

Level Up!

It's been awhile since I posted last, and I'm sorry about that. I've been a bit busy with far too much. From choosing what direction that I want to go in with the studio, to working out details on my project, to finding freelance work, and to the reason for this update...I have finally jumped in the deep end and committed myself to learning blender, and it's going quite well much to my surprise.

Anyone who has known me for a really long time knows that I have always been a hater against blender for numerous reasons, mostly the unconventional UI, and the crazy usage of keyboard shortcuts for just about everything, and because it was "limited" in it's capabilities.

I WAS WRONG. SO WRONG. SO DAMNED WRONG I WISH I COULD GO BACK IN TIME TO SLAP MYSELF AND LEARN HOW WRONG I WAS.

Blender is by far the easiest to use 3d package I have ever touched. It is also the most comprehensive and complete package, and the best part about it is that it is 100% fully and totally legally F. R. E. E., that's right, I said FREE! And it's available for all major operating systems, so that means whether you use Windows, Linux, or Mac, you have access to this incredible software.

Now, the UI is indeed unconventional, yes, but this is actually a good thing. I wish more software worked the way that blender does. The manner in which the panels and controls are interacted with is far superior to anything I have ever used before. Take the hour or so that it takes to learn how to use the UI in blender and you will no longer think it to be a hindrance to the use of the software.

The keyboard shortcuts are indeed there, and some are downright crazy. I'm looking at you, you W-Key Specials menu! But it's actually pretty easy to use them once you learn them. It's worth the hour it will take you to learn the shortcuts. Here are a few of them to get you started.

In the 3D view in Object Mode:

Press the A key to select or de-select all objects in the scene.

Press the X key to delete the selected objects.

Press the G key to grab the selected objects allowing you to freely translate (move) them. Use this in addition to the X, Y, and Z keys to restrict translation to a specific axis.

Press the R key to rotate the selected objects freely. You can use the same axis restriction keys to your advantage here as well.

Press the S key to scale the selected objects freely. Same as the grab and rotate tools, use the restriction keys to have sensible scaling on an axis.

Press Shift+A key to bring up the Add menu. From here you can add things to your scene.

Press the Tab key to switch to Edit Mode.

That's all that I have time to list. Learn more by checking out blender for yourself! Below are some things I made with blender (the tree I modeled with Wings3D before learning blender) and have put into Unity for a quick turntable.



Monday, June 15, 2015

Toxic Sewer on GameDev Market

So I was surprised with some great news today. My tiles just got accepted on GameDev Market, please show your support and pick up a copy if you like them, or tell others about it if you don't need them.

In addition to that, Degica finally got back to me and told me that they have accepted the tiles as well, so they will soon be available on gamedevfort.com as soon as their art team puts together the promotional materials for the marketplace.

In other news, all my side-projects and smaller projects which have been in the works have just been shelved in order to free up time to focus strictly on a single project. The large RPG which we started four years ago is finally taking the front seat and will be the sole focus of Bang Bang Attack Studios from here on, until the release day.

Lots to do, and lots to learn to get this project rolling in the right direction. I will be posting more about the development soon.

Sunday, June 7, 2015

Redbubble

It's been quite some time now since I last posted anything. Mostly because I have been using a different computer and haven't had blogger open 24/7 like I had on my main computer.

Anyway, some updates are in order. For starters, I created an account on redbubble which you can check out here

You will find my digital art creations that I have selected for publishing on products. Theres some really neat shit there. If you have some spare cash and want to support my developments, please buy something!

In other news, I am working on a 2D top-down action RPG in Unity. No story in place at this time, but the game will heavily revolve around one of my favorite mechanics -- BLOWING SHIT UP! I love being able to destroy just about everything in a game, like in the Ratchet & Clank game series where you smash things to collect bolts. I want to also have non-perma-death for the things that get destroyed, so like you can walk into a town and burn everything in sight, leave, and when you return, it's back new to be burned again! >:D It's gonna be a hell of a lot of fun. I'm mostly in the early prototyping stages right now, with no final visuals and lots of ripped and shoddy art at the moment. Once I have something that isn't copyright infringing to work up some screenshots & gifs, I'll show off the project.


Tuesday, May 19, 2015

Where did the time go?

It seems like a lot of time has been passing between my posts lately. And I swear it FEELS like only hours have passed. Time is moving ridiculously fast right now for me. I cannot seem to keep up with everything. For those not in the know, my wife had a baby just under a couple weeks ago (so now we are a family of four) and that has definitely been something new. My son had spent a while in the NICU when he was born, so I missed out on all the fun newborn-y stuff, like the horrible black-tar shits, and the need to feed a zillion times throughout the day and night. So I've gotten little sleep recently, and it's got my head all over the place.

I'm trying to work on the minuscule freelance stuff I have left on my plate, and find new work to bring in the much-needed income we need. (Read: I have no work. Need Money. If you have something you need done, please contact me!)

I am also working on some new things to sell online. In particular, I am currently working on a post-modern top-down RPG tileset intended to be sold through gamedevfort.com I've been working on this thing for 3 days, and it's turning out pretty sweet. No, I won't show it off until it's up for sale on gamedevfort.com

My game projects have been stalled, but not forgotten. I learned some cool tricks from my daily "social media scan" process which I want to give a try for my S3D game project, and I have been planning some new projects in my head. Soon to be dropped into concept docs, and fleshed out more....Well, soon I hope. Father Time has been a real ass. Someone give him a sleeping pill so I can find the time to get things done!

...Back to work... er... no, wait. Off to sleep...dammit.

Wednesday, May 13, 2015

First Sale


I was just pleasantly surprised to learn that I actually got a sale on my HTML5 sliding puzzle starter kit on CodeCanyon!

This is the start of a whole new world for me. I'm very excited about the possibilities that are now available to me!

Saturday, May 2, 2015

On the Market

I woke up to a pleasant surprise this morning. CodeCanyon accepted my item with the new documentation. You can go grab a license by clicking here.

I am quite excited about this, and hoping that I see enough sales from this to give me a reason to continue to put up more items for sale. I have several more starter kits planned, and after a little while of watching this first one's sales, I will figure out if this is the way that I'm going to go with releasing the other kits.

If there is anything you would like to see me create a starter kit for, please let me know!

In other news, Zombies Til Dawn got accepted into the Game Shop on fgl, so I'm excited about that too. Hopefully I get some sales from that. And also, you should really give the game a play on Kongregate, as that will help support me and my developments!

Friday, May 1, 2015

Lotta Documentation

Hello, May!

Okay, well CodeCanyon rejected my item saying the documentation was lacking. So I spent a couple days writing complete and thorough documentation, as well as a thorough "idiot's guide" style ebook for those non-technical people that want to buy the item, and I also went through all the code and overhauled everything to make it as clean and simple as I possibly could. And I've just resubmitted the item for review. Hoping that it gets accepted this time. If it doesn't, I'm just going to end up selling it through my new Gumroad account. More on that later.

In the process I found Remarkable, a rather useful tool which lets me write in Markdown and then export a shiny styled PDF document. I'll be using this software quite a bit.

I have also learned quite a bit about HTML5 game development, and with this new-found knowledge, I am planning on putting together an educational course which I will be selling in the near future.

Monday, April 27, 2015

Ghosts in the Wrapper

A GHOST POSSESSED MY GRANOLA BAR WRAPPER AND COMPLETED A PUZZLE ON MY ANDROID TABLET!

...Or, y'know some logical explanation...

I absentmindedly placed the wrapper for a granola bar on top of my android tablet, and it moved around a bit from the air flow in the room, and apparently the material is conductive or something, because my tablet started to respond as if I were using it. And to top it off, I had a game open on the tablet and the granola bar wrapper solved a puzzle in the android game.

Testing the Market

I submitted my first item for sale to the CodeCanyon Envato marketplace before heading to bed last night. Crossing my fingers in hopes that it gets accepted and gets some sales so I can start to see some kind of ROI for my time investment.

If things don't go well with CodeCanyon, then I will end up selling the item myself directly via a PayPal button. But I really hope that things do go well. I've got a lot on my mind lately, and some extra funds would help relieve the stress.

Zombies Til Dawn has seen under 20 plays so far, and hasn't made a penny in ad revenue, so I'm rather depressed about that. I am considering selling the source to the game. Interested? Let me know.

My dashboard says that people are watching this blog, but I'm suspicious that it's mostly just bots. Please prove me wrong by actually writing a comment.

Thursday, April 23, 2015

Zombies Til Dawn

Well it's been a little while since I posted anything. Even though I completely missed out on LD32, I finished my game anyway and today I am here to announce the fully-playable and mobile-ready (to the best of my knowledge) HTML5 game Zombies Til Dawn.

You can play the game by clicking here.

I opted to avoid the use of any third party libraries. The game is made with pure JS, and should run equally well on all platforms. I've tested with my desktop in 3 browsers, and my android phone and tablet. I'd love to hear if the game works or does not work on your iOS devices or your browser.

I kept a log of all the time that went into the game, and it totals at 13 hours, 13 minutes, and 13 seconds... yeah, lol it surprised me too.

The game has an adsense banner so I can try to make a few pennies off of it. If you really like the game, I'd be happy to sell you an ad-free license. Contact me.

So... I know you are wondering What IS Zombies Til Dawn?

Zombies Til Dawn is a turn-based strategy game where the goal is simple. You must survive until dawn. Your means of survival is in surrounding yourself with explosives and hoping that the zombies get blown up and don't get to you.

I hope that you enjoy my little game. Well, not little, but minimalist. It clocks in at 1965 lines of code! Please, try out Zombies Til Dawn and let me know what you thought about the game!

Monday, April 20, 2015

Of all the luck...

Seriously. WTF!? My ENTIRE day has been pretty much a complete waste of time. I woke up and noticed that my phone was sitting on the "boot" animation screen. I shrugged and ignored it. I checked it again about 30 minutes later, and it STILL was on the boot animation screen. So I knew there was a problem. This tends to happen every once in a while when over-the-air updates come through, or a system app crashes. The fix is usually to pop out the battery and then pop it back in and power the phone back on...

Well, I did just that, and it resumed the boot animation for an hour, then the animation froze and the phone did nothing. SHIT! Alright, so time to dig in and try to resolve this quickly so I can get on with my day...HAH!

I've got an old smartphone. No, really, an OLD AT&T branded HTC Inspire 4G (Also known correctly as the HTC Desire HD aka The "ACE".) Several years ago I unlocked the phone and flashed a custom ROM to the device; And until today it had worked great. MUCH better than the stock HTC Sense that ships with the phone. So, the first thing I did was boot into recovery mode using the Volume-down button + Power-button power-on trick and choose RECOVERY from the hboot bootloader. And then I proceeded to attempt to create a backup of my device's data, settings, apps, and shit. Well, that failed miserably for whatever reason. Maybe it has to do with the screwed up boot? I don't have a clue. It doesn't matter at this point anyway...

So with all my data lost anyway, I formatted all my partitions and cleared my dalvik cache and proceeded to attempt to re-install my custom rom. Things appeared to be going smoothly just like it did years ago when I first installed it...

Then, after booting the freshly installed rom and going through all the motions of setting up my google account, and configuring all the settings how I like them....I have a nice ugly NO SERVICE notice on the screen. Well that's just great. I have a phone with no way to use it as a PHONE. I've had that message pop up a couple times over the last two years, and the solution was to simply reboot, then things were fine... NOT THIS TIME, NOoooo. So, NO SERVICE is pretty useless. I went back into the recovery mode and tried again, cause y'know, maybe something dropped a bit somewhere...

After the THIRD attempt, I decided to say FUCK IT and go back to the stock rom...7 failed attempts of finding a working HTC Sense rom, and I said screw it, and started looking at other options... I tried out 12, yes, TWELVE different custom roms and NOT ONE OF THEM worked for me. In the process, I ended up installing two new recovery images, flashing 6 new boot images, and factory-reset/formatting more times than I can remember...

I finally have gotten truly fed-up and I have yet another custom rom installed, and it still says NO SERVICE on my phone, and I've decided to contact customer support. So I head over to the AT&T site and after a chat with a rep, I learn that it's too damn early to talk to a technical support agent, and that I gotta try back later during business hours!

So here I am, more than 12 hours later, still with no usable phone, and that's not the only problem. I did not get to finish my LD32 entry because of all of this bullshit today. I was so close to finishing last night, but I needed to get sleep. In hind sight that was a mistake, because I got shit sleep, and then did not get to finish my entry because I was stuck dealing with a stupid piece of shit smartphone.

Right, so yeah. end-rant and all that.
Until next time, this is the Rambling Indie Richard Marks.



Saturday, April 18, 2015

Behind the scenes

The past few days I have been carefully considering our studio's next move. Some things have come to light which have brought us to a position of needing to make some serious decisions with how to proceed. We have a few new projects that are starting the early stages of concept and design, and we are working on some new marketable resources which will become available for purchase in the near future.

I am working on a high resolution stylized castle tileset completely in vector format using Inkscape. I'm pretty satisfied with the results so far. I will have some visuals to show off soon.

Tuesday, April 14, 2015

Pushing Pixels

I have spent most of today working on some isometric tiles for a client. Tasked with creating damaged roman roads with a near photo-realistic aesthetic. I am needing to really stretch my pixel pushing powers to get this one done. I don't think I can show off the work publicly yet, so I won't be posting any screenshots of the set until I clear it with the client.

In other news, we've not been getting any positive feedback from publishers for our HTML5 game. So that sucks. Still waiting to hear back from a few more. I'm not going to get my hopes up though. I think the market is done for.

Monday, April 13, 2015

A Day of Rest

I didn't get anything done today. Just relaxed, did some reading, and light programming just for the hell of it (solved a few challenges on codeeval.com) and pushed a few pixels in GIMP toying with the many features that I never usually touch. Nothing to really show, as I didn't save any of the images.

Saturday, April 11, 2015

Something fun


I have realized that I really want to work on an RPG. Nothing massive, just a simple down-scaled fun little RPG. I thought of first creating a typical top-down 2D RPG, but I wanted to create something that I could possibly turn into a larger game down the line, and I wanted to learn some more new things and hone my current skill set. Thus I have chosen to build a 3D RPG for the first time. I don't expect this to be a simple project, but I do intend to bring it around full-circle from concept to completion. I am creating a 3D remake of my SAWD RPG project. I am taking the game world and expanding from ASCII graphics to full-blown 3D. I am going with a low-poly aesthetic for my own sanity since I am the one modeling everything. I'm going to use low-resolution textures as well, with 64x64 being the most common size texture, with maybe 128x128 for characters. I'm not going to use normal mapping, or complex lighting.

3D modeling will be done with Wings3D for the static meshes, and I have yet to come to a decision for animated models. Textures will be created with GIMP. The game development will be done with Unity 5 using C# scripting.

Indie Legwork

We are trying to locate a publisher/sponsor for one of our HTML5 games, and have been contacting as many as we can find. You would be surprised how many there are, and how much effort it can take to dig up their contact information and write them! Each has their own set of quality standards and requirements too, and many are not English-native, so acceptance may require localization. Hopefully we find a bite soon and can actually see a return on our investment.

Thursday, April 9, 2015

A change is needed

After much deliberation, we at Bang Bang Attack Studios have decided to change our course for our business. There is much work to be done on this front, and I may not be posting as frequently here as I have been until the work is done.
I'm not going to disclose our new direction just yet, but just know that there is going to be a very drastic change in what Bang Bang Attack Studios is all about.

Tuesday, April 7, 2015

Mobile Music Creation

Working on a piece in AudioSauna
(blurred notes and removed keyboard to avoid illegal reproductions of my work)
For one of my HTML5 games, I needed to create some music tracks which were not crazy-long and large files, and sounded great on my mobile devices' shitty little speakers. I typically use SunVox for my music creations, however, I recently have started using a web-based composition tool called AudioSauna.

This tool provides a multi-track sequencer and apparently a sampler (which I have not used yet) and a piano-roll for editing patterns. Two synthesizer modules can be used to create nearly an endless variety of sounds, which opens up the doors to creativity.

You can save your project files to continue working on them later, and you can export both loops and your full song to .wav format.

This amazing tool is easy to use, and I highly recommend giving it a try for your next music composition.

Monday, April 6, 2015

Disappointed

Why am I disappointed? Because my unityAds dashboard says

Revenue: $ 0.00

and it's not exactly what I was hoping for with releasing into the Pitch. Oh well, will just have to make a better game, and use a better ad provider. Clearly unityAds is a waste of time.

Spent much of today cleaning again. I'll have some dev-related stuff to report tomorrow though.

Sunday, April 5, 2015

Spring Cleaning

Didn't get much development done today. Had a house to clean, and I've got an injured hand which makes it take even more time and effort. Probably will not get any dev done today, as it's already getting late. Oh well.

Saturday, April 4, 2015

More Pixeling Practice

I had so much fun creating the MasterS of MagiC logo design, that I decided to create another one. Here is the Kingdom Carnage logo.
Kingdom Carnage NES Pixel-art logo design.
Once again, this was created using GIMP, and the original NES palette colors. (Except the watermark overlay)

I think that will be all the artsy things that I work on for myself for a little while. I have some freelance work that needs to get done, and it's time to work on the next game project for Bang Bang Attack Studios.

Pixeling Practice

In order to practice my pixeling skill,and to prepare for the possibility of getting an NES-style logo design freelance gig, I created this piece today.
MasterS of MagiC NES Pixel-art logo design.

Created using GIMP, and the original NES palette colors. (Except the watermark overlay)

Thursday, April 2, 2015

Pouring Java

I've spent most of today working on some in-house tools for increasing productivity. I got tired of writing out boilerplate code for my Java classes, and using an IDE's class wizards was annoying me to no end, so I ended up writing a little command line utility which I call pour. Get it? You pour java...anyway...

I developed my little tool using Ruby, since it is so great for string manipulation, and easy file handling. Pour is short on features, but works exactly as I expect it to, and only outputs exactly what I want, and is far faster than any class wizard I've found.

I can specify a local template file to pour, and it will use it to create the classes, or, I can create a template in my home directory to use the template globally, or I can use the built-in template. I can specify to generate an entry point function, and I can specify a package. These few features turned a task that normally takes about 3 minutes, and turns it into about a 5 second task.

In addition, I set up gradle and grunt for a very simple auto-build workflow that allows me to focus on the code editing, and not on having to build the project, run tests, build the jar, and execute the program. I can just edit the code, save it, and my auto-build setup does the rest. Very fast workflow. I like it a lot, and I'm going to have to find a similar solution for my C++ development now, because this kicks major ass.


Tuesday, March 31, 2015

Patching Pitch

It's not so much fun to find that you overlooked things in the production build of a game. And that typically means you're left with no choice but to scramble to patch things up. I've issued 3 patches for Pitch so far. Hopefully I don't find any more things that need patched up. The whole process is pretty irritating, and repeating it is even worse.

In other news, I'm searching for a market for my HTML5 casual mobile game which is finally finished and through beta, and I have gone through and fixed up the reported bugs and balanced the gameplay to the point where I am calling the game done. I've contacted a couple places so far, but no responses just yet. If you have any great recommendations on how to profit from a mobile-ready HTML5 game, please do not hesitate to get in touch!

Monday, March 30, 2015

into the Pitch on Google play Store

For all you users with android devices that can access the Google play Store, you can download and install our latest release, into the Pitch right now.


Android AppStore users will need to wait a day until the game is available there. I will make another blog post once the game is available on the Amazon AppStore.

The Darkness Shall Take You

into the Pitch mobile marketplace graphic

It's done. Finally. I just finished the process of putting Pitch on the Google Play store and the Amazon App store. I will post links on this blog to the store URLs once the game has finished going through it's review/submission process.

Until then, you can simply enjoy the gameplay video I created using Open Broadcaster Software, PowerDirector, and Unity 5.


Sunday, March 29, 2015

Pitch is Done

Well, almost. The development of Pitch is done. Now comes the not-fun-at-all part of being an indie game developer... The preparation of play store marketing materials, uploading of the apk, and the actual marketing campaign itself.

But for now, I need a bit of a breather. Going to work on freelance stuff and my AxonoxA project probably until Monday; Then I will start the grueling process of distribution and marketing of Pitch.

Saturday, March 28, 2015

Pitch Update

I finished up the Game Over Scene for Pitch, a handful of Animations, a few UI components, and a single C# script to drive things, and I'm rather happy with how it turned out. This being screenshot Saturday, I tried to record a video of the scene to put up here, but apparently my recording software isn't up to the task.

Oh, here is an idea... I'll try using my android tablet to take a video of my monitor... won't be quality video, but it might work...


Hey, cool! That worked out better than I expected. Well, that is my progress for the day. Ignore the 0 meters of the Final Depth... that actually updates when this scene is reached from the main game. Since I was simply playing the scene in Unity, the depth counter was not updated.


Loading Ass

Such a stupidly funny name, Assimp or, the Open Asset Import Library is a fantastic little utility which I just successfully integrated into my AxonoxA project. Now I can load up any models I create without having to worry about the little details like tessellating faces before exporting, or exporting to an incorrect format. It works really quick (faster than my previous hand-rolled OBJ loader) and handles multiple meshes and mesh hierarchy (which AxonoxA does not at this time. All meshes are compiled into a single mesh in AxonoxA.)

With my goal reached for the day, it is now time shift gears back to my windows machine and Unity so I can work on Pitch some more!

Friday, March 27, 2015

AxonoxA

In order to further my learning of Modern OpenGL development, I have decided to create a side-project of a yet to be determined size, called AxonoxA for the time being.
If anyone holds the rights to this name, my apologies. I am not looking to commercialize this project, and the name is simply "Axono" from axonometric, which is something I was reading about when the inspiration hit me. Then, because of my love for symmetry, I turned the name into a palindrome by adding on xA to the end.


With this project I am giving myself a technical and creative outlet for breaking up the stressful studio project developments, and my more stressful freelancing career. I think that overall this will in turn make me more productive, and a happier person overall, and learning something new doesn't hurt either.

AxonoxA is developed with C++ using OpenGL 4, SDL2 and GLEW libraries.
I am using stb_image for loading my textures, and I am currently looking into using Assimp for loading 3d models, with custom binary model compilation to come later for optimization.

My first milestone has been reached with achieving a simple diffuse lighting textured single-mesh rendering. I have learned quite a lot in the 14 hours that I have spent on this venture so far. My next milestone will be to bring multiple models into AxonoxA and "walk" through a scene using common FPS controls (kb+mouse combo).

Thursday, March 26, 2015

Recovery

Well that was not a fun time. We here at Bang Bang Attack Studios are finally back on our feet again, and I put in some work on Pitch last night, and worked on the main Play scene a bit, and got the majority of the mechanics implemented. During my recovery I also went through an Intro to Modern OpenGL tutorial series and learned some things that have been eluding me for years, so that's cool. Time to try to catch up with some of my freelance stuff that has fallen behind this past week.

Monday, March 23, 2015

Poisoned

I got pretty bad chemical poisoning from some home renovations and was stuck in bed for a couple days, and my wife is now ill from taking care of me and the kid and tending to things, so now I gotta take care of her, so more delays in development it seems. Pitch WILL be finished eventually, but with how the lemons are being handed out by life right now, I just don't know when.

Friday, March 20, 2015

Break

I took today off from working on things to celebrate my anniversary with my wife a day early, since we had to go out of town today anyway for some errands.
I also put filled out my profile on indigodirectory to try to win a Macbook Pro. Fingers crossed!

Yesterday I got some decent progress with Pitch done. I finished up the Title and Main Menu scenes, and started to work on the Play scene. Very pleased with this iteration. It's even better than the first. I plan to jump back in with Pitch development tomorrow, but for now, bed time.

Wednesday, March 18, 2015

Pitch Update

I've been working on Pitch off and on since I got up today, and  have been making decent progress. This post will be short compared to my last one, as I don't want to spend a lot of time writing it so I can get back to Pitch. :D

Splashing Around

In the final 2 hours last night before I headed to slumberland, I managed to rework all the assets for Pitch, and build the Splash Scene over from scratch, and I think that it turned out pretty well. I am going to give a quick rundown/tutorial on things here both to add more non-rant content to my blog, and to have it as a reference for myself for future projects. :D

First things first, I auto-cropped all of my texture pieces individually with GIMP, leaving me with a folder of images which I then tossed into CodeAndWeb's TexturePacker Pro (Which is worth every penny for the Pro license!) and exported a Unity - Texture2D sprite sheet and packed PNG texture file.

Then I grabbed the TexturePackerImporter C# script from the Unity Asset Store. It's available for Free, and simplifies the process of getting your sprites into Unity greatly. Once I had the TexturePackerImporter.cs file in my Unity Project under the Editor folder, I was then able to drag in my sprite sheet and packed texture files (textures.tpsheet and textures.png) right into my Assets and the TexturePackerImporter script went to work and sliced up the packed textures into nice little sprites for me to use in Unity. Excellent. HUGE time-saver.

The last iteration of this project I had sliced my textures manually, and it took me a couple hours to do. This iteration took me all of 3 minutes, and that time was mostly for my LAN folder browsing! Thank you to CodeAndWeb GmbH!

Now, with the sprites in my Unity project,  I now started with a fresh scene, and added a UI Image to my project which adds in the Canvas and EventSystem objects which are necessary to drive things with the new Unity UI.

Next, I dragged my splash sprite from my imported assets into the Image Component's Source Image field and clicked on the Set Native Size button to quickly set the Rect Transform's dimensions to my source image's dimensions.

Then I opened the Animation window with Ctrl+6 and clicked on Add Property button and added a key frame to the Image.Color property, and then tweened the Color.a property from 0.0 to 1.0 to fade in, then a few seconds later in the animation, a tween from 1.0 to 0.0 to create a fade out.

At this point, all I need to do (and have not done yet) is toss a new Script on my Main Camera and use a Coroutine to wait the duration of my animation and then call Application.LoadLevel to load in my next scene. And Boom, my Splash Scene is complete.

(The Splash Scene in Pitch is actually more complicated than this, but the same techniques shown here were used for all the elements. I'm just using several animations and Images in the Pitch Splash Scene)


Tuesday, March 17, 2015

So much for that

Doesn't look like I will be getting any progress on Pitch today either. I spent most of the day doing accounting crap for the wonderful taxes that need to be handled. 10,000 Deaths are not enough for the asshole who invented taxes. And 10,000 Deaths are not enough for the assholes who continue the tradition.

Wasted Time

Yesterday was a total bust. My juices just were not flowing I guess. Everything I tried to do went to shit. I haven't had a day like that in a long time. Whatever, here is hoping today is better.

Sunday, March 15, 2015

Programming takes time

Pitch progress went to the back burner again as I spent most of today working on some in-house tools to help make my freelance art jobs go a bit easier. I've got a lot of stuff that needs to be done, and I haven't had the right tools to get the job done without a lot of trouble, hence the need for specialized tools.

Lots of Ruby scripting has taken place today. Far more than I had planned, and time just flew by. I'm maybe 30% done with the first of a set of tools, so it looks like Pitch will have to wait a bit longer. I wish I could clone myself and work on multiple projects simultaneously without worrying about if it were done or not.

Friday, March 13, 2015

Friday the 13th

Well, the infamously superstitious day has struck me down. In the process of adding the settings menu screen to Pitch, somehow the planets aligned and virgins were sacrificed and the rest of the screens stopped functioning correctly! And to make matters worse, I've learned that I need to restructure things globally throughout the game to accommodate the needs of handling sound and music volumes separately. So, it's pretty much back to the drawing board for Pitch. The beta will have to wait a bit longer. Looks like I am back to a blank slate once again. I've got some kinda luck...

Thursday, March 12, 2015

Premature Pitch

Well, okay maybe I was a bit too hasty. I realized that I forgot an entire menu screen in the game, and so I've been working on fixing that today. I am considering giving TestFairy a try for my little beta test, which will begin as soon as I finish adding in the missing settings menu screen!

Pitch Beta

Well, today I got Pitch from alpha to beta. I've got everything in-place, now it's time for a tiny beta test. Nothing complex, just contact me if you want to test the game out, I will send you a build of the game, you install it, play it, and then just answer a couple questions, like did you like the game? Would you play the game? Would you tell others about the game? Simple.

Requirements are that you have an android device, and that you have the ability to install APK files to your device locally (so not from any app store)

Monday, March 9, 2015

Pitch, Pixels, and Music

I've composed two background music tracks for Pitch, and I have been working on these Chronos tiles. Might be silent here for a week, as I will mostly be working on a new larger commission of tiles for Chronos. Pitch is still in development, but is taking a bit of a back-burner status while I tackle some freelance jobs to get my bills paid. Anyone want to donate some funds towards the development of our projects, please feel free to get in touch.

Sunday, March 8, 2015

Pixel Pushing Power Perfection

Try saying that title line 10 times over, lol!

I've gotten to grips with PyxelEdit and have been using it for a new freelance commission for @PixelsoftGames upcoming project Chronos. The workflow is really nice and blows away my old process of working in 3 applications at once to get things done. I'll still need to do some copy/paste magic between PyxelEdit and GIMP for some things, but for the most part, this new tool really fills in gaps in my productivity for pixel based artwork.
A work in progress commission
The tools in PyxelEdit are really tailored to the needs of a pixel artist, and that lets you focus on the creation and not on getting the software to do what you want it to do. What would normally take me a few hours before, now only takes under an hour. Thank you, Daniel Kvarfordt for creating PyxelEdit!


Saturday, March 7, 2015

Pyxel Edit

I purchased PyxelEdit today and I'm watching the tutorials to get up to speed with the software quickly.

Meet puff, the not-so-friendly dragon!
I spent maybe a minute or two at the most doodling this. It's not for anything, I was merely trying out how the control is. I use a mouse, so the amount of lag between my hand movement and the pixels that are drawn are something I need to train a bit with.

The crazy tiled pattern in the background was me playing with the color replacer tool. I've only spent about 30 minutes with PyxelEdit so far, but I am quite impressed with the software. It's well worth the money ($9 USD at the time of this writing) and is available here.

I had planned to work on Pitch some more today, but I had a couple freelance jobs come up, so that takes priority. Gotta pay them bills somehow!

Friday, March 6, 2015

Pitch Alpha

Well after much effort, my little Pitch project is now in Alpha. I need to create the audio content and integrate that into the game, then integrate Unity Ads, and then it's time for a tiny semi-public beta, and then, the release to the masses on the public market places!

I'm excited. For audio, I'm messing around with an amazing little Sampling Studio called Independence by MAGIX, and Reaper for recording the "Inde" VST output. More on this later. I'm exhausted, and heading to bed.

Unity wtf Unity?!

Unity 5 has had me pulling out my hair trying to solve a very simple task. (Animating a sliding menu panel on a button click event) It turns out that somehow the button I created for the task somehow was screwed up. I had recreated the animation stuff at least 7 times and each time I got the wrong results. (Animation played backwards, when it was not being told to do so)

My wife jumped in and just created a new button and linked it up to the animations and everything worked fine. So, re-styled her button like mine, and removed my button, and that completes the scene.

I have spent more time trying to solve this one stupid thing than I've spent on the rest of the game (which is very near to completion now) and it was nothing I did wrong, nothing I could have done to change it, just a stupid fluke in Unity 5's wonderful new UI system. Go figure!

Wednesday, March 4, 2015

Pitch Experiment on Unity

I've decided to focus on developing the experimental project named Pitch with Unity 5 instead of using libgdx. This takes the project into several new fields for me, with using Unity 5 for developing a game, using Unity on android, and putting Unity Ads into a game. I'm not expecting much, but hoping for the best.

That said, I will be putting up some dev progress of Pitch and Flip16 soon. It's been a hectic past few days, and I haven't had as much available time for development as I'd like to have. Today for example was spent away from the office, so pretty much nothing got done... stupid need for groceries and all that...sigh

Tuesday, March 3, 2015

Unity 5 is out!

Well, I watched the live GDC launch event thing for Unity 5 on youtube today and I am really looking forward to trying out the new Unity 5. I am downloading and installing it now. Going to probably be moving Flip16 dev to Unity 5.

Missed a day! Well, sort of...

My crazy sleep schedule has once again become so crazy, that I completely missed being able to post on the 2nd. So a short recap of progress of Flip16.

I managed to figure out what was needed to finish up the main menu scene. Now it's on to designing the level select scene.

I will create a micro-tutorial on how to create a menu scene in Unity using the new UI soonish, and post it up here.

Sunday, March 1, 2015

Streaming on Picarto.TV

I'm going to stream a bit of stuff today on Picarto.TV (Twitch just wasn't working out for me)

You can tune in here https://www.picarto.tv/live/channel.php?watch=RamblingIndie

Going to be working in Inkscape for a little while.

Why is the new Unity UI so insane?

Hello, March 2015. My aren't you a crazy cold one aren't you? (About a foot of snow covers everything as far as I can see out my window...)

Well my first encounter with Unity's new UI has left me searching for answers to something that really shouldn't have been a question. What? The retarded over-sized Canvas that gets drawn in the Scene view. What the hell were the Unity devs thinking?

This sums up the problem with Unity UI Canvas pretty well.

The image above I found in a thread on the Unity forums. Credit to the owner. It is not mine. And I think that it sums up the problem with Unity UI rather perfectly. I'm using the Unity 2D Sprite system to create my game, and then I was going to add the menu using the shiny new UI system, and a hair-pulling, mind-numbing truly baffling situation occurs when one tries to add in a menu. I added in a Button control to my scene, which tosses in the Canvas and EventSystem objects as well. But the Text on the Button never showed up. Why? Because the stupid text was sitting about 4000 pixels off screen!

After a few google searches, I learned that this is the proper behavior of Unity UI. Why? I don't know why. It's stupid. But once you know about this really stupid design, then you can get down to using the seriously powerful and useful Unity UI.


Saturday, February 28, 2015

More to Life than you see at first glance.

I've been playing Fantasy Life for the 3DS (Nintendo's great little mobile gaming platform for those that have been living under a rock) and I absolutely am addicted to the game. I play for anywhere from 10 minutes to a few hours every day or every other day. Finding the time to play isn't too hard. I usually play on man's favorite throne, or just before bed, or sometimes just while hanging out in the living room with my family. Anyway, the game is great.

I've beaten the main story of the game and there is still so much more to do. The replay-ability is insane. I'll not write any spoilers here for anyone who may be playing the game at this time. I will say that there are side-quests that you will get early on that you cannot complete until after you beat the game, and even later. I'm a pretty high level, and have done a lot of grinding, and there are still over 500 monsters that I cannot even put a dent into with my best weaponry.

I highly recommend that you give the game a try if you have a 3DS, and if not, then go get one and get Fantasy Life, because it's a great game with a lot to do, and a lot to enjoy. Everything from the graphics to the music, the story, the gameplay mechanics, the balancing. It's all there. I'm thoroughly impressed by this title, and there are very few games I've played which are able to come close to the fun factor which can be found here.

In other news, I realized that my version of Unity was not up to date compared to my wife's version; so I downloaded the latest build last night before bed. Time to go install it and get back to Flip16.

Friday, February 27, 2015

Unity is...

...interesting to say the least. Yeah.

So my wife and I both installed Unity and we are working on figuring things out for Flip16 simultaneously, and it was a fun time finding alternative ways to solve the same problem. Neither of us are familiar with the software, so we're both stumbling around and googling things to find answers.

It's going to be awhile before Flip16 is ready for prime time, but at least we get to work on this together, so that's a plus. :D

It's really cold 2 degrees F right now. And really late...so I'm going to sleep.

Thursday, February 26, 2015

I need a larger hard drive...

Well, I managed to reach 99.2% usage of my hard drive; which means I cannot create anything else (it won't let me; and the system is running sluggish now)

So, I am going through and deleting all the old stuff that I no longer need or use, and moving files I want to keep to an external drive. So far I've cleared up 30 GB from my home folder.

Sadly my drive is only 250 GB ( I've had some bad luck with hard drives lately. I've gone through three larger drives in under a year! ) --- if anyone reading this wants to donate some cash for a good cause ... I really could use a new hard drive!

Flippin

PyQt GUI prototype of Flip16
I've worked on the Flip16 prototype more today, and I've nailed the mechanics down, and have implemented the game timer and multiple levels. Again this is still the prototype, and we are going ahead with trying Unity for the actual game. Just installed Unity and we will see how it goes.

I've learned a lot about PyQt with this prototype, and I think I will end up making a bit of a PyQt game prototyping template for building other small game prototypes with in the future. I might even clean it up and release it to the public under MIT license or Creative Commons or something. Only time will tell.

Wednesday, February 25, 2015

Another small game is in the works

It's no secret that several projects tend to be worked on concurrently here at Bang Bang Attack Studios, and for many indies out there. Some may say that it's bad to shift focus from project to project. I think that it's somewhat necessary to think about different things, so as not to get burnt out on one thing in particular.

That said, we've got another little game project which features an old puzzle mechanic of tile-flipping. Think the old hand-held Tiger Electronics Lights Out game from the 90's.

PyQt GUI prototype of Flip16
We are in the prototyping stage at this time, and last night I built a working prototype of one of the primary mechanics using Python and PyQT for GUI. Not going to use that tech for the final game, but for my needs of prototyping things, it worked out well. In less than 150 lines of code, and 2 to 3 hours I had my prototype up and running and playable. Most of that time was spent reading the Qt docs and googling for Python snippets to do what I wanted since I'm out of practice with Python lately.


Our target platforms will be android devices, and PC desktop. This brings the question of what tech to use for the game. We are considering using Unity this time around. It's undecided at this point though. The actual game assets and more mechanics prototyping will come first.

Losing Track of Time

I wanted to maintain a steady minimum of one update a day. Midnight got here way too quickly today for me, so this post is a little late.

I have been working with a new small start-up to get their online presence created, and to help them to create their brand. Still lots more to do, but that is where my day went. Well, aside from being a husband and father...

In other news, I figured out how to record my desktop audio while recording my screencast/live streaming. However a side effect is that the video now has very noticeable artifacts. So until I can figure out how to resolve that little problem, I will be producing silent videos. If you know how to solve the problem, please do tell.

I'm using Libav's avconv command-line tool for recording my videos on Ubuntu linux. I am open to any suggestions other than use a different OS. :D

Monday, February 23, 2015

Pitch Development #1 - Creating the Project

The first in a series of videos showing the development of my little experiment android game project "Pitch" has been recorded and published today.

Watch the video on youtube:


In this video I create the initial libgdx project, test that it works on desktop, and commit the project to a local git repository.

There is no audio, as I have not yet figured out how to capture audio for my screencast. If you have any questions, just let me know.

Sunday, February 22, 2015

libgdx and Universal Tween Engine

Today I have decided that I will be using the Universal Tween Engine for my Pitch game project's tweening needs.

What is the Universal Tween Engine?
The Universal Tween Engine enables the interpolation of every attribute from any object in any Java project (being Swing, SWT, OpenGL or even Console-based). Implement the TweenAccessor interface, register it to the engine, and animate anything you want!
It's actually pretty damn cool, and easy to use. At first I didn't think it would suit the simplicity of my project, and would make it bloated and be confusing to work with. I was dead wrong.

Using the Universal Tween Engine is quite simple. I have put together a very short demonstration of using the Universal Tween Engine to tween the position and opacity (alpha) of a libgdx Sprite. I used gdx-setup.jar to generate my project and I copied the sources of the Universal Tween Engine from it's directory which I cloned using mercurial into my project's code/src folder. See below.


The only source file which you really need to worry about is the MyGdxGame.java file which I have put up on github as a gist for reference.


I am not going to go into detail explaining things here, but the docs for the Universal Tween Engine are more than adequate to tell you what is what.



Experiment (Pitch) States

Here is a simple diagram showing the different 'states' that the Pitch game can be in at any one time. The notation I am using here has primary and secondary states shown. Second states have the primary state and two colons then the secondary state name.

Pitch Game States
The game should start in the Splash state, then progress to the Title state, then to the Play state, which then has 3 secondary states which the game will transition through, before returning back to the Title state.

The game will eventually become more complex once we add Credits, and Social Integration states, but this will suffice for now.

It's not all development

I spent most of today playing games. Not really in the right state of mind to work on anything, so I just relaxed and had some fun. I blame the ridiculous weather we are having for my lack of interest. I have been putting together some plans for my next streaming session though. I will let you all know when I'm going to stream again.

Friday, February 20, 2015

Oops!

So I hadn't thought things through last night. I said I was going to stream today, but it's my son's birthday, so streaming is going to be delayed a few more days. I will make an announcement here, facebook, twitter and google+ feeds.

Thursday, February 19, 2015

No streaming today

I had planned to do another streaming session today, but I had unexpected company visit and so there isn't time to do the stream tonight. I will try to get things ready for tomorrow.

Testing libgdx projects on the desktop while using Android Studio

If you have tried to use libgdx with Android Studio and found that you are unable to run the Desktop build, I would like to inform you that it now indeed possible, just takes a few more steps than running the android build.

First in Android-Studio click on the Gradle tasks bar at the right side of the screen. Then click the little arrow on the left of your gradle project name under the All tasks category, scroll all the way down to the :desktop section and click on the right arrow on the left of :desktop, and again scroll down and find the run task and double-click on the run task.

This will attempt to run your desktop project. Provided you have no errors, you should see your libgdx game window appear just like it used to with the older style Eclipse based projects.

Now, once you have done this, you can click on the Run menu item in the main window menu bar and choose Edit Configurations.

You should now have a new Run/Debug Configuration under the Gradle section called yourprojectname:desktop [run]. You may use this new configuration to run your desktop project without needing to find the run task in the long list of tasks.

I hope that this little mini tutorial has helped you work more efficiently with libgdx and Android Studio. It certainly was a wonderful thing to find today for me, as I have been cursing out Android Studio for it's lack of desktop application support ever since I downloaded it.

I used to curse about libgdx adopting Gradle for it's projects, but now, I certainly agree that it was a good move, and that it makes things a lot simpler. It all needs better documentation though. Things like this should be available right in the setup docs, without having to dig into the software blindly and happen across the answer.

And now for something completely different!

It's always a good thing to remember that life exists away from the computer. Today I spent some quality time with my wife and son making some crafts. I chose to create a wire sculpture out of a very affordable material...

Just plain ole uncoated metal paper clips from Walmart. I used around 30 of them...I honestly lost count. This is my first complex humanoid sculpture, and I'm rather proud of it. I might 'bulk up' the sculpture later with aluminum foil and/or clay, but for now, my fingers hurt from molding the stiff clip wiring.
"bo staff fighter"

Wednesday, February 18, 2015

Mmm Organization.

As an indie developer it is often useful to have a place to store your ideas, notes, task lists, etc... and a nice easy way to keep track of what you are working on, what you should be working on, and what you have already done. This my friends is called organization.

I personally have a desire to be more organized in all things that I do. I admit that I have sadly failed most of the time at keeping my personal development organized. This is hopefully going to change. I have decided to start using a kanban board to help manage things. I've found a great FREE web-based kanban board at kanbanflow.com and after less than 2 minutes I was able to start putting it to use as if I had been using the app my whole life.

First thing I did was edit the columns. The defaults are nice, but they don't serve my needs.

I have the following columns now.

  • Backburner
  • Ideas
  • Tasks
  • In-Progress
  • Done
This gives me a place to store my ideas when I think of them, stick things that I know I won't work on for a long time on the back burner (and tasks that I decide are not important anymore), tasks that I need to do, tasks that I am working on, and tasks that I have done. All in one easy to access and manipulate location.

There is a premium service available as well. I'm considering it if this proves to be a productivity booster for me. Just thought I would share this with you before I head off to bed.

Streaming #1

Alright, well I just wrapped up my first live streaming session. It didn't go as well as I had hoped, but maybe it will be better in the future.

For those that missed it, sorry, but I don't have it recorded. I just learned that I can have Twitch.TV archive the broadcast for 14 days (since I'm not a paid user - paid users get 60 days archive storage)

Anyway, a quick rundown on what I covered:

  • creating initial Gradle libgdx project using the gdx-setup.jar
  • importing build.gradle into Android Studio IDE
  • adding the classes to the project which I will flesh out as I go
  • starting the initial Game class code
  • creating the initial Splash Screen class code
  • testing the project on my android device (HTC Desire HD)
  • debugging NullPointerException from my attempt to load the wrong texture atlas format, then using the wrong data type to store my region data.
  • and finally wrapping up after successfully getting the result that I wanted on my device.

My system is pretty beefy; 8GB of DDR3 ram, 8 cores of 3.2Ghz AMD goodness, and 64-bit Ubuntu 14.04. But I swear between the broadcasting process and android studio, I thought my system was going to die of a heart attack!

I will be streaming more in the future, however I will likely stream in shorter segments to allow my computer to cool down between broadcasts.

Thank you to anyone who watched my first ever broadcast development!

Tuesday, February 17, 2015

Trying Twitch TV

So I've decided to give streaming a try. You can watch some live indie game dev if you're interested. http://www.twitch.tv/ubervestigium

Starting an experiment

Last night I ran across someone making a joke post with an image attached which was nothing more than a solid black rectangle. The comments (d)evolved into additional jokes about how it was really a new AAA game with all black textures and what was being shown was an in-game screenshot of it in action.

This got the wheels in my head spinning and I thought, well, why not make an actual game that was all black? And so, I am starting the development of a small game for android devices which features all black textures as an experiment to see how playable, and how many people play such a game.

Now, this may sound completely absurd I know, but I think it will be fun, and educational. So if you care to learn more. Stick around. I will be posting more about this experiment and it's development over the next few days/weeks that it takes to bring this game to market.

Hello

Hi! My name is Richard Marks, and I am the co-founder of Indie game developer Bang Bang Attack Studios. I've started this blog as a place to share development stories, tip, tricks, rants, and project devlogs with our audience. Welcome to our little place on the web. Enjoy your stay.