Wednesday, October 1, 2014

I'm On the Weird Part of Game Dev Again

These last two weeks have been a bit weird. Maybe it's because I've been focusing on working in game mechanics into "Cat Project" and I was getting a bit tired of it, but I've been adding in sillier things into the game recently.

Last week I added a crouch action to the game, mostly as an excuse to turn Kitty into a catloaf:

Loafing around.

The "loaf position" with serve other purposes in the future, other than being cute.

This week I added two things. First is a, uh, cat paw to the (interim) main menu:

This is silly.

The above GIF is just me testing the cat paw being drawn at different angles and lengths. It will be part of the finalized main menu.

The second things I added this week is a new passive enemy type: the balloon:

Balloons! Kitty is pleased. *smack* *smack* *pop*

Like the laser pointer, balloons do not harm Kitty, but he can smack them around using uncharged swats. Charged swats will destroy them. They'll probably serve as bouncy item containers in the final game.

Saturday, September 13, 2014

The Cat Came Back

I took a break from posting updates last week because 1) it was very late and 2) there wasn't much to post about. Oh well, that just means more updates to show this week! Here's what I've been working on the last two weeks.


New Health UI

I have replaced the old rectangular health meters with rows of health icons:


For your conveience, here are the icons close-up and isolated:

I realize that this isn't the best background
colour in the world to use in this case.  
The player's health is represented by cat heads while the enemies' are represented by gears. The smallest unit of health (1 HP) is represented by half an icon. And on a related note, I've also added healing hearts to make your sad, monochrome cat heads happy again.

<3 x 0.5, <3 

Doors

Cat goes in and reemerges somewhere else:

Non-Euclidean geometry. How does it work???
I like how the door-swinging animation turned out. The power of trigonometry! The doors not only allow you to move quickly between two points in the same room, but they will also connect different rooms together in certain multi-room levels, as demonstrated in the video below:



The game is getting closer and closer to becoming a stand-alone playable demo, but it still has some ways before getting there. Needs a lot more polish.

And now that I'm finished, just for fun, here are some outtakes:

Kitty and the Amazing Technicolor Dream Doors

A Glitch in the Matrix Pause Function.
Aww, kitty thinks he's The One.

Sunday, August 31, 2014

Cat Concerto - Now with 80% less yowling!


(No, "Cat Concerto" is not the new name for "Cat Project".)

I haven't had much time to work on "Cat Project" this week; I had to take care of a friend's dog and bird (no cats though, except for a surprise visitor in the backyard). So the game is pretty much the same as it was last week. However, I did get a chance to work on some of the background music for the game, which I've neglected to talk about since I started this project.

Currently, I have two tracks to show. To give a bit of background, both of them are "hand-me-down" tracks; music that was composed for other projects that got cancelled that I fixed up and remixed for this one. No point in letting them go to waste. The first one is the title theme:



I don't know if it is technically a waltz (maybe it's a minuet, or some perverted fusion of the two, who knows?), but I just call it that out of habit. In any case, it's a fuzzy, lighthearted track that sets the mood for the game.

Next up is a level theme track thing; it's a work-in-progress:



The vaguely "meow"-sounding lead synth in the second half of the track is a patch I accidentally made with fiddling and twiddling around with the knobs on the Dreamstation DXi2. It seems appropriate for the subject matter at hand and I kinda like it. I just hope the novelty doesn't wear off to quickly.

Saturday, August 23, 2014

Kilkenny Kitty 2 - When Cats Attack


Meow!

M.S.T.O.P. here with some new updates on the "Cat Project". I'm going to try to make my updates weekly, syncing them with Screenshot Saturday. Here are this week's updates:


New combat mechanics

Last week, I demonstrated some changes to the combat mechanics: faster swats, tougher enemies and hitstun.

*smack* *smack* *smack*

This week, I made some more additions to make "Cat Project" even more action-oriented: knockback and attack-cancelling.

Kitty is not amused by practical joke. Also, an innocent
laser pointer gets caught in the crossfire and the toothbrush
begins its new career as part of a  juggling act.

Weak swats now push enemies back slightly; they can also be cancelled into another weak swat if it connects with an enemy, like in many beat 'em up and fighting games. Strong swats push enemies back further (though the hitstun the same, at least for now), but cannot be cancelled.

ORA ORA ORA ORA ORA ORA ORA ORA ORA ORA

Increased kitty health

Begone, evil spirit of good dental health!

