PDA

View Full Version : Multiplexity: Crashblock



jasonf
06-02-2007, 01:29 PM
This is the first time I've entered a PGD compo, so go easy on me eh?..

The multiplexity idea is... challenging, I think most people can think of a game idea if it can be easily based on a standard genre.. it doesn't take a massive logical leap to come up with another Doom (although implementing the idea is another story). I think that my chosen idea is probably not the most imaginative, but it could be fun to play and I've not seen anything like it before, It seems like a good idea and won't be trivial to implement.. so Ladies and Gentlemen, I present to you my idea for the 2007 Pascal Game Development competition.

Crash Block

(waits for the roars of applause from the amazing anti-climax to die down)

Basically, it's a cross between Flashback and Tetris. A player is trapped within a Tetris game and has to survive by playing the pieces. Only there's no simple control system. The player has to throw things at a crane holding the current tetris block to move it into place. Once in place, or once the chain snaps, the block crashes down until it hits the ground... or the player. Completing lines removes it from the play arena

The player has to scramble over the blocks to get to a good vantage point where they can control the crane better and avoid squishy death at the hands of the heavy blocks above.

I've put the details in the design doc which is sitting on my site at
http://www.cerebral-bicycle.co.uk/pgd2007compo/CrashBlock%20-%20design%20doc.doc

Traveler
06-02-2007, 02:31 PM
I've corrected the link in your post.

Make sure you don't use spaces in your filenames, they usually dont do well when used as links.

WILL
06-02-2007, 02:42 PM
Wow... *thinks of being trapped in a tetris game* :eh: ...nope can't be fun the the guy stuck in there. ;)

Be great to see how this turns out though!

Don't forget to submit your entries through the competition system!

Ñuño Martínez
07-02-2007, 08:44 AM
Crunched by a tetris piece... A great nightmare :hellspawn:

I like the concept.

jasonf
07-02-2007, 09:18 AM
Thanks mate, Ideas like this happen if you eat too much cheese before bedtime.

I'm just hoping I can deliver :D

The idea sounds easy enough, but setting up the bluescreen to capture the required animations will be hard work.

jasonf
09-02-2007, 09:24 AM
I managed to get the basic framework up and running last night, what might be called the skeleton of the engine.. basically, a background screen and a menu. But I've not got anything to get excited about yet.

My wife's going to check with her Uni to see if they've got bluescreen capability. I hope they've got something I can use, I'd hate to have to manually alter each frame of animation to set the background colour.

We're also going to need at least 2 80cm x 80cm x 80cm cubes, also in blue. These will be the blocks she has to climb on.

I'm guessing at a push I could use something else.

Then there's the issue about how to control the Tetris block. In my design, I've said the player will fire/throw projectiles at the crane and blocks.. that might prove a little difficult for a child to do. So I may simplify the controls a bit.

Perhaps Space calls the crane to the current X-position and Enter rotates the block, backspace makes it fall. That would give an incentive to run around the tetris arena.

That would remove the need to fire or throw things, the player could just focus on running and jumping.

I'm really impressed with the speed that other contestants are getting their games up and running. This is the first week and we've already got some good stuff coming out. I'm really excited about this years competition.

Traveler
09-02-2007, 11:08 AM
I recall playing Blockout (http://en.wikipedia.org/wiki/Blockout) several years ago. It is sort of tetris but in a semi 3d environment. The controls were very easy and may be what you are looking for as well.

You can download it here (http://www.blockout.de/index_english.html) if you would like to try it out yourself.

WILL
09-02-2007, 02:41 PM
A live action Mr. Farmer... can't wait! :twisted:

:lol:

jasonf
09-02-2007, 04:26 PM
Actually, it'll be the lovely Mrs Farmer, and so far the idea is She'll be wearing her Motorcycle racing leathers as a costume.. I suggested French Maid outfit, but she wasn't having any of that ;)

jasonf
16-02-2007, 09:04 AM
Oh dear, I'm falling behind I think. Real Lift (tm) is killing my dev time. Who'd have thought that purchasing a house would consume so much time, money and energy. After sorting numerous things out with the house move I find myself too knackered to do any work.

I have done some graphics though.. but I'm only inching ahead instead of the sprinting that I should be doing. At this rate, I'm going to need some serious crunch time to get into the project and make any progress.

For the 2nd deadline I'm hoping I'll have the tetris elements well in place and a playable tetris game - the mechanics of which will change as soon as I put the platform game element in.

It did give me an idea this morning though.. If I make the game playable in 2 modes...

Survival:
character has to play the game and avoid squishy death.

Vindictive:
player has to play the tetris game and attempt to squash the little character for bonus points.

If I can find an activity for the player while the tetris game is being played, like pulling or pushing blocks around, I could make a network game where 1 player plays the tetris game and the other plays the character. I can see that being a lot of fun.... This will only be put in if I suddenly find a whole bunch of time under a rock or something.

At the moment, I'm only planning to include the Survival mode.

Traveler
16-02-2007, 10:59 AM
I know exactly how you feel. I just wrote WILL a pm where I mentioned the same thing. Way too busy at work and not in the mood to do any good stuff when I get home.

Fortunately I do have the weekend off, with little to nobody to bother me, so with a bit of luck I may be able do some serious coding then :)

Huehnerschaender
16-02-2007, 11:06 AM
Guys, don't give up too early... you don't have to have a complete game in stage 2. It's just starting an exe, showing your main game environment, some steering and thats it... a BASIC game engine... It was nothing else last year. The gameplay and game can and will change during development. But giving up in stage 2 would be horrible, because you'll have much time later on to make things better...

Every stress situation will have its end. Personally I am too in a stressy situation. Job has deadlines, too. Family (and me too) is ill. This compo project, my other game project, some other projects here and there. All in all I only have one hour a day for everything in average...

But I will continue and most things are much easier than I thought in the beginning.

Traveler
16-02-2007, 11:35 AM
Who sad anything about giving up? :wink:

Expect some screenies from me that'll knock your socks off :rambo:

ps sry for the thread hijack. I'll stop now.

Huehnerschaender
16-02-2007, 12:11 PM
Fine! I'm expecting them! :)

The posts let me think that you are just before giving up... if I misinterpreted it, the better it is! :)

jasonf
16-02-2007, 12:49 PM
Never give up.. Never surrender :rambo:

Yeah, I'm not even thinking about giving up.. I'm just really bummed out that I'm not making as much progress as I wanted, some of you guys are making brilliant progress, Technomage has got a his game engine up and running in fantastic time, I just wish I'd got enough time to really get stuck in :)

But, I'm not giving up, far from it. but I'm not going to be able to do any work until Sunday evening.. even then, Sunday is Asian new year and my wife, who is Korean, is celebrating with some of her friends... so as is typical of Korean celebrations, much alcohol will be imbibed and all I'll be good for will be some background graphics..

Next week, things will settle down and I'll get some decent progress made. Screenshots will follow.

I was playing Tetris on my phone today, something has struck me, it's easy to accidentally make a situation where the player would be trapped. The character should never be completely stuck (gameplay rule#1). There should always be a way over an obstacle.. so I've decided to let the player climb. It will take a bit of time to climb up the blocks, but you'll never be 100% trapped.

I'll have to see how it plays to work out how fast the player should be able to scramble around, I want tension, but I don't want an impossibly hard game. The player needs to feel like they have a chance (balance rule #1)

Huehnerschaender
16-02-2007, 07:28 PM
How will he climb out of such a situation:



OOO
OO
OO
OO
OO
POO
OOO


Where O is a tetris block and P is the player...

pstudio
16-02-2007, 07:54 PM
I would think that that's the loosing position. As far as I understand this game it's about not ending in a position where you can't do anything else than waiting to get smashed by evil teteris blocks.

This game may actually make tetris fun to play.

Robert Kosek
16-02-2007, 09:22 PM
Dirk, back up a little and use a jetpack? :wink:

So far the concept is sounding pretty good Jason.

Huehnerschaender
16-02-2007, 09:46 PM
Even the jetpack has to be able to destroy the block above your head... maybe an option is to add a jump move like Super Mario has.... jump up and crack bricks with your head :)

Traveler
16-02-2007, 10:47 PM
He will obviously teleport himself to a safe location.... :cyclops:

jasonf
19-02-2007, 10:29 AM
I saw this last night, but I didn't reply, Real life is busy busy at the moment.

That situation is an interesting one.. part of me is thinking, if the player gets themselves into that situation, Sod 'em, that's their fault.. but then another part thinks that situation could be common.. and there needs to be a fluid way out of the situation without resorting to special powers like walk through walls or flying.. the mario idea is good, but not in keeping with the game mood.

The only way I could have a way out of that situation and keep it realistic* I'd have to change the game a little bit to give the player an additional skill, this skill would also need to be used in other situations.

Perhaps the player could drop a bomb and escape that way..

