Tuesday, January 29, 2008

Hello guys, been awhile.

----
Xmas season and whatnot. Been busy and Jesus CHRIST have I been addicted to Tekken 6!
I don't even want to talk about how much of my salary goes into this frickin game.
You guys outside of Japan won't have played it yet but let me tell you it's a hell of a game. I pretty much gave up on Tekken after about 3. Far far better than the previous versions. Better, faster, more competitive, longer combos. To make it more interesting the game centers have a monitor unit that shows battles between Japans greatest fighters, very entertaining. You can also customise your own player on your mobile phone using a stats card buyable from a nearby machine. Unfortunately, I live in Fukuoka where some of the best players in Japan reside, that equals getting my ass handed to me on a regular basis. It's just frightening the reflexes of these guys- it makes me wonder how they'd handle themselves in a real scrap. Probably kick the crap out of anyone.

As for coding updates;-


It's tough trying to find inspiration to teach people how to make games in an almost obselete environment in AS2. People keep sending me mails about the beat-em up tutes and such but what you've got to understand is that sure, people are still making AS2 games for now but give it a while and watch while the next-gen of AS3 stuff comes out, utilising Papervision 3D and the extra grunt of AS3. In other words, continuing with the tutorials at this stage would be a waste of time. My aim is to gain enough knowledge of AS3 that I can convert most of the tutorials over, but it's extremely time-consuming. People forget that I can't program worth a shit. I'm very much an ideas guy, not so much into cutting-edge programming techniques but rather the whatever-works approach. I've got an artist guy just dying for me to finish him a tile-engine in AS3 and I'm finding it impossible right now. If anybody has some great links to making a flexible tile-engine in AS3, get me in the know OK?

I decided I want to finish off my current projects before I abandon AS2 completely. I've been getting on with the Nexus/Sirius demo. Currently developing a series of combat moves for the main character and found a great mocap resource at http://www.mocapdata.com/
Should be an update soon.

Monday, November 26, 2007

New trivia game about finished...




Ok, EvilKris game usually = hardcore blood'n'guts violence but in this one case I took a step out of my usual psychology and have gone and done us all a juicy little trivia game.

Little background- when the wife unchains me for a night, I often consume my wages playing darts in these amazing Japanese electronic darts-bars (which I KNOW will swoop over Europe one day) and afterwards when I get tired I like to sit down and play those little pub trivia machines they have. Addictive little bastards. So I thought I'd throw one out there myself. That's it. It only took about 3 weeks from start to finish, but I'd say TriviaCasino was one of my classier productions, well-nurtured from start to finish. Every font is drop-shadowed, every question hand-typed, transitions, blur filters, fake 3D, cute sfx, you name it. This one's even been obfuscated so no 15yr old decompiler is getting his greasy mits on that high-score without memorising the encylopedia. No loader in yet, sorry, and it is 1.8 meg so guys with slow internet connections will have to stare at the blank white screen for a bit. Plus I'm trying out FlashInCrypt with this one so there is a trial version stamp on the swf.

The version is beta- there's only 20 questions for each category so far, but I THINK that's all that needs doing. That's kind of why I'm releasing it here, for you guys to give me some feedback. I realise most gamers don't give a ff about Sports and History so I've only bothered with less elegant categories that most gamers can relate to, Music/Entertainment/Video-Games. That's right, bet you've never seen a pub trivia quiz that has questions about games.Don't try too hard to get the high-score as I'll be wiping out the current records when the proper game is released.

I have spotted a couple of bugs here and there and probably forgot about them, so if you see anything, any bad fonts etc, please report it.

So what is TriviaCasino? just your average multi-choice question game with a bit of gambling thrown in. If you get 4 questions right in a row, you'll get a chance to win more points in a bonus round that resembles a slot machine. Furthermore, from time to time a random 'Double Your Money' event will be launched, and if you decide to risk it, you'll have the chance to win twice your current points, or lose the lot. Having the high-score readily viewable on the first screen of the game adds incentive to beat it IMO, and I think I'll probably stick with that design for most of my future games- I figure the more EK trademarks that are recognisable in my games, the less chance my artistic license will be infringed upon by some unscrupulous website.

Wednesday, October 24, 2007

Well the good news is, me and this fellow Pele/Robin Mitchell chap have decided to embark upon creating a little Metal Slug clone. Not a hell of a lot of originality going on there and if he wasn't such a fabulous artist I'd probably not be so keen. I wouldn't say I'm not a big, big Metal Slug fan, but the businessman inside me was like "The art will sell the game by itself!!" so what the hell...? It's not like I'll be running back to The Damned any day soon after losing months of work on it. Coding new stuff - even if you're not into it- is fun and all is potential cut&paste for use in other projects anyway.