Don't get too attached to it, the GUI will definitely change in the future. Health meters now show that both kitty and his enemies are no longer one-hit wonders. I haven't worked out how kitty's increased stamina will interact with the powerup system. (Previously, the powerup doubled as an additional hit point that was lost when kitty took damage, like in Mario games.)

Saturday, August 16, 2014

Kilkenny Kitty - "Cat Project" Update

I haven't had much of a chance to work on "Cat Project" this week due a multitude of events and factors in real life that took up my time. Nonetheless, I still have a few updates to share. I was experimenting with speeding up the pace of the game; besides increasing kitty's walking speed, I also changed the kitty's swats so that they come out faster, but each individual one is weaker. This means (at normal strength) kitty will now have to combo enemies into oblivion.

Eww. Dirty toothbrush! *smack* *smack* *smack*

The old, slower and stronger swat is now an ambush/charged attack. Holding down the attack key/button will make kitty raise his paw in waiting, ready to to deliver a strike more powerful than a regular swat at a moment's notice.

Kitty sneak attack

With this change, the Maneki Neko power's beckoning ability is now exclusively performed by the charged swat.

Come to me! ... I said, come to me!

Friday, August 8, 2014

An update on the "Cat Project"

I am participating in the ROM Game Jam this weekend, but before I go and start talking about that all weekend, I just want to update you on the status of the "Cat Project". I'm in a bit of a hurry, so I'll try to make it short.

To recap, I started this project two weeks ago. I don't have a name for it yet, so I'm just going to call it "Cat Project" for now. The game is about, you guess it, cats: their behaviours and quirks (both from my experience with cats in real life and what YouTube has "taught" me), their folklore, and some human misconceptions about them.

The basic premise of the game is you, as a kitty, have to rescue kittens from the tops of towers and swat away amnoying human technology along the way: noisy smartphones, hostile spray bottles, the unobtainable bright red dot, etc. Kitty will also collect "mouseys", the currency of this game, that will be used to "buy" things. There will be various power-ups that transforms his appearance and gives him special kitty powers, such as "Maneki Neko", which allows kitty to beckon mouseys to come to him.