Player is trapped due to critical planning failure

OOO
OO
OO
OO
OO
POO
OOO
Player places a bomb (rick dangerous stylee) and climbs up the wall (don't be in the way of the bomb when it goes off)

OOO
OO
POO
OO
OO
BOO
OOO

The bomb explodes, taking out all blocks in a 2 block radius.. destroyed blocks give no score.. perhaps give a penalty of their value to dissuade players from using bombs too much.

OOO
OO
POO
XXO
XXX
XXXX
XXXX


OOO
OO
POO
O




If I made the bomb powerful enough, you'd be able to escape.. but there'd still be situations where the player is trapped.. at that point, I'd say, Game over.. don't get yourself trapped like that.

As settled blocks only fall if a line has been completed, it would carve a hold so you could escape. The score for blocks destroyed would be lost and any special scoring blocks would be destroyed also perhaps penalising the player by reducing their score by the amount the block was worth.. the only blocks to have an physical effect from the bomb would be bomb blocks.. they'd explode causing a chain reaction, affecting other bombs, if they were near by.

(bomb blocks do not go off if a line is completed, but instead, it adds the bomb to your count... or places them on the ground for collection (not decided yet).. If they are not collected and a bomb goes off near to them, they explode. Uncollected items prevent blocks from falling if a line is made.. perhaps a crawling mode needs to be added to collect stuff..

This adds a kind of boulderdash element to the game..


Needs more thought as there are too many variables opened up here.

Tonight, I'll be working on getting my Tetris arena set up and working. Hopefully, I'll have something to show for my efforts.

jasonf
26-02-2007, 09:53 AM
PHEW! What a weekend... Moving house is not easy but thanks to Billy1380 and Technomage, we managed to get the bulk of the stuff moved... in the slowest van in the world.. top speed... 60mph.. downhill with a tail wind.. up hill.. it was 40mph and I had to drop down a couple of gears.. I'm never moving that wardrobe again. Top marks for getting it up those stairs though. A finely executed militaryesque manovour if ever I saw one.

I actually managed to do some work on the game on Sunday, even though I was completely shattered from Saturday, I managed to get a player controlled crane for the tetris blocks. The crane moves from left to right and the chain dangling below holding the tetris block, shatters into chain shards on command. Tonight, I'm hoping to implement the Tetris shape system and get that working properly. No screenshots as yet, but it's looking quite nice.

If I can keep working on this for the duration of this week, I should have something to show for the deadline.. but I think it's going to be a close one.

I'm having an issue with the camera though, the Tetris arena is bigger than the screen, even at 1024x768, you can't see the crane and the blocks at the same time. So I'm going to have to do something about that. I don't want to be forced to place everything on the same screen because that would make the player character too small, so I need a compromise.. I'll have a think about that.

I've also updated my Tile mapping program. It takes a bitmap, the user defines areas of that bitmap to be sprite rectangles for use within the engine. Now this supports animation too. So I can quickly see if the animation is working properly.

jasonf
27-02-2007, 09:33 AM
I did some more work last night, I've now got a semi working Tetris game.. well, blocks which generate the correct shapes and fall when asked, there are a couple of bugs to iron out and I've still got to get the bulk of the tetris rules in place, but it's coming along. I'm hoping that tonight I'll be able to get that stuff sorted out.

I'm not making as much progress as some of the other guys though :(

As soon as I've got more to show, I'll post screenies.

jasonf
28-02-2007, 09:41 AM
Damn, I'm making slow progress... things aren't looking up either..

I'm hoping to get a fully playable Tetris game working by Friday.. unfortunately, Time is not my friend.. in fact, it's the schoolyard bully, tripping me up and stealing my lunch money :D

My progress so far as far as the goals for Stage 2 are:

Stage 2 (3 weeks): Create A Basic Game Engine (Feb 10th - Mar 3rd)


Goal 1: Make a basic game engine that runs and goes into your game's main environment or mode of play. -- 20 Points

OK, not so hard this one, the CBCFoundation classes I've been developing for the last few years (on and off) handle most of this. The game launches into the main mode of play.


Goal 2: Work out some basic controls and include a Readme.txt file listing what they are. -- 10 Points

The basic controls work, no Readme yet though.

Goal 3: Implement at least 1 of the 2+ chosen genres. Indicate clearly in your included Readme.txt how this is done. -- 25 Points

Partly implemented one of the Genres, the puzzle game element. Although, at the moment there's not much puzzle in the puzzle game.

I'm really kicking myself though, I hoped I'd make more progress than this. But with the house move and various other things all going on at the same time, this is proving to be a very hard exercise indeed.
I'm going to try to get some more done tonight, although today is my Birthday and I'll probably be going out.. :drunk:

Huehnerschaender
28-02-2007, 10:59 AM
Happy birthday ^^ :P :clap:

jasonf
28-02-2007, 12:58 PM
Cheers matey :D

I'm gonna try to get some work done though, even if it's only a couple of hours.

I'd at least like something that people can start to play ready for the deadline.

Traveler
28-02-2007, 02:52 PM
Happy birthday!

But why Friday if the deadline is on Saturday?
I know, I'll be needing that day for sure.

jasonf
28-02-2007, 03:07 PM
Cheers Traveler,

My deadline is Friday 'cos of my House Move. I'm between two places at the moment. So I've got to get as much completed by Friday night before I set off for my new place as I won't have my PC with me on Saturday. So in effect, I've lost a day.

I'm going to have to submit what I've got at that point and hope for the best. Hopefully after this weekend, things should settle down, but I doubt it.

I could really do with a couple of solid days off work so I can really get into it.. oh well, got to pay the mortgage I guess.

jasonf
02-03-2007, 09:17 AM
After a heavy session last night, I finally managed to get the Tetris part of the game up and running. I can now stack up my blocks in the Tetris arena and these blocks are sprites in their own right, so my character sprite can walk on them (will be able to). I did a load of extra graphics to cover Current and Next blocks (as the current block will be off screen sometimes).. I'll do more work on this to help the player soon.

My wife has found a bluescreen facility at her Uni (lucky eh?) so I should be ready for stage3, I was getting worried that we wouldn't be able to find a stage where we could do the Bluescreen work.

I have some screenshots, but it was so late last night that I didn't get a chance to post them. I'll do that tonight before I submit my entry for stage2.

Traveler
02-03-2007, 01:23 PM
Looking forward to seeing them!

jasonf
02-03-2007, 09:47 PM
OK, as promised... Screenies :)

http://www.cerebral-bicycle.co.uk/crashblock/menu.jpg
http://www.cerebral-bicycle.co.uk/crashblock/shot1.jpg
http://www.cerebral-bicycle.co.uk/crashblock/shot2.jpg
http://www.cerebral-bicycle.co.uk/crashblock/shot3.jpg

If anyone wants to try out the game so far, here's my zip file. (also for judges in case the upload didn't work properly) I won't have access to a PC tomorrow, so bear with me.

http://www.cerebral-bicycle.co.uk/crashblock/CrashBlock_Stage2_Submission.zip

The details are in the Readme.txt

Any problems, let me know, although it's too late to do anything about them for this stage now. It plays OK on my wife's laptop and I've included all the required DLLs

Enjoy
[/img]

Huehnerschaender
02-03-2007, 09:54 PM
Screenies look amazing!

But I can't start your game. It throws an exception at startup:

Exception EErrorLoadingImage in module CrashBlock.exe at 000186EA.
Error loading image: images\logo.png .

The image itself is there...

AthenaOfDelphi
02-03-2007, 10:07 PM
I just got:-

The exception unknown software exception (0x0eedfade) occurred in the application at location 0x7c4ea4e1

Then I got the same message as Dirk.

Sascha Willems
02-03-2007, 10:20 PM
The same happens on my system. It switches to fullscreen, I get the "this application has caused an error..." window, after clicking it away I also get the exception that says it can't load images\logo.png.

technomage
03-03-2007, 09:31 AM
Works fine here. Make sure you extract with folders, there should be

images
sounds
music

folders :)

AthenaOfDelphi
03-03-2007, 10:02 AM
Technomage... the problem Jason is having also affects your game, but its not a show stopper for you at this point (IMHO at least). As far as I can tell, your app gets the same message (unknown exception) when I select a cube, start the shoot-em-up, fail and try to leave the cube (and when I same the same message... I mean exactly the same).

I only raised it with Jason, because at the moment, we can't score his entry because it won't start, whereas yours works great... providing I don't leave a cube, but that won't stop me scoring it.

Traveler
03-03-2007, 10:02 AM
It too, didn't work on my laptop I'm afraid.
I've extracted with directories and all.

Which path did you extract the files into, Dean?

technomage
03-03-2007, 10:45 AM
I just extracted the files into a folder on my desktop..

nothing else...

AthenaOfDelphi
03-03-2007, 11:05 AM
Edit:- Post not relevant anymore as Technomage is dealing with his problem in his thread.