I committed myself to coding it in AS3 to start off with, but progress has been slooooow so instead of trying to get my head around the complicated innards of the new language I decided I may aswell lay it all out in AS2 and then convert it piece by piece to AS3 when it's all done (or pay some other sucker for the task). Don't get me wrong, I'm all for AS3 but Jesus does it make the simplest tasks a pain in the arse at times, I mean, just the other day I was trying to create some simple lines to show me the co-ords of bounding box on an mc- something which would take like two secs in AS2- and three hours later I still couldn't get the bastard compiler to stop throwing out error messages. I guess I'm just an ambitious rodeo-cowboy without the chops to pin down the beast, for now.
I've decided to keep note of what changes between the two languages screwed me up so far, and will be creating a new little AS2-AS3 Ref.Guide for Game Programmers to go up on the Sidebar any day now.

As for the engine, I started off using TonyPa's Tile-Engine but being frank I think if you're going to make a game that has as much art in it as say Metal Slug you're better off with art-based, as you're not repeating many tiles anyway. Andre Michelle created a sweet little art-based prototype for mario over on GotoAndStop.it using vectors and so far it seems the best option to me, being I can derive the co-ords for every platform just by drawing a line over the art background and taking the x,y for each end, and don't have to muck around with a ton of code, either.

Friday, September 28, 2007

Today was a bad day...

Ah Jesus F**cking Christ a virus wiped out my entire hard-drive this afternoon and before you could even say "System Recovery Software" the wife had gone ahead and wiped/reinstalled the lot by the time I'd gotten home from work.
Can't blame her, it was my own fault for downloading files from the wrong sorts of sites and BAM! couldn't even get into Safe Mode to stick my Flash files on a CD.
It wouldn't usually bother me much but I'd been working on The Damned again and had practically finished the entire game. I was literally days away from uploading it to the safety of the server.
Geez, Level 2 was looking brilliant. Not only did I have zombies with location damage all over their bodies - arms exploding, heads flying off at random angles and calculated velocities, but the magnum weapon was working well; enemies exploded into chunks of blood and guts at close range. Like a different game and much improved. The real killer is that I had painstakingly redesigned many of the 'death scenes', cutting footage from zombie movies out and adding my own little personal touches. Took weeks. Gameplay was far more exciting, the zombies came flying at you from out of the darkness but could be illuminated from a distance for a brief second with a round off the beretta. I'd also created a 'Salems Lot' style monster that crawled along the walls towards you following a circle radius. Ah man, they looked awesome but I don't have a single screenshot- it was all for naught. A labour of love, lost.
Fuck..
Not only that. An update of the SORF engine with enemy AI and extra moves. A prototype I had made for a potential remake of Green Beret, written in AS3. It was looking pretty sweet, had the guy running around the tile-engine and he would execute a slash Strider-style ie- as fast as you could hit the key.
Oh well, adapt, overcome. I'm pretty bitter but there's nothing like a clean slate to spur on the imagination.
I'm too down to go back to work on The Damned so for the time being I might get into the fighting-engine. I figure codewise it won't be the biggest stretch to get a decent little mini-game up and running in no time, so keep your eyes peeled here for that in the near future. Later dudes.

Thursday, August 23, 2007

Nexus/Sirius Continued...



Been working on the Nexus demo a lot recently.

Check out the updates. Elevator now works. Choose a floor (1-5 are explorable) and tap D to operate the thing. You can now enter rooms and use the UP array to search through the junk in them for objects.

When you leave rooms the doors tint to red to let you know you've been in them. At a later stage that'll change so they'll tint only when you've searched the entire room.
Don't bug me about stuff in the game being wrong. I'm not asking for beta testers here, and I'm fully aware that some doors tint before you've entered them, rooms not existing and levels doing funny things. Cheers.

Sirius, the brightest star in the sky. That's the new working title since I can't go completely ripping off Nexus now can I? Truth be told I've thought of a few little changes I'd like to make to the original game anyway. So, it's now not a blatant Nexus but inspired by Nexus. I hope to retain the atmosphere of the first game but evolve it with a few added extras such as a couple of new weapons and some other stuff I've been mulling over.

So, how would you set up a world similar to mine?