Some changes since last time:
  • Redid the foreground and background tiles (they're still in an experimental phase). I also changed up my tiling system so that characters and objects no longer look like they're floating above the ground.

Out with the old...
...and in with the new.
  • Added graphics for "Maneki Neko". In Japanese folklore, statues and figures this calico Japanese bobtail in known for beckoning ("maneki") good fortune to their owners. In "Cat Project", every time Maneki Neko kitty makes a swipe with his paw, nearby mouseys will be pulled towards to him.

Feline Pied Piper
  • Added a new enemy, the Spray Bottle (shown in the bottom-right corner of the picture above). This object seems harmless, but it can attack kitty by spraying him with water without warning.

And here's a video showing the current build in action:


Sunday, August 3, 2014

KITTY! First look at my upcoming game project: "Cat Project".

Meow.

It's been a while since I posted here, but now I'm here to show you an early peek at my upcoming game project. I don't have a name for it yet, so I'm just calling it "Cat Project".



The game is based on, you guess it, cats: their behaviours and quirks (both from my experience with cats in real life and on YouTube), their folklore, and some human misconceptions about them.

The idea I have so far is you, as a kitty, will have to rescue kittens from the tops of towers (and other lofty sturctures) and fight through annoying human technology (e.g. noisy smartphones, mysterious humming toothbrushes, an unobtainable bright red dot, etc.). Kitty will also collect "mouseys", the currency of this game, that will be used to "buy" things and various power-ups that transforms his appearance and gives him special kitty powers.

A picture maybe worth a thousand words, but they don't do as much justice as a video would. So here's a video showing the core idea of the game (and some other little details):


So what does the feline community think of all this? Let's do a quick interview.


Hmm, I wonder if that cat's jaw was ever fixed.

Meow.

Friday, July 18, 2014

Gonna Catcha: Steam Greenlight and future plans

I'm pleased to announce that Gonna Catcha is now on Steam Greenlight! If you would like to see the game on Steam, be sure to vote "Yes" on the Greenlight page.

In light of this occasion, I've fixed up the trailer for the game:



Regardless of the status of the game's Greenlight process, I plan on restarting development on Gonna Catcha some time in the future, adding new features and game modes. Here's a summary of what I plan to do:

Score Attack mode


Gonna Catcha's current gameplay has you play through a series of increasingly difficult rounds to see how far you can get and what is the highest score you can reach. In the planned Score Attack mode, you'll play only one time-limited round to try to get the highest score possible. My plan is to make it come in three flavours:

  • Single-player: one person plays, self-explanatory.
  • Co-op: two people play as Pohena and Donum, working together.
  • Versus: two people play as the same character (two Pohenas or Donums), working against each other.

Change in Graphic and Audio styles

Currently Gonna Catcha sports an art and audio style defined by limitations inspired by the Namco Pac-Man hardware. While it has it's own charm, I am prepared to push these limitations higher, perhaps forward half a decade to turn it into something from the latter half of the 1980s. (My baseline is a style like Bubble Bobble.)


Additional Mazes

The game in its current state has four mazes spread across 16 rounds, which cycle endlessly. I plan on adding new mazes to the game, though I still have to figure out how these new mazes will fit in with the current game progression.

Saturday, June 21, 2014

Welcome to Cloud Saving! (dot.Market 1.2 Update)

M E M O R A N D U M

To: You, the Owner of this dot store

From: Dorothy A. Ellipsis, Dot Retail Strategist

Date: June 21, 2014

Subject: Welcome to Cloud Saving!



Hello You,

Our agreement to save our money and backup our business records in the Game Jolt cloud has begun!




Now if your dog ever eats our local records or you accidentally used them on your most recent papier-mâché project, you can just put in a request to download another copy from the cloud seamlessly and continue to run our business as if nothing had happened! Being stored in an abstract form, our puncta* are also much safer than hiding them away in the back of the fridge. The Tech Guy set it up so that your credentials are entered automatically when you come in for work, unless goes wrong then you need to enter your username and token manually. There were some other miscellaneous things that were also taken care of, you can read it here.

As an aside, I would also like to note that the big "Erase Data" you have set up in the Options room now will automatically destroy the records on the cloud in addition to the local ones.




It's convenient should there, I don't know, ever come a time when our business experiences complete failure and you want to, you know, torch the place for the insurance money. ...Not that I endorse such extreme measures...


Actually, I did the calculations, out of pure curiosity and totally not because I think you should do this, and did you know that if you did burn the place down for the insurance, after the costs of registering a new business, buying a new location and bribing everyone, you would be left with 3000 puncta to buy new dots with. I find that quite peculiar, wasn't that the amount you started with? Not that I'm implying anything...

OK... I think I should stop writing now.


Best Regards,


Dorothy A. Ellipsis, Dot Retail Strategist (And Totally Not Crazy)


* FYI: "Puncta" is the local currency. Just in case you forgot.

Sunday, June 8, 2014

Introducing a new member to your dot business team. (dot.Market 1.1 Update)

M E M O R A N D U M


My photo. I bet not many
people send you animated ones!

To: You, the owner of this particular dot store

From: Dorothy A. Ellipsis, New Recruit

Date: June 8, 2014 

Subject: My Introduction and Various Improvements Made to the Store





Dear You,

My name is Dorothy A. Ellipsis and I was hired as part of your "My Store Sucks, Someone Help Me Make It Better" initiative. I believe my previous experience as a "Lowercase I and J Quality Assurance Specialist" and my through understand of the book 44 Things Successful Dot Marketers Do While Sunbathing will make me a tremendous asset to your team. I am super excited to start working! In fact, I was so excited that I already rolled out some improvements to the store!


Low-resolution cursors

The old cursor was too expensive to replace when it broke. (It was like that when I got here! I swear!) They were high-resolution models that were made up of many dots, and have you seen the price of dots lately?! So, I decided to order another that are made of less dots and cheaper to maintain. I struck a deal with the distributor where if we put an order for the standard arrow cursor, they would throw in an animated wait cursor at no additional cost. A team of highly-trained stealth renovators have been dispatched to install the new cursors and they should be ready when you arrive at your store for your next shift.




Faster news tickers

I've heard of slow news days, but I thought the old tickers were ridiculous. I gave the order to install new tickers with dot presses that work 50% 100% faster. Now you can spend less time reading the news and more time conducting business. If you're really in a hurry, you can put them into overdrive by clicking and holding anywhere on the news screen.




Autosaving

As the owner of your own business, you don't have the time to deal with petty things like remembering to save your game every once in a while, and quite frankly, I don't want to do it either. That's why I hired a Records Saving Technician, who will update your business records at the end of each business day. The Tech Guy (I don't remember his name) only comes in at closing, so he won't get in your way of your daily routine and, for all intents and purposes, is invisible.