savage
03-03-2007, 11:09 AM
Hi Jason and Dean,
Did you manage to fix the AV?

AthenaOfDelphi
03-03-2007, 11:37 AM
I got it working by ripping some DLL's from other SDL based entries.

The missing DLL's appear to be (although I'm not sure of the exact combination):-



libpng1.dll
libpng12.dll
libpng13.dll
zlib.dll
zlib1.dll


But its suffering from slow frame rates.

jasonf
03-03-2007, 02:42 PM
Hi Guys, I've managed to get my internet connection set up at the new place quicker than I expected.

I'm a little concerned that people had trouble running the game, although I should have mentioned in the Readme.txt that the game relies on SDL, SDL_Mixer, SDL_Image etc.. I'll update it for the next version.
Slow framerates? What numbers are you getting on the left hand side of the screen? the one in the middle is the frames per second, it's clamped to 30, perhaps this isn't working as well as it should be.

The age old, 'It works fine on my PC' is cropping up here, My PC is an Athlon 800 or is it a 1200, with 512mb of ram and a GEForce3. Either way, it's over 4 years old and I wouldn't expect anyone to get slower framerates than I do.

What does it run like on your second PC Athena?

Sascha Willems
03-03-2007, 02:56 PM
Please upload an update version with all needed DLLs before deadline of stage 2. Judging all entries takes a lot of time and if it won't run out of the box I don't want to invest additional time in searching missing dlls to get it working.

P.S. : If you have trouble finding out what DLLs exactly are needed by your game try out Dependency Walker (http://www.dependencywalker.com/).

jasonf
03-03-2007, 06:08 PM
I've uploaded the latest version with the DLLs included, hopefully this will help. The dependancy walker doesn't seem to work for some of the DLLs though, I think things like ogg.dll, vorbis.dll libpng.dll jpeg.dll etc only get included when they're needed and dependancy walker can't see them.

I've uploaded the submitted version to my site, just in case. This also contains all the DLLs. If some kind soul could test it and let me know ;)

Click on the link above

Traveler
03-03-2007, 07:37 PM
Works like a charm for me, now. :D

Huehnerschaender
03-03-2007, 07:48 PM
Ah! Now it works...

Very nice!

I am very curious about the combination of the current gameplay with the "jump&run" part... It already looks very polished for such a short time. I am indeed impressed :)

jasonf
03-03-2007, 08:04 PM
It already looks very polished for such a short time. I am indeed impressed :)
That'll be the varnish I used on the wood, it really brings up the grain in the wood I find ;)

Thanks for the comments guys, I've got some changes to make for the next stage.. one of them is find out why some blocks don't want to fall properly. Another one will be different coloured blocks, My wife and Technomage have both pointed out that it's hard to see the blocks when they're the same colour as the background.

I think the jump & run part will either make or break the game, there will be 3 modes to play. Standard Tetris Mode, Avatar mode (the tetris/flashback hybrid) and vindictive mode where you play tetris and attempt to squash the avatar :twisted:

Hopefully, I'll have time to get all this sorted out :lol: deadlines eh? Can't get away from them

jasonf
09-03-2007, 01:03 PM
Last night, I did no work.. although I did drink a fair amount of Guiness and eat a nice Curry :)

The noght before however, I did some work.
Clearing bomb blocks now spawn a bomb object which has an arming period, followed by a fuse (with animation) and finally an explosion.
This doesn't currently destroy any blocks, but it will do. Bomb blocks destroyed will release more bombs which arm and detonate.. chain reaction.

This work has also paved the way for the scoring system. When a bonus item or bomb is released, it flies up to land in the first available space, sitting on top of any blocks that exist. If a block lands on them, they fly on top of that block too. This means that the player should always be able to get at the bonusses to collect them.

I've worked out how I'm going to do the scoring too. Each block when it is removed from play will release a bonus item for the player to collect. these items dissappear after time and the player misses the chance to collect the score they have earned. These items might be coins, cherrys, hour glasses etc.. some blocks have a x2 and x3 marker on them, if a line is cleared with x2 or x3 markers, multiple bonusses are released.

Hour glasses slow down the degradation of the chain, giving the player more time to move around.

The only question seems to be, how do I calculate the bonusses?

There are 8 blocks accross each has the potential to contain a x3 bonus
Bonusses are only applied on a single horizontal line. Clearing multiple lines will multiply the amount of score items are worth.

So, if the bonusses are multiplied and each block releases the number of bonus items prescribed by the bonus ((3x3x3x3x3x3x3x3)=6561) x 8 = 52488 items generated.. Too many by far..

If the bonusses are added ((3+3+3+3+3+3+3+3)=24)x8 = 192.. a lot more manageable but not very intuitive

If the bonusses are not added or multiplied at all, but generate multiple items only for bonus blocks then the maximum number of items will be 24

Alternatively, I multiply the scores and only release 1 item per block, so if they were multiplied and the player collected all of the bonus items, they would be worth 52488 points at (6561 * number of lines cleared) each.. but doesn't looks as spectacular.. I could make super bonus items glow of course..

what do you think?

It will make it a very high scoring game though

Traveler
09-03-2007, 09:42 PM
what do you think?

I think you need to sleep on it for a bit. :wink:
Nah j/k, I believe the solution will pretty much become clear by playing and testing what works best. Because to me, it actually sounds more like a balance problem.

I dont think you should give too high a bonus to players who are scoring combos all the time, because others that dont will fall behind way too quickly. (ie, the points of two minutes worth of playing against the same number of points of 2 big combos in less then 10 secs)
The same goes for the items. To me, even 24 items sounds like a lot of items.

Then again, I dont have a good grasp of how it will be in the game, so I can´t say for sure, if this makes any sense at all.

WILL
09-03-2007, 09:46 PM
Hmm... I thought you have to join them by 3 in a row to make just those segments disappear. :?

What makes the bomb segments do their thing?

jasonf
11-03-2007, 07:36 PM
Here's the latest playable release. It's in windowed mode at the moment (sorry) I'll put in an option to use full screen or windowed soon

http://www.cerebral-bicycle.co.uk/crashblock/CrashBlock_progressrelease.zip

This version releases bonus items from each block. Collecting a bonus item will be the only way to get score in the game, also as an incentive to make the player run from place to place to collect stuff.

This shot shows the new different coloured blocks. I've used different types of wood. I originally tried to just re-colour the blocks, but they looked rubbish.
http://www.cerebral-bicycle.co.uk/crashblock/blocks.jpg

Here you can see some other bonuses, the hourglass will stop time for a short while so you can perform some miracle escape or collect things before they dissappear
http://www.cerebral-bicycle.co.uk/crashblock/blocks2.jpg

More bonuses.. including a cherry (more games need cherries if you ask me)
http://www.cerebral-bicycle.co.uk/crashblock/bonuses.jpg

When bombs go off, they make the screen shake and the blocks around them dissappear. Any blocks containing bombs will be forced to release their bombs which in time, explode.
http://www.cerebral-bicycle.co.uk/crashblock/boom.jpg

You might notice that the music has changed. This new music comes with the kind permission of William Christiansen of Symphonic Chronicles http://www.symphonicchronicles.com/

technomage
11-03-2007, 08:49 PM
Looking good J :)

savage
11-03-2007, 09:20 PM
Looking very polished indeed Jason.

Traveler
11-03-2007, 10:08 PM
Very nice indeed.
You seem to have things going very well there.

I noticed a few odd things, like for example when the blocks are stacked too high, new blocks move through them or sometimes blocks move partly through the wall, but for the most part it looks very well made, already. :thumbup:

jasonf
12-03-2007, 11:32 AM
Thanks Guys, I've been pleased with how things have been progressing.:) in spite of my very restricted time scales and the demands of marrage ;)

The next thing for me will be getting some test sprites in place for the State animation system. This will require quite a bit of coding I think, I've got to think of the best way to manage the animations based on the conditions around the player and the player's desired action. I made an attempt at this a few years ago for another game I was attempting, one which sadly died (over ambition+lack of time) Still, I think I know where I went wrong with it that time.

I can almost imagine the player character running around trying to collect the bonus items. The amount of time the items remain will be dependant on the level. The higher the level, the less time the player has to collect things, also the less time they have to work with the next block before the chain snaps. So, to start with, the game will be easy but as the player progresses, it will get much harder.

jasonf
21-03-2007, 11:42 AM
OK, it's panic time... 3 days to go for the Stage3 deadline and I've still not got my platform game part implemented... At all!

Last night I worked on the game for the first time in a few days, moving house is a real pain.. and it's taken my time away.