myMap = [[16, 12, 12, 12, 12, 12, 12, 12, 12],
[11, 9, 8, 7, 7, 7, 7, 7, 0],
[5, 4, 6, 4, 3, 2, 1, 2, 0],
[14, 15, 14, 15, 15, 14, 15, 14, 14],
[12, 12, 12, 12, 12, 12, 12, 12, 12]];

This is the array that represents the rooms for each level. So we've got 5 levels at present (elevator levels higher than 5 don't exist). The numbers in the array are used to reference the tiles that are used in the background.


//GLASS CAVERN
floor3 = [[[0,0],[10,0],[0,0],[0,0],[0,0],[0,0],[0,0],[1,0],[1,0],[0,0]],
[[0,0],[1,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],
[[0,0],[102,0],[102,0],[0,0],[2,0],[0,0],[0,0],[102,0],[0,0],[0,0]],
[[1,0],[1,0],[1,0],[3,0],[3,0],[1,0],[1,0],[1,0],[1,0],[0,0]],
[[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[0,0],[0,0],[0,0],[0,0]],
[[0,0],[101,1],[101,2],[0,0],[0,0],[0,0],[1,0],[0,0],[0,0],[0,0]],
[[0,0],[0,0],[1,0],[0,0],[3,0],[0,0],[0,0],[0,0],[10,0],[0,0]]];


This 2d array is for the main tiles on each level. It's 10x7: 10 tiles per screen, 7 screens per level. 0,0 would be an empty space, 2 is an elevator (for now), and anything from 3-100 is a graphical tile with no properties (so 1,0 is a barrel). 100 and up is a door. Each level uses a different door mc, so we need 101,102 etc. the second part of the array represents the room number. so [101,10] would work as say "Use tile with linkage tile_101 for the graphics and 10 we'll keep for later so we know what room it leads to".


myMiddleMap2=[{roomnumber: 1, image:0, entered:false, tile:"room1", roomArray:[[11,0], [12,0], [3,0], [13,0], [14,0], [1,0], [13,0], [14,0], [0,0],[10,0]]},
{roomnumber: 2, image:0, entered:false, tile:"room1", roomArray:[[11,1], [12,1], [2,1], [13,2], [14,3], [13,1], [14,0], [1,1], [0,0],[10,0]]},
{roomnumber: 3, image:0, entered:false, tile:"room1", roomArray:[[11,0], [12,0], [3,0], [13,0], [14,0], [1,0], [13,0], [14,0], [0,0],[10,0]]},
{roomnumber: 4, image:0, entered:false, tile:"room1", roomArray:[[11,0], [12,0], [3,0], [13,0], [14,0], [1,0], [13,0], [14,0], [0,0],[10,0]]},
{roomnumber: 5, image:0, entered:false, tile:"room2", roomArray:[[11,0], [12,1], [3,4], [13,5], [14,2], [1,8], [13,3], [14,2], [0,0],[10,0]]},
{roomnumber: 6, image:0, entered:false, tile:"room2", roomArray:[[11,0], [12,0], [3,0], [13,0], [14,0], [1,0], [13,0], [14,0], [0,0],[10,0]]},
{roomnumber: 8, image:0, entered:false, tile:"room3", roomArray:[[11,0], [12,0], [3,0], [13,0], [14,0], [1,0], [13,0], [14,0], [30,0],[10,0]]},
{roomnumber: 9, image:0, entered:false, tile:"room3", roomArray:[[11,0], [12,0], [3,0], [11,0], [12,0], [11,0], [12,0], [14,0], [30,0],[10,0]]},
{roomnumber: 7, image:0, entered:false, tile:"room2", roomArray:[[11,0], [12,0], [3,0], [13,0], [14,0], [1,0], [13,0], [14,0], [0,0],[10,0]]}
];


This is the array of objects for our rooms. We can give it as much information as we went, in this case roomnumber, image (no use right now), entered:- has the room been entered, boolean. tile: linkage for the room background mc, and roomArray is another array similar to the maintile array for coordinating object/furniture tiles across the screen. This time the second array number carries special information about what objects can be located when the player 'searches' the tile in question. Anything above 0 is an object. I've yet to incorporate anything such as puzzle pieces or weapons so at present all you'll receive is a "Got Something" message when you search objects in the rooms.

Monday, August 6, 2007

..little Nexus update...

I haven't quit the Streets of Rage engine, nope in fact it may have found a home.
I was approached by a talented artist about 2 weeks ago enquiring about a possible collaboration and it looks as though we may be working on a game together!
It's too early to say much about the project but suffice to say we've both agreed that it will be a medieval Hack'n'Slash a little like Golden Axe but with a lot more gore. There's a lot of ideas and concept art flying around at the moment but little else, so I'll leave the rest of the details for later.
Regarding progress, since my engine has to be custom adapted after we've set the framework for the character sprites and such, I've had some spare time on my hands to work on other projects. Therefore I broke out the old Nexus.fla and have been working on that. Goddamn was there some shitty code in there. But that is to be expected -it was the first game I had worked on since I started using Flash for making games, after all. It's nice to know my coding skill has upped and 1 year ago I wouldn't have dreamed of using arrays of objects to contain all the 'room' information in the base. I've put all my gained knowledge back into it and now things that screwed with me a year ago are working like a charm.
You can check out the update on the right. Now you can walk into rooms using the UP arrow and er..that's it. The doors to the rooms go red when the room has been entered, just like in the original Nexus. (You wouldn't believe what a bastard that was to get working, btw). Just laying foundations dudes.
I still haven't figured out how I put XML in Flash to good effect. People keep telling me they can't live without it these days but I haven't seen what use it would be unless we're talking about loading info on the fly. Saying that, I'll probably eat my words a year from now.
Laters.

Tuesday, July 24, 2007

STREEEEEETS OF RAAAAAGGGGE!!! (umm..and spike-out)

SO, here's the story. I was fiddling around with the Streets of Rage tutorial and thought "Hmmm this engine is coming along rather well" and decided to scrap the tute and embark on actually creating a proper game. So here's what I've done so far;-

USE THE ARROW KEYS FOR MOVEMENT- DOUBLE TAP ANY DIRECTION TO RUN

W = BEAT BUTTON Q = JUMP D = POWER


BEAT BUTTON CAN BE USED FOR COMBOS+GRAPPLE ATTACKS/THROWS
POWER BUTTON CAN BE RELEASED AT SET LEVELS TO PERFORM A SPECIAL MATCHING THAT LEVEL (AKA.SPIKE-OUT)










ENJOY!

Yes it's only a basic demo, just a small preview of what's to come- but at least the mechanics at this point are- in my opinion- pretty fluid. Took a lot of fiddling around with keyhandlers and the like to get it working like that. There are soooo many beat-em ups out there that look fantastic, but playwise lack the juice to keep you intrigued. This is mostly down to controls being unresponsive (bad coding) or the characters movements too slow (bad design). So I made an effort to keep things frictionless.

Pretty much everything I'd love to see in a 2d fighting game I intend on having, borrowing the best bits from the best games and leaving out the poo. Floating combos, multiple grapple techniques, power-up attacks, firearms, hitting grounded enemies. God I'm violent. There's only a handful of those in the demo so far, but keep your eyes peeled...


I you can draw real art, (ie something other than crappy little cutesy characters), please get in touch. There's money to be made for a good artist in Flash these days. Companies are beginning to realise the huge potential of advertising within online games and financially speaking things lousy sponsorship deals are becoming a thing of the past and giving way to percentage earnings. In other words, the day may be dawning when we can actually earn what we're worth. As you can see, the current demo uses placeholder graphics and one day I hope to either put in my own graphics, or hopefully get someone who has some real talent on the job.


I discovered a couple of handy coding techniques along the way with this puppy, such as saving a reference to whichever bad guy the hero is beating on after he comes up on the hitTest--bleh, difficult for a moron like me to explain, but in other words, you could do something like. hero.current_enemy._x=500;
In other words you have all of the current enemies properties available from within the player object. It saved me a lot of time. Guess my skills are improving, but I'd still love to know how 'real' programmers manage to code entire games without putting any lines within their movie clips as I completely struggle to figure out ways of avoiding that at times. There's that old coders adage that "It's not the code but the game that matters" but it's a great feeling when you know your coding is clean and organised (and all on one frame!).


Had an odd urge to go back to coding the remake of Nexus once again. I know the project is supposedly abandoned, and I had no intention of returning to it, but I can't help it- recently great ideas for how it could be done just keep popping into my head. I started scribbling down some map diagrams for the base and who knows, I might just break open the old swf and get cracking on it again.

This doesn't mean I'm blowing off Bounty Hunter 2, but the scale of that game is so large I'd be crazy to focus entirely on it when there's other more attainable visions to chase. Go with the flow of your mind dudes, that's all you can do. As long as you never stop a project completely you'll always have stages in the year when you feel like adding a little bit to it here and there.