If you want the boring version, you can read it here: Changelog.


In addition to these changes, I've come up with a few other ideas we could do to improve the store further:


Game Jolt integration

I've heard about your problem with your business records and cash box being put out on the curb with the trash. I won't pry into how this could even happen, but I've come up with a solution that may help. We can backup all our data onto servers run by this company called Game Jolt, and lucky for us they also offer banking services so we can put all our extra cash with them too. I'll get the Tech Guy to work on it right away! Sure, I didn't put this in his job description, but I'm sure he won't mind the extra work without compensation.

I'm seeing great potential in using Game Jolt's data storage in other areas. I'll send out another memo when I get the details all worked out.



Best Regards,


Dorothy A. Ellipsis, New Recruit

Tuesday, June 3, 2014

dot.Market Released on Game Jolt!



The LOWREZJAM has ended and dot.Market v.1.0.0 has been released on Game Jolt. Here are some screenshots of the current version:





I have already received some feedback on the game and I would like to continue to improve on the game. However, since I will be working on other projects in parallel with this one (oh, by the way, keep your eyes peeled for when they pop up on this site), it might take some time.

Enough talk, here is the link to the game:

Thursday, May 29, 2014

The Dots are coming! The Dots are coming!

No, no, no, stop trying to click on it. This is just a picture.
The real thing will be coming soon.

The end of the month is nigh, and there's not much left to do. I've noticed that I haven't posted something regarding dot.Market in a while, so here we are. Like my previous two posts, I had some GIFs prepared to show, but the design of the interface had changed during the process of writing this blog post, so they've already become obsolete. Instead, here's a video a quickly whipped up showing me fooling around the game for several minutes. (I would also like to note that this is also the first time I'm showing off the audio of the game.)




Things that have changed since last time:


  • The obligatory auto-save featureSo you can keep your play money safe between sessions.

  • New title screen When I'm working at such a low resolution, using Photoshop suddenly became much easier.

  • New main menu buttonsI designed them to look like cash register keys, for that extra retaily-goodness.

  • Transitions - The transitions don't only serve the aesthetic purpose of making the switches between certain screens less jarring, but it also cuts down on input error when the interface layout changes between screens.

  • Interface improvements in stock menu - I managed to fit in more buttons and widgets to make the process of stocking and replacing dots on the shelves and repricing them faster.

Things I still have left to do:

  • Some of the buttons still don't play sound effects when clicked.

  • An options menu, where you can reset your save file and see the credits.

  • Whatever I may have forgotten.

That's it for now. Until next time.

Thursday, May 22, 2014

1024 colourful dots arranged to look like a business simulation

With the month (and the LOWREZJAM) coming to a close and all the basic game mechanics completed, I decided to focus on making various screens and menus more presentable by adding backgrounds and coloured text. Exciting! These are still not the finalized graphics (the buttons in particular still need to be redone), but it's getting there.

So without further ado, here are some animated GIFs of the various changes I've made since last time. 


Stats screen

Note the new barebones income statement that shows the previous day's revenue (in green), expenses (in dark red) and profit/loss (in this case, a loss, in bright red).




Market Stats and Buy screens

Aside from the added background and coloured text, I added horizontal grid lines to the price history graph for better readability.




News screen

Added transparency to the news tickers, just because.




Sunday, May 18, 2014

Hey, you there! Wanna buy some dots?

I realized that I haven't been posting here for a quite a while. Between the various game jams and whatnot, I had created a bunch of game prototypes, all craving for my attention to polish them up. I spent some time working on some of them on and off, until I stumbled across a link to the LOWREZJAM 2014 on /r/gamedev. I forgot how it came to this, but I got the idea to make:

dot.Market

A Blocky Business Simulation

Enter the exciting and lucrative world of... dot trading? In this game you take the role of the sole proprietor of a store that specializes in selling dots. You buy dots from the wholesale market, stock them onto your shelves, slap price tags on them, open up for business and watch your merchandise disappear off the shelves, replaced by gross profit. The dots come in many variations (read: colours), each with their own individual markets (i.e. prices and customers) that change from day to day, following trends, depending on the forces that shape them. The game is currently open-ended, though the largest number I can fit in the window is 999999, which currently serves as a cap on your bank account.

I spent just as much time, maybe even more, testing formulas and crunching numbers in Excel trying to create a model of the dot market as I did coding the game itself. The model seems reasonable in it's current state. Note that I only took one course each on microeconomics and statistics in university, most of which I quickly forgot.