I've not had time to get my real video footage taken, so it's compromise time.. Instead, I invested a couple of hours with Daz Studio last night and made a bunch of sprites for my animations. They're crude, they're untested, but they're placeholder art.. although Victoria does look quite cute in her little fairy outfit :lol: and she seems to fit the wooden theme I've got going on.. I'll see if I can persuade my Wife to wear a similar outfit for the real footage.. (just for the game, honest ;))

I put a few classes together to build the state based animation system, My CBCFoundation classes have already got an animation system plugged in, all I have to do is define the animation and then call it from the sprite with the LoadAnimation( "Walk" ); command.. etc.. so that part (I hope) should be fairly easy to implement.. but even given the limited number of controls, Left, Right, Up, Down, Jump, Call, the number of possible animations is staggaring and quite scary... they are just the inputs.. the results of these inputs taking into account the previous animation and the current environment can create a massive range of possible animations.

Luckily, the system appears like it will work, I should even be able to have transition animations (not for stage3) so I'll have an animation called JogRightToLeapRight and the sprite will smoothly perform the leap animation after the transition animation has played. Also, for example, the transition between Fall and Stand would be the getting up off the floor animation. But as you can see, that generates a lot of possible animations.

So tonight, I'm going to be building my animations and hopefully, I'll be at a stage where I can plumb in the player Avatar. Everything else should fall into place quite easily.

I've decided not to include a Death animation, a splatter, crushing or anything.. Instead, the avatar will be knocked off the blocks She's standing on, tumbling down out of sight.. (kindof like Sonic the Hedgehog) This should make it more Kid-Friendly.. Also, I was a little concerned about making the death part too realistic.. So tumbling off screen is the way it's going to go, so the player doesn't actually die, they just fall off, and their final fate is left to the imagination as opposed to being shown to be turned into jam by a falling block in gory detail.

jasonf
25-03-2007, 03:58 AM
Finally, I'm managed to get my Stage3 entry uploaded... at 23:41:22 .. talk about cutting it close..

So what have I got new in there?

Pain, lots of pain... Pain and tiredness... and stress.. and a headache.

A note to anyone thinking of writing an environment influenced state based animation system...

Don't do it! It's pain.. upon pain.. Trying to step through to find out why X animation isn't playing when you're against a wall is hard work. I spent so much time on this, I'm actually getting fed up with the game.

On top of the animations not working properly (there are still problems with it), I broke my tetris code. I thought it was simple and impossible to break, but I managed to completely knacker it up. I nearly couldn't submit it as an entry.. although I could really have done with an extra week..

I'm not very pleased with the work though, the sprite moves terribly, I seriously need to sit down and come up with some decent animations.
It's also very easy to get stuck. I need to work out where that happens and add additional states.

There are some really nasty graphical glitches when looping through animations.. but I just didn't have the time to sort them out.

There's still no way to win, although you can lose now, but not at the tetris game.. blocks will pile up forever (unless it crashes)

I don't know what I'd have done without Daz-Studio though, there's no way I could have hand drawn the animations in time... I just need to figure out how to make decent animations and save them for next time.

It ain't over yet...

It's 4:58am in the UK, I've been working on this all day and I'm now overtired.. I can't sleep.

http://www.cerebral-bicycle.co.uk/images/itaintover.png

Traveler
25-03-2007, 11:18 AM
We seem to be in the same boot.

I skipped the animations as I knew they would pose problems. In fact, all I have is an image moving around. And when it gets shot 5 times, it will simply vanish. The jumping is there, though, as are the enemies doing there things. (Mainly patrolling the mine and shooting me when I show my face).
Not exactly great, but it does get the idea of a platformer across.

Your warning is noted, but still, I am going to give it a try. Five weeks should afterall be enough,... right? :)

jasonf
26-03-2007, 12:38 PM
Well, the animation system thing is something that gets better the more you chip at it.. the difficult part is getting over the initial stumbling block where weird things are happening and you're not sure if it's because of a problem with your state code, your collision code or you state animation definitions.

...or some other unforseen issues, which I've had a few of if I were to be completely honest.

My animation system uses a first match system instead of a best fit system.. so I've got an animation, this animation is told that it can only play under certain circumstances, certain key flags set, sertain blocks solid, certain blocks clear.. then each animaiton has a series of child animations which may be played once the current animation has completed.. the system then chooses between the children.. The best fit system would be the best solution and I'll probably use it eventually, but at the moment I've gone for a first match system where the list of child animations is checked and if one matches the flags for the sprite, it is chosen.. even if the next animation would be more suitable. So this means that the order of the child animations is important.

As for making the animations themselves, I used Daz Studio and posed the model in various positions and rendered to a file. So I've got some very rough, although identifiable animations and the more I work on it, the better and more stable it is getting.. but debugging a system like this takes time and patience.. also, conditional breakpoints are essential.

Daz studio has some cool looking models, if you wanted, you could purchase their Michael model and an outfit or something then pose him and take photos in the same way as I did.. the basic Daz Studio software is completely free... they only charge for the models... which are of a very high quality to be fair.

I've not worked out a decent automated art pipeline yet though, there's still a rather large time overhead for me. I see an idea doe a tool forming in my head :-)

jasonf
03-04-2007, 10:15 AM
Well, it's been over a week since I did any work on Crashblock, this is worrying me a lot... Real life issues have taken hold.. My Motorbike and Car have both decided to play up at the same time, so I've got to spend time diagnosing and fixing those problems. I also STILL need to record video and create sprites for the game as will as fix the NUMEROUS bugs with it.

The Judges noticed some bugs where the sprite dissappears.. It's not that the sprite dissappears, as such, se just legs it off stage at high speed.. there are some holes in my State Based animation system.

I've got basic scoring in place but there's no High score.

So my TODO lists is as follows..

Record Decent video animation
Convert video into images for use within the game
generate transparent area for sprites
Plug animations into game
Fix environment-state animation system
Fix Tetris Block bug where blocks hang in mid air sometimes
Implement crane timer and visible damage
Fix Camera control (I'm thinking of making the camera focus on either the sprite or the camera depending on a button press (i.e Hold to see Camera)
Implement ghosted block view at top of screen for when next blocks are off screen.
Fix Next Block preview
Add Sound Effects
Add Game Over message
Implement Game over when Tetris blocks can no longer fit on screen
Allow blocks at the side to be rotated, move crane if required to facilitate this.
Prevent crane from Dropping when not at target location
Implement Bomb kills player
Implement Bomb Blast throws player
Implement Level indicator
Implement different arena types, Ice, Metal, Stone
Implement Time Stop powerup
Implement Player drop bomb action

Phew, that's a lot..

Any more anyone?

jasonf
04-04-2007, 08:47 AM
Well, I did a little work last night and I've got a ghosted view partly working.

The ghosted view is a reprisentation of the current shape at the top of the screen which appears when you can't see the blocks normally.

I've decided to add an additional indication to this view to describe the state of the chain

In the game, the chain on the crane gets weaker over time and will drop the blocks when it's too weak. This is reprisented on the chain by a different graphic showing the decrepidation of the chain as time goes on.
The ghosted preview also shows damage on the blocks to reprisent the state of the chain. So at any time, you can see where the blocks are and how much time you have left before they fall. The more damage the chain takes, the more cracks appear in the blocks, they also change colour to reflect this... but as not everyone can see colour, I added the visual damage too.

It's currently not working properly so no screenies, hopefully, I'll get more time tonight so I'll get it working and show you.

Clootie
04-04-2007, 07:06 PM
Cracks on blocks? I can't see this as a good idea - so first your blocks will be covered by cracks. And later (when they'll fall down) - cracks will disappear?

Better force your ghost blocks to "vibrate" for one or two seconds before crane chain is going to break.

jasonf
13-04-2007, 09:53 AM
Finally, this morning (before I went to work) I resolved my jerky animation problem...

You see, I have a virtual method on my Sprite base class called GameTick, this method is overridden in the derived classes to perform actions the sprite must do each tick (similar to the DoMove in DelphiX)
The trouble was, I use this virtual method in the base class to do some positioning on screen based on the current camera and detect if the item should be put onto the render list. This sets the renderX and renderY locations based on the sprite's current arena location.. this all happens before the derived sprite has had a chance to modify their own Arena locations, so therefore, positional changes are always 1 tick out and therefore, I get steppy animation.

The good new is that I've fixed the problem by moving the code to a new method which is called after the gametick by the sprite engine, this solved the jerky animation problem perfectly. This fix is part of my core code so it will affect Guns Reloaded too, which is a good thing.. there are a few areas where things flicker from old positions to their new position and I never understood why (sometimes I'm a bit thick :lol:)

So now I've just got to fix a small problem I've introduced into my animation system (trivial) and I'll be able to give a demo.


On top of this, I've had another idea which, if I get time, I'll implement.
Creatures... nasties.

Sometimes, a block will not be a bonus block, it'll be a cage containing a little nasty. The creature is released when the line containing the creature's cage is cleared.