My inspirations are from other business simulations games, ranging from totally serious to quite fantastic:



Anyways, time for animated GIFs showing the basic functions of the game! Now with 100% more animation! (Note: these are not finalized graphics)


Checking out your bank account and inventory


Checking out price history and other market stats


Checking the news tickers

(Boy, the quality of business journalism has sunk to a new low.
But seriously, these are just placeholder news items that
don't do anything.)


Buying dots from the market


Stocking dots onto shelves and pricing them


Opening for business and checking the changes to the market

Stay tuned for more information. I promise to post sooner this time.

Tuesday, April 22, 2014

My GM48 10 submission: Fodder Cannon

Out of the blue, I decided to participate in the GM48 10 game jam held on r/gamemaker on Reddit. The theme was "Guns that don't shoot bullets". So I decided to make a game with guns that shoot minions at your opponent, and kick them into submission. Here is the result: Fodder Cannon.

You can download the game from itch.io.


Kick, punch. It's all in the mind.

I regret nothing!

It's been a long day.

Sometimes you just can't win. ¯\_(ツ)_/¯

And here's a time-lapse video of the process:




And here is the brief post-mortem I posted on r/gamemaker:

Did you succeed with your plans?

Finishing a full-playable game? Yes. Finishing absolutely everything I wanted to do? No. I wanted to implement a single-player option in my game but didn't have the time.

Did you come up against any obstacles?

The only obstacle I came across was a technical one. I had been testing my game on both the Windows and HTML5 platforms during the jam so that I could release a standalone and a web version of it afterwards. During the last hour of the jam, the health and ammo meters stopped working in HTML5 for some unknown reason, so I decided to drop it for the jam since I figured my time was better spent on polishing the Windows version.

What did you think of the theme?

This was the theme I wanted to do most. I was pleasantly surprised when it was actually chosen.

Did you learn anything new?

  • When I don't filter character and graphical designs in my mind and just draw whatever I feel like, things get a little bizarre.
  • I can compose something resembling background music in as little as two hours. I think it still needs a lot of work, but it turned out better than I expected.

Friday, April 4, 2014

Eaten... by some... Linux, or something.

Gonna Catcha v.1.1.1 has been released! And much sooner than I expected. This version also marks the first release of Gonna Catcha on Linux (so far only tested it on Ubuntu-based Linux Mint).


Minty fresh.

On the technical side of things, I overhauled the graphics code to make the game's codebase compatible with GameMaker: Studio 1.3. Up until release, Gonna Catcha was written with GM:S 1.2. When I tried to run the game in 1.3 (which was released as a beta) for the first time, I was greeted with this:


Gonna Catcha is now F2P.
You get the other 8/9 of the screen as paid DLC.
$10 for each ninth.

One of the big changes in 1.3 was the major changes to how it drew stuff on screen. I naturally assumed that the update broke my graphics upscaling kludge code.


Since I had read that the changes to the drawing engine in 1.3 made it much easier to upscale graphics pixel-perfectly and therefore made my workaround obsolete, I decided to rewrite Gonna Catcha's graphics code in accordance to the new method of upscaling.

About an hour later, I had finished the rewrite. I tried running the game again, hopeful that the problem was solved:

*cue losing horns*



Thank you internet!

Well, that was a bust. The 1.3 update didn't break my old graphics code after all. After another hour of probing my code, I finally found what was causing the problem. It seems that the function that toggles between windowed and fullscreen modes was preventing the window size from being changed. Not knowing if this was a bug or feature at the time, I just implemented workaround to get around it. Yes, I wrote out a workaround from my game just to write in another workaround. Based on other people's reports on the problem, now I'm beginning to think that it's a bug.


The rest of the updates are just bug fixes and interface improvements:
  • Fixed a bug where movement keys would get "stuck" if they were pressed or released while the game was paused.
  • Fixed a bug where lives were not being counted correctly after one player borrows a life.
  • Factory Reset now properly resets [Borrow Life] for both players.
  • Default key for [Borrow Life] (Player 2) moved from the 2 key to the 9 key (only takes into effect if you install a fresh copy of the game or do a Factory Reset).
  • Credits screen can now be exited by pressing any key or Start, Back or A on a controller (formerly just Esc).
It seems that by solving one big problem, the life-borrowing mechanic create a few small ones. Also, I moved the default key that allows Player 2 to borrow a life from 2 to 9 because it didn't make much sense for it to be on Player 1's side of the keyboard.