Once released, the creature will move from left to right until it hits a block, then it will turn around. If the creature sees the player on the same line when it is facing the player, it will run to try to get the player, the creature can be jumped over, but basically, the only way to kill it is with a bomb or by getting blocks to land on it.

I'm thinking that creatures would only be included after a specific level to allow the player to get used to bounding around the level.

jasonf
23-04-2007, 12:43 PM
On Saturday, much to the amusement of passing skater boyz, I managed to get some video footage recorded for CrashBlock, and it was quite successful I think.

Basically, my Wife, running around, climbing on things, jumping off, waving to a pretend crane. She did a great job and got bruised knees in the process :( (Sorry Honey)

Also, Last night I found a cool shareware utility which takes an AVI file and converts it to bitmaps, written in Delphi too.

Then it was a matter of taking the stills and putting them into XaraX for piecing together and removing background scenery (A Job XaraX has performed admairably) Then Exported to a single image ready for converting for my game engine.

I've plugged some of the animations into the game and they're a lot better than the Fairy animations I made using Daz Studio. Live action is always better than and drawn or hand positioned (In my experience with my limited skill)

Hopefully, I'll have some screenies tonight.


While we were recording the videos on a beautiful sunny spring day in Cambridgeshire, we attracted a crowd of teenagers. They were curious and asked what we were doing.. So I told them,
"Shooting some video for a game" and instead of the "Ooh, Cool!" that I was expecting... they said quite directly,

"Is it an XBox game?"... to which I said erm.. No.. It's a PC game.
"Will it be in the shops?" they asked.. erm... No, it'll be for download..
"Will it make any money?" erm... probably not.. At that point, they went away suitably satisfied that our efforts were useless.

But it's given me an idea, I'll post on our town's local forum when it's finished and let them know it was filmed in their own park.. should drum up a little interest. :)

Traveler
23-04-2007, 01:03 PM
Haha, a great story :lol:
I suppose you could have replied that you're also doing it to win a couple awesome prices!

I thought converting rendered frames was tricky, but live action video must be even worse. :wink:
I'm looking forward to the results!

Huehnerschaender
23-04-2007, 04:31 PM
I wanna see it, too :)

Even if I am out of the compo, I will take a look here in the forums daily! So let me be part in "ghost view"! ;)

WILL
23-04-2007, 04:59 PM
'The Farmers' are just so cool! :D

Nice work Jason. ;) Good thing that it was made in Pascal or the both of you might have had to run for it. :P

Such a thing would have made a great 'making of' video. It's stuff like that that I love seeing and would love to have placed somewhere to show others what kind of inspired and creative community we are.

Keep up the great work Jay! :thumbup:

jasonf
24-04-2007, 09:07 AM
LOL,

Sorry no screenies today, but I did a load of work last night. Added some more of the video footage, it's hard work getting it from AVI to the format my game engine uses and I've still got some tidying up to do.

I fixed a couple of bugs too, unfortunately, I found some others LOL, the way of things.. pick up a rock to squish some bugs with only to find a load of bugs hidden under the rock.

I can really get a feel for how the game is going to play now.. it feels a lot different to Tetris, it's a completely different game, it's amazing how much a game's basic feel can change by adding a seemingly simple additional element.. excellent competition choice I think, really drums in the lesson about small changes affecting the gameplay. Was that deliberate or an accident? ;)

It's alerted me to a couple of areas which need to function perfectly.
1, The Control system needs to be fluid otherwise people will get frustrated by the controls and not want to play.

2, The crane needs to be smart, calling a shape to the current location needs to be something which doesn't require too much thought, so I need to think of some intuitive rules to position a 4x4 block over a 1x2 sprite.

I think I've got a good idea about how the crane will work out the best place.

It will try to position itself in the centre of the sprite. But as the block is 4x4, this is difficult as the centre is inbetween the 2nd and 3rd blocks.. and the block needs to snap to a grid.

:idea: So for shapes with Odd numbered blocks, the crane will position the block directly over the sprite, centred on the central block for the shape.

:idea: For even numbered blocks, the crane will position itself to the left or to the right of the player depending on the direction the player is facing.

:?: I don't know what to do if the player is standing facing the screen, perhaps I could alternate in consecutive presses.


OOOO
OOXO
XXXO
OOXO

X
X

OOOO
OXXO
OXXO
OOOO

>
>

OOOO
OXXO
OXXO
OOOO

<
<

I've also got to make the crane move to fit rotated shapes inside the arena. In normal tetris, if you have a shape at the side of the screen and you try to rotate it, it'll move the shape to the left or to the right to make sure it fits on screen. I have to do that too. I just need a day to implement this stuff I think.

Screenies and Demo soon (tonight if I can get enough done)

jasonf
24-04-2007, 11:13 PM
OK screenies,

Not too many extra features at the moment, putting those animations together has taken a while, each frame of animation has had to be masked in Xara so the background doesn't show through.. by hand.

As you can see, there's the ghost view at the top for the current shape.
It does make the current shape window kind-of superfluous.. so I'm going to ditch it, leaving just the next block window (and I'll make it work.. at the moment it doesn't)

There are still some annoying bugs, I've not fixed those yet and I've still got to plug in the jumping animation.. and the meanies.. although I might leave those for stage 5


Falling
http://www.cerebral-bicycle.co.uk/crashblock/dropped.jpg

Oh, this is gonna hurt
http://www.cerebral-bicycle.co.uk/crashblock/falling.jpg

Where's the floor gone?
http://www.cerebral-bicycle.co.uk/crashblock/floorshake.jpg

I want a cherry
http://www.cerebral-bicycle.co.uk/crashblock/getcherry.jpg

Gonna get the goodies
http://www.cerebral-bicycle.co.uk/crashblock/getgoodies.jpg

quickly get the money
http://www.cerebral-bicycle.co.uk/crashblock/gimmemoney.jpg

Going down
http://www.cerebral-bicycle.co.uk/crashblock/goingdown.jpg

Scrambling about
http://www.cerebral-bicycle.co.uk/crashblock/scramble.jpg

WILL
25-04-2007, 02:17 AM
Hey Jay. Lookin' good so far. :thumbup: Can the player still climb up walls?

One thing that still confuses me a tad is the Next Shape window... which window is the Next one? And which is the next next one? :p Maybe a small label called 'Next' would help?

Thats really the only thing that makes the interface feel out of place for me, they rest seems fine.

Huehnerschaender
25-04-2007, 07:27 AM
Great! :)

Keep it on! I like the idea that your wife is within the game... I once made a game where my children spent the voices :) And another one where me and my girlfriend spent the voices... this was real fun. And I guess you had your fun recording the animations, too :)

I am looking forward to see more!

Greetings,
Dirk

Traveler
25-04-2007, 08:00 AM
Ohhhhh :shock:

jasonf
25-04-2007, 08:42 AM
Cheer guys,

Yeah, we had a lot of fun recording. I kept getting my Wife to do multiple takes for some of them hehehe, I felt like a movie director.

Will, one of those windows at the bottom will be removed. One is supposed to be Current block and the other is Next Block. Next block doesn't work so I have to fix it. I'll remove the Current block one and put the Lives, Stars and Bombs & Timers icons there. I'll all work out :-)

I worked until 1:30am last night sorting out my state animations.. Looks like a few more late nights yet too.

The animation is quite smooth too, you can't see from the screen shots. I've got a couple of niggles left to kill, then I'll release a Demo before the deadline.

jasonf
26-04-2007, 01:36 AM
Damn, It's 2:30am...

I've been working like a dawgy, here's a link to the latest test build.
Animation is almost there although there are still a couple of annoying bugs with the state machine... I'll get them, don't worry ;)

The game now plays pretty much as it's meant to, so just tightening stuff up.
The old bugs to do with the crane are still there, I'll look at that next. I'm goint to overhaul the crane targeting system as per my previous post.

There's now an In-Game menu, so pressing Escape isn't as drastic as before, I'll add some simple options in there later.

The crane now will drop its block after a period of time, this time is denoted by a change of colour with the ghosted preview. I'm probably going to change how this looks 'cos I don't like the cracked block effect (I thought I'd see how it looked, yep, Clootie, you were right, it looks bad)

At the moment, the amount of time is fixed, but as the player progresses, this time will decrease.

There is still no sound though and I want to get a general feedback of the music. I like it, my brother doesn't. Seems like a marmite thing.

Anyway, the link http://www.cerebral-bicycle.co.uk/crashblock/CrashBlock_TestRelease_20070426.zip

Let me know what you think. :)

Good night, I'm off to bed.

jasonf
29-04-2007, 01:18 PM
After posting my submission last night, I went to the pub.. then when I came back, I was too drunk to post an update :drunk: . But, I've sobered up now so here you are.

Here's the Stage4 submission http://www.cerebral-bicycle.co.uk/crashblock/crashblock_stage_4_release.zip

It still has some things missing and a couple of bugs, but it's basically a playable game now.

Now I've got to polish it up and include the remaining features.

Huehnerschaender
29-04-2007, 06:58 PM
looks like a funny game :)

The animations look good! I just don't like the running animation which seems to flicker somehow (does it flicker on your PC too? It looks more like a bug than like a graphical issue).

One quick bug I found:

You can climb up the whole sidewalls... I dont think its intended to be like that.

Keep on! This will be a good game when its finished! Looks really polished already!

Greetings,
Dirk

WILL
29-04-2007, 08:49 PM
Hey Jason,

I tried out you game for this stage. I can tell the improvements from last time. Animation isn't too bad this time around, only the walking sequence needs a bit of touching up on.

The only thing that I have major issues with for the player movement is the glitches with climbing and there is a block one over from the stack you just finished climbing and you pop out the other side of it. :P

There does lay one minor bug with the crane movement and thats when you are able to drop a block partly outside of the walls.

That was really all I noticed as issues this time around. Very much improved over last time as I said. :) Nice job! :thumbup:

Traveler
30-04-2007, 11:04 AM
I've tried your game as well.
I have to agree with WILL and Huehnerschaender about the animations still needing some work. Especially the walk cycle is very strange. I'm not entirely sure whats happening there, but it seems as if the frames aren't in te right order or something.
I also noticed an unnessecary extra jump after climbing onto a wall.

Something else I found confusing is the 'call crane' function. Before I press the enter button I'm able to move the blocks using a and d. However, after using the enter button, I nolonger can't. I'm unsure if that is right.

In all though it looks like a good game. I wish you good luck finishing it!

jasonf
30-04-2007, 12:16 PM
Thanks for your feedback guys,

I'll take a look at the walk animation, I think I must have gotten used to it 'cos it doesn't look too bad to me. But I'm not 100% happy with it, I'll probably record a new walk cycle animation, not I've got the workflow sorted out. I've got to record a victory animation anyway.

The jumping through blocks problem is a known issue. The state system is missing a state under those circumstances so it's defaulting to a different/incompatible state and jumping through blocks as a result.
There is also a jump after climbing over a block, this I believe is the same problem manifesting itself in a different way. But it needs serious investigation and resolving as bugs in the state/control system will put a player off. Nothing worse than not being in control or fighting the game.

The issues with the crane are the next on my list to quash. The keys to move the crane are debug only, they won't form part of the final game. The player has to call the crane to the location they want. However, this is made more difficult than it should be because of the bugs with the crane.
I didn't want to tackle the bugs in the crane just before the submission as it would mean ripping out the current code and replacing it with something a bit more intelligent.. ripping out the old code would have left the game in an unplayable state if I couldn't get the crane code working in time.

I'm going to remove the ability to climb the side walls as it serves no useful purpose. Originally, I was going to provide a way to leap from a climbing position but it's going to be much too hard to get working and make it look realistic. If my sprite was Mario, then it wouldn't be a problem, but because I've used real animation for the rest of it, any forced animations show up like a sore thumb. A good example of this is the jump and fall animation. I use the normal jump animation for the start of the jump - which is quite smooth, then if there is nothing below the player, the sprite changes to a static falling jump. This needs to change to be more fluid.

On Saturday, My Brother and I went outside and recorded a load of sounds for the game, these should be in a version very soon.

There also needs to be more visual feedback when things happen, collecting bonusses, coins, bombs etc.. at the moment, things just dissappear. There needs to be more of a visual cue that something important has happened. Also, the scoring is a mystery to the player. I'm going to put score numbers up when the player collects something.

When bombs blow up blocks, there needs to be some schrapnel, they just vanish at the moment, not good.

Bombs also don't damage the player at the moment. They will though.


Does anyone know of any way to prevent Windows from using the Sticky keys feature? It's really annoying (apart from not using Shift and CTRL as controls).

jasonf
13-05-2007, 01:42 AM
Damn, was it me or did Stage5 leap out of the woodwork shouting "SURPRISE!!"

I've posted my entry for stage5, it's got a lot of bug fixes so I'd be chuffed as punch if you guys could give it a whirl and let me know what you think.

I've simplified the control system. Now, Left and Right control all movement apart from Jumping and Calling, they remain the same.

http://www.cerebral-bicycle.co.uk/crashblock/crashblock_stage_5_release.zip

there's now also sound.. most of it is placeholder stuff, so it will change.

it's late, I'm off to bed. Enjoy

jasonf
17-05-2007, 08:44 AM
I did a bit more work last night on the Metal arena.
I mentioned before that I plan to add various types of arena and blocks.

Wood,
Metal,
Rock,
Ice


What I've got looks OK, I need to work on the metal blocks a bit more though, they look much too plain.

Also, the level feels cold in comparison to the wooden level. This is a good thing I think as it gives a very different feel to the game, which means that it's worthwhile changing the scenery.

Depending on the performance aspects, I might add my procedural fire effect in the background.. and some particles (the arena is set in a steel foundry for the metal level)

For the ice arena, I'll be re-using my snow component from Guns Reloaded.. I might even use the water component too for the rock level. I'll have to see.

There'll be a new demo soon for people to give feedback.

Traveler
17-05-2007, 09:15 AM
I've played your latest release for a bit and I must say it's becoming really quite nice. I do find it hard to play at times. For instance when I become trapped on one side and need blocks on the other.

I'm not sure if you are familiar with this bug, but at one time I was able to climb inside a wall, call the crain and drop blocks on me, without getting killed. After that I wasn't able to move anymore.
Here's a picture of that moment.
http://upload8.postimage.org/381178/crashblock.jpg (http://upload8.postimage.org/381178/photo_hosting.html)
It also shows my problem. Suppose I'm at the far right side. I can't climb/jump to the left, but I do need blocks there, otherwise I can't create rows. How do I do that?

jasonf
17-05-2007, 10:16 AM
Thanks for checking this out for me Traveller :) I really appreciate all your comments.

Yeah, I've seen that bug too.. It's really annoying but quite infrequent so it's difficult to pin down and kill the source of it. I think it's if I call a block while it's falling, I don't die, but get stuck.. something like that.

I'll put code in to prevent that and also I think I'll have to put some belt&braces code in for the time being to ensure that you're never stuck inside a block, it'll move you up to the next available block vertically.
There is a bug where if you're doing something on a falling block (when you've completed a line).. calling again I believe, you get stuck.

As for the gameplay aspects,

For situations where you're trapped, as you show in that screenshot, currently without using bombs it's impossible to get out of that scenario.

Part of this is deliberate, the player should have to think about their next move and how it will affect them, will they become trapped?

There's wall climbing, but without a way to jump off the wall at the moment, it's useless. I need to think about wether wall climbing and jumping off is a good idea or not. (It's certainly a lot more animation to do... tricky animation too ) will it unbalance the game?

I've had situations where I've gotten myself stuck, then found a way out of it using a combination of bombs and blocks, I'd blow a hole in the wall with a couple of bombs and make enough room for a block which I can climb on.. I felt a great sensation of accomplishment when I got out of that scenario by planning and luck.

But without any bombs, it's a pain.. or with bombs but not enough space to get out of the blast... pain again.

I have a couple of options as far as I can tell.

1, Add an additional jump & grab move, so the player would climb onto a block and jump & grab the block above them to the left or right and then start to climb. (Yet more animation and additional states to debug) This would only help in certain circumstances.


X <--- Jump up and grab this block and climb
P <-- Player
P
X
X
X



2, Add a forfeit life option so that the player appears at the top of the map again as if they'd died.

I don't want to add Mario or Sonic style jumping around though, the whole point was to try to make the animations as realistic as possible..

..also, I have to be very careful about the options I add to get out of one situation as they could unbalance the gameplay in other areas.

A friend of mine suggested tunnelling, it would help in this scenario, but people would just tunnel away the blocks they didn't want to fit with the next block, taking away part of the gameplay.


So far, my favourite idea is the forfeit life idea.. this will push the players towards playing the tetris game properly and thinking about their moves a bit more before they make them. It's also the least work for me ;)

WILL
17-05-2007, 03:35 PM
One of the toughest things I've noticed about playing this game was that you can't just slide your falling blocks nicely under another piece if you get an awkward order of pieces like you can in Tetris proper.

If there was some way to circumvent that situation it would make the gameplay a lot less difficult to win.

Traveler
17-05-2007, 08:36 PM
Maybe something like this could work?

http://upload8.postimage.org/390173/solution.jpg (http://upload8.postimage.org/390173/photo_hosting.html)

jasonf
18-05-2007, 09:15 AM
I have to say, I'm liking this idea.. having a platform at the top of the arena to stand on so the player can jump.. the player can only jump over a single square though..

So how about, the crane picks you up and gently takes you to the other side of the arena, you press down to drop off the chain as it passes over the place where you want to fall..

The climb to the top takes a while so it's a sort of punishment for not organising the blocks correctly. Using the crane or jumping from the top adds to the platform genre.

I'd still need a forfeit life option for being completely trapped

Love the diagram too :-)

jasonf
26-05-2007, 02:30 AM
I've done a fair amount of work today, after having a nice break over the last couple of days digging a big hole for some concrete..

I've built 2 new levels, The Metal level and the Stone level.

Screenies for everyone..


http://upload8.postimage.org/514368/metal1.jpg (http://upload8.postimage.org/514368/photo_hosting.html)


http://upload8.postimage.org/514370/metal3.jpg (http://upload8.postimage.org/514370/photo_hosting.html)


http://upload8.postimage.org/514373/metal4.jpg (http://upload8.postimage.org/514373/photo_hosting.html)


http://upload8.postimage.org/514376/metal6.jpg (http://upload8.postimage.org/514376/photo_hosting.html)


http://upload8.postimage.org/514380/metal7.jpg (http://upload8.postimage.org/514380/photo_hosting.html)


http://upload8.postimage.org/514383/metal8.jpg (http://upload8.postimage.org/514383/photo_hosting.html)


http://upload8.postimage.org/514387/jungle1.jpg (http://upload8.postimage.org/514387/photo_hosting.html)


http://upload8.postimage.org/514390/jungle2.jpg (http://upload8.postimage.org/514390/photo_hosting.html)


http://upload8.postimage.org/514395/jungle3.jpg (http://upload8.postimage.org/514395/photo_hosting.html)


http://upload8.postimage.org/514400/jungle4.jpg (http://upload8.postimage.org/514400/photo_hosting.html)


http://upload8.postimage.org/514408/jungle5.jpg (http://upload8.postimage.org/514408/photo_hosting.html)


http://upload8.postimage.org/514412/jungle6.jpg (http://upload8.postimage.org/514412/photo_hosting.html)


http://upload8.postimage.org/514415/jungle7.jpg (http://upload8.postimage.org/514415/photo_hosting.html)

and now, I'm off to bed.

Comments welcome.
8)

Traveler
26-05-2007, 10:08 AM
Looking great!

Huehnerschaender
26-05-2007, 06:55 PM
I only can second this :) No more comments...

jasonf
29-05-2007, 01:11 PM
Phew, I managed to quash a few really nasty bugs yesterday (hopefully I haven't introduced any new ones) I spent a long time playing the game to see how it plays, I've also been getting other people to play it while I'm there so I can see what people enjoy or struggle with. A few balancing issues have come out of this process, which I'm happy with but they're quite the opposite to what I was expecting..

1, There are too many extra lives and timeouts appearing in the game, these needs to be reduced as they make the game much too easy.

2, The chain doesn't seem to snap soon enough even on higher levels, again making the game too easy.

So I need to find that magic point to make the game difficult enough to be challenging but still remain fun. If it's too hard, people will give up. If it's too easy, people will get bored.

I'll fix those gameplay balancing issues and upload another demo, this demo should include the new levels and should pretty much resemble the final article, then it's just tidy up a few of the graphics and submit.

I was going to include other features like monsters and dangling from the crane to get to the other side of the arena, but I don't think I'll have time to implement them and still get the balance right.

I might add a high score table afterall as the wife pointed out, What's the point in collecting score then?... she's right, there's currently no point.. I could solve this problem by only throwing out extra lives when the score reaches a milestone, even then it's up to the player to collect their reward.

I could add a sliding scale, extra lives possible when the score reaches 1000, 2000,5000,10000,20000,30000,40000 the same for Timeouts although more frequently for them.

I don't want to make too many changes though at this stage now as it could affect the balance of the whole game, but it does need some attention in this area.

There will be 16 levels in the game
1-4 Woodland
5-8 Metal
9-12 Stone
13-16 Ice

After the 16th level, the game will end.

jasonf
01-06-2007, 10:04 AM
Last night was intense.. I've added the Ice level, it looks quite nice.

I've also registered URLs for Crashblock
http://www.crashblock.com
and
http://www.crashblock.co.uk

I ran into a major hurdle last night whilst trying to implement a seemingly small change.. I've got an idea of how to fix it (better OO design for a start :D) but my attempts last night caused horrors.

Basically, I've got a class called TCrashBlockGame which is derived from TCBCGame, all sprites have a link to a TCBCGame object which is passed to the sprite via the constructor. Sprites need a link to the game object so they can play sounds, music, load resources etc..

The uses clause is set up in such a way that CrashBlockGame.pas references CrashBlockSprites.pas but I need it to be the other way around too (annoying circular reference issue). The player's score is contained within CrashblockGame, I want the sprite to be able to check the score and throw out a bonus object if it's after a particular score milestone.

I thought I'd implement a callback last night to sort this out, the sprite in question would ask the game for the score via an event, the game would pass the score back to the sprite via a By Reference parameter. That's when the horror started. As soon as the sprite called the event, my player object (which was untouched by this) started to really misbehave.. this suggests to me that I'm doing something very very wrong indeed. It also completely buggered up the tetris matrix object.

I've removed those changes and the problem has gone away, I don't want a bug like that making it to the final stage.. So I'm going to implement another solution. I'll make the score an object and I'll pass it to the sprite which needs it (just the TetrisMatrix sprite needs it)

Anyway, I was really stressed out about this last night. hence me sinking a few cans of Stella...


The good news is that I've fixed numerous issues with the GUI, positioning and so on and a couple of gameplay issues. I've also added more fruit. Everyone needs more fruit, so instead of just cherrys, we have apples and bananas too.

I've also created diamonds. When you get multiple lines in one go, you'll get a diamond thrown up.

2 rows = 1 diamond
3 rows = 3 diamonds
4 rows = 7 diamonds
(*I've not decided on the actual values yet)

It's really hard to keep on getting 4 rows, so I don't think this will unbalance the game and will be a nice incentive to get people to play a more risky game instead of just 1 line at a time.

Does anyone have any ideas why implementing a call back like that (something I've done many times before without incident) would cause a problem?

jasonf
03-06-2007, 10:31 AM
That was scary, I almost didn't make it... My BT internet connection was down all day yesterday.. coming up briefly for about a minute then going down again..

So This morning, it came up, hopefully it's for good.. but either way, I took no chances and uploaded what I'd got.

I'm going to try to get Crashblock compiled and running under Linux, then I'll re-submit. I've probably not got enough time to get the Mac build though.. I'll have to see.

I think once the judging has finished and I've had time to collect my thoughts, I'll write a post mortem on it.

After that, I'll be adding some extra features to it and releasing it to the public.

Huehnerschaender
03-06-2007, 10:43 AM
Congratulations for uploading a complete entry! :)

Huehnerschaender
03-06-2007, 09:51 PM
One question:



D O E S T H E F A T L A D Y S I N G N O W ? ? ? ? :lol:

jasonf
04-06-2007, 10:50 AM
The Prima Donna is getting ready to get on stage for her Bel Canto, as soon as the results are in, she'll be letting off her coloratura at full volume to the awe of the house.

I'm quite dissappointed at the moment, with my BT internet connection. The bloody thing was down again last night, I've had people compiling Crashblock under Linux (thanks Technomage) and on MacOSX (Thanks Billy) but I couldn't post the screenshots.

I'll post screenies of it running on other O/S's in good time now as the deadline's been missed. Never mind, can't be helped. but thanks guys for the hard work getting it to work. It's 10 points missed though which I'm a bit sad about.

Still, congratulations to everyone who submitted a final entry this year. It's been a tough 4 months but from it we have some new Pascal games to play, that's got to be good eh? 8)

jasonf
04-06-2007, 10:23 PM
Well, here's Crashblock running under MacOS and Linux. Thanks to Technomage and Billy for their efforts.


http://upload8.postimage.org/677400/crashblockMac.jpg (http://upload8.postimage.org/677400/photo_hosting.html)

http://upload8.postimage.org/677417/crashblocklinux.jpg (http://upload8.postimage.org/677417/photo_hosting.html)

They're not part of the submission so I'm guessing they don't count. Still, the're here for your viewing pleasure.

Also, to assure people that there will be Linux and Mac versions available.

jdarling
05-06-2007, 12:41 PM
Jason, good luck and crashblock looks excellent! Honestly, from what I have seen, I think we all know who gets 1st this year :).

One question though, when are you going to put together crashblocks site? Right now it just looks like CB's site with screenshots slapped in place.

savage
05-06-2007, 01:20 PM
Hi Jason,
Did you have to make any code changes for MacOS X or Linux or even any IFDEFs? I'm hoping the answer is none.

jasonf
05-06-2007, 01:55 PM
Apart from the randomrange funciton not existing in FreePascal, there weren't any code changes apart from adding an equivalent RandomRange function.. there were a couple of filename issues where windoze used uppercase extentions, but Will and Technomage managed to get it working without too much hassle.

I was rather impressed by both of their efforts.

JDarling, Cheers mate ;) I've not had a chance to play any of the other entries, I'm really looking forward to playing them though. One thing from the last competition, I had a lot of fun playing the games. I wouldn't even like to guess as to the result for this year's competition. I'm just really excited by it.

There will be a Crashblock site, I've already got the URLs, I've got to put a site together now. I want to spend some time on the design though, the Guns Reloaded site was done over a weekend and I think the design reflects that.

Even after the deadline, there's still work to do.

I think we still need some gaffer tape for the fat lady.

dmantione
07-06-2007, 06:17 AM
Can the Linux exe be downloaded somewhere? (And Mac for the Mac users.) The zip on the competitions page seems only to contain the Windows exe.

jasonf
07-06-2007, 08:54 AM
I have a mac version all packaged up on my PC. I could host it.

The only issue which seemed to come out of the Macasization and Linuxing were Windows being a prat and making file extentions upper case.. when they appear lower case in Explorer.. Oh what a brilliant O/S :roll:

I'm currently working on fixing a few bugs and making the package size smaller.. 35mb is a bit steep I think.. If I can make it smaller, that'll make me happy. Although most of the space is taken up by music, Even when encoded in OGG Vorbis at it's lowest quality setting, the some of files are coming over at over 2mb. I'll fettle a bit more and see if I can reduce it further. Then I'll get Billy to do me a new Mac Package..

I've also made some of the background images into jpg format instead of png where there's no transparent colour being used.. this is saving some space too.

If I can get the whole thing down to belo2 20mb, I'll be a happy man.

I've already ogg'd the sound effects, which works very well and has saved a bit of space.

savage
07-06-2007, 11:02 AM
Jason, when you have a spare moment, could you post a screen shot and link to the dmg file in this thread - http://www.idevgames.com/forum/showthread.php?t=13138 for Pascal games on MacOS X.

Or let me know the details and I'll post there.

dmantione
07-06-2007, 11:09 AM
Yeah :D This is one I reason why I strongly believe in synthesing the music at runtime rather than at design time; with pre-rendered music you often get a combination of low quality, short music, few tracks. On other hand, hours long high fidelty 6.1 audio fits perfectly in a few mb if synthesized at runtime.

If the wav files are high quality 44100 16-bit files, convert them to ogg. Otherwise, convert them to 22150 Hz 4-bit ADPCM audio, for sound effects this is acceptable. For the ogg music, don't go below 128kbps, and use VBR encoding.

png files can be converted to 8-bit colour, while keeping transparency. Especially if they are small, this often gives very good results. Use a good colour quantization algorithm like Neuquant. Another solution is to split the transparency from the image, and encode it as a separate greyscale jpeg.

jasonf
07-06-2007, 11:16 AM
Well, I initially was going to use IT tracks which I wrote a while ago, but then I came accross the Symphonic Chronicles stuff and just HAD to use it as I thought it fit the game so well :)

I'll see what savings I can make then I'll upload a new version to the CBCO site.

As for the Mac version, I'll get on that as soon as I get home.

jasonf
08-06-2007, 12:36 PM
Sorry to dissappoint, I didn't get chance to upload the Mac or Linux versions last night.. but I did have a conversation with yet another charming BT call centre person.. who incidentally ran through exactly the same script as the previous calls... Quite what one has to do to get an engineer to work on the line after they've said, for the 4th time, "Oh, there appears to be a line fault sir".. I know there's a bleedin' line fault!.. get an engineer out to fix it!!!

So, I didn't uplaod the linux or mac versions... The good news is though that I managed to fix a couple of bugs which had been annoying me and reduce the file size from a 35mb download to a 25mb download. I could perhaps reduce it further.. but I'll have to see. I don't want to affect image or sound quality to make space savings..

The good news is that the Linux and Mac versions will reflect the bug fixes when they're uploaded.

jdarling
08-06-2007, 12:59 PM
Jason, what are you using to build your Mac version? I have been quite successful with Linux and Windows builds in Debian but have yet to figure out a way to do Mac builds.

savage
08-06-2007, 01:22 PM
Do you mean to create the dmg file or to compile the whole thing?

jasonf
08-06-2007, 01:24 PM
I'm using tha patent pending Billy1380 ;)

A friend of mine does the Mac builds for me using FreePascal. He has to do some funky voodoo to get it working though. It might be best to talk to him about it.

savage
08-06-2007, 01:49 PM
I'm using tha patent pending Billy1380 ;)

A friend of mine does the Mac builds for me using FreePascal. He has to do some funky voodoo to get it working though. It might be best to talk to him about it.

There should not be any terribly funky voodoo required unless you are doing OS specific things in certain instances. When I ported stuff to MacOS X for Cardiff Uni last November, once things were set up it literally was a case of recompile and run with not code changes.

if on the other hand you are talking about creating the *.dmg packaage, well that is another matter, but I don't remember it being too difficult. Btw, is your friend using the instructions and MacOS X distro I put together or his own thing?

jasonf
08-06-2007, 01:56 PM
I think he was using his own instructions. The problem was to do with SDL I think. I can't say any more really as I'm out of my depth with Mac stuff, having never used one..

I do like the adverts onat the Cinema though :lol: Mac vs PC

billy1380
08-06-2007, 02:21 PM
Hello, my name is billy1380 and I am jasonf's friend who does the mac builds...

I use fpc... and the voodoo that happens... is quite simply extracting the object file sdlmain.o from the objective-c compile of the Xcode project distributed by SDL.

there is also a switch that needs adding into the fpc config file...

here is a good link: http://www.cerebral-bicycle.co.uk/viewdoc.asp?doc=349 :wink:

enjoy

jasonf
20-06-2007, 08:55 AM
I did a load of work last night implementing the text entry controls.
They'll be used to unlock the shareware version of the game.

I was thinking of some complicated "stop people playing after an hour" system, and prevent them from re-installing to get free time and so on.. but I thought about it and I think I'll just offer the 1st 4 levels for free, after that, the trial version opens the register me screen, once registered they can continue from where they left off. I think the 1st 4 levels give people a good opportunity to see what the game's like before they hand over the small amount of money required to play the full version.

I might add some extra stuff which only appears after level 4 too as an extra incentive.

I'm also thinking of adding a High Score table afterall :oops: even after my protestations during the competition...

savage
20-06-2007, 11:10 AM
Hello, my name is billy1380 and I am jasonf's friend who does the mac builds...

I use fpc... and the voodoo that happens... is quite simply extracting the object file sdlmain.o from the objective-c compile of the Xcode project distributed by SDL.

there is also a switch that needs adding into the fpc config file...

here is a good ]http://www.cerebral-bicycle.co.uk/viewdoc.asp?doc=349[/url] :wink:

enjoy

Hi Billy,
Have you tried out the Mac OS X dmg I posted about last November/December? I don't remember having to extract an sdlmain.o file and the demos I tried did work. Once the FPC and the JEDI-SDL dmg were installed, XCode compiled the FPC projects quite well IIRC.

technomage
20-06-2007, 11:28 AM
I'm also thinking of adding a High Score table afterall :oops: even after my protestations during the competition...

How about an optional on-line high score table? the SDLWeb units can be used to get info via http. Just a thought :D

jasonf
20-06-2007, 12:03 PM
it's a thought.. I could put a "Do you want to submit your scores on-line" then send the High Score, Name and some way to identify the user, possibly with a hashed email address and hashed machineid.
This would allow the High Score table system to track the level of copied games, without submitting personal details.

There can't be any issue of privacy breach then, although the database would be able to see which licensed player is submitting scores... it would also only be a feature for registered users. This type of system was used in Unreal Tournament 2004 AFAIK

As long as the game can still be played without the on-line high score system being available, there should be no problems.

billy1380
20-06-2007, 01:47 PM
Hello, my name is billy1380 and I am jasonf's friend who does the mac builds...

I use fpc... and the voodoo that happens... is quite simply extracting the object file sdlmain.o from the objective-c compile of the Xcode project distributed by SDL.

there is also a switch that needs adding into the fpc config file...

here is a good ]http://www.cerebral-bicycle.co.uk/viewdoc.asp?doc=349[/url] :wink:

enjoy

Hi Billy,
Have you tried out the Mac OS X dmg I posted about last November/December? I don't remember having to extract an sdlmain.o file and the demos I tried did work. Once the FPC and the JEDI-SDL dmg were installed, XCode compiled the FPC projects quite well IIRC.

That is interesting... I wonder what you are using in SDL (or otherwise) to create the cocoa/carbon window... in the apps that work...

When I compiled crash block... it ran without SDLMain and the graphics displayed... but only in fullscreen mode: with no mouse control...

I have not tried the XCode method... I am consistently using the command line... it would be really cool if we could see what XCode is passing to the command line during the build...