New space beetles test!

Community Forums/Showcase/New space beetles test!

sswift(Posted 2007) [#1]
http://www.raccoonrocket.com/blitz/asb-036.zip

Left click fires. Right click selects weapons. (Most weapons are test code, so they don't work right. Use the lasers to kill the aliens.) Middle click spawns aliens.

Spacebar switches levels. You can now see a bunch of the planets. Work on those is still ongoing, so I'll be fixing them up a bit and adding atmspheres and shadows and things that might be missing.

The levels will have something like three parts flying through space and then a couple sections with the planet. But right now you only see the planets except on those levels where the planet image is missing and then you get to see the flying through space thing.

There's some neat particle effects when the various types of enemy bullet hit you, but the egg splat and sound need work, and there's no sound for when the purple psychic waves hit you.

You can now move the ship around freely.

When you shoot enemies they will spawn powerups. Right now every kill will spawn one.

I'm probably going to make the powerups still images because we made a few mistakes making the animations and there's not enough frames and some speed up and slow down as they rotate. I'll add sparkles and make them glow. It'll still look good. The aritst lost a bunch of the models in a hard drive crash so he probably couldn't rerender them without redoing them and I'm not gonna have him do that just for a spinning animation.

If you look at the stars you'll notice they sparkle now. And they're drawn behind the nebula/space dust which uses alpha so it looks nicer. And when the enemies spawn initially they're behind the nebula. I changed this cause I noticed when the stars sparkled while you flew through space it suddenly because really obvious they weren't behind the nebula. They looked like snow instead of stars. So changing the draw order solved that issue. I just hope using a big alpha object like that won't slow the game down too much on low end systems.

You can press tab to see the fps, but it won't exceed the monitor's refresh rate.

Anyway lemme know what you think.


Grey Alien(Posted 2007) [#2]
I'm not testing any more until I can "play" a level...I'm sure this version is great but that's the way I feel. I don't mean that to sound negative I just prefer playing something than testing something. And when it's good and playable I'll blog about it too!


sswift(Posted 2007) [#3]
Well it's gonna be a while before it's playable :-)


Grey Alien(Posted 2007) [#4]
damn ;-) hurry up dude!


sswift(Posted 2007) [#5]
Do people hate space beetles this much? Sheesh! :-)

Good thing it's aimed at the casual games market!


Trader3564(Posted 2007) [#6]
@sswift, Look nice :) but i couldn't kill anyone but my own spacecraft. wheres the enemies?
And i wonder how you made the graphics, they look smooth!


Trader3564(Posted 2007) [#7]
ah,i got aliens!

wows.. i got a very unstable FPS, it drops up and down between 15-50fps as the aliens move.


big10p(Posted 2007) [#8]
I got much jerkiness, too. It even froze for several seconds at times. It took ages to quit too - I thought it'd crashed.

P.S. What are those white ring things around the planet?


sswift(Posted 2007) [#9]
This is why I post tests. :-)


Unstable FPS and jerkiness? And freezing even? Hm... I'm not sure what could be causing that.


' Main:
	
	App.Create("Attack of the Alien Space Beetles!", 800, 600, 0, True, True)
	
	SeedRnd MilliSecs() 
	System_Time = MilliSecs()
					
	Repeat
	
		Repeat 
			Last_System_Time = System_Time										' Store start time of last frame.
			System_Time 	 = MilliSecs()										' Get the current system time.  
			Time_Delta       = System_Time - Last_System_Time					' Calculate how long last frame took to render, in milliseconds.
			Time_Delta_Sec#  = Float(Time_Delta)/1000.0							' Convert frame time to seconds.
		Until (Time_Delta > 0) And (Time_Delta < 250)							' Handle unnaturally long pauses between frames gracefully.
								
		EventHandler()															' Process window events.
		
		If Not AppSuspended()
									
			Time = Time + Time_Delta											' Calculate current game time.  
						
			If App.Windowed Then ActivateGadget App.Canvas						' If windowed, make sure canvas stays active, or else polled input will go elsewhere.		

			UpdateMouse()														' Get mouse input.
			Gameplay.Update()													' Update game.
			
			Animate.UpdateAll(Time_Delta)										' Animate sprites.

			SetClsColor 0, 0, 0													' Clear screen and draw sprites.
			Cls
			Sprite.DrawAll()				
									
			If KeyHit(KEY_F) Then App.ToggleFullscreen()						' Toggle fullscreen/window mode when user presses F.  (May need to disable this during user input.)
						
			'Last_Time_Delta      = Time_Delta									' Store timestep for this frame so we can reference it next frame.
			'Last_Time_Delta_Sec# = Time_Delta_Sec#

			' Draw framerate if user presses tab.
				If KeyDown(KEY_TAB) 
					FPS = 1000.0 / Float(Time_Delta)
					DrawText FPS, 16, 16
					DrawText Sprite.SpriteList.Count(), 16, 32
				EndIf
			
			' Flip new frame into view.
				Flip 1
					
		EndIf 
			
	Forever



That's my main loop and timing code. As you can see, I wait for vertical refresh, and all the timing stuff in the game is done with delta_time and time, neither of which should be affected by any millisecond rollover issues, if that was the problem.

I think I need to test this on my laptop again.


As for the long pause when the application terminates, that has to be a bug in BlitzMax, because it does not occur when I tell the app to use OpenGL.


And what are those white ring things around the planet?

Graphics glitch?

Ohhh you mean on the ice planet? Those are supposed to be stylized clouds. :-) If you look at the other planets, by presisng spacebar, you'll see those ones are also stylized.


Geehawk(Posted 2007) [#10]
I got no jerkiness. Frame rate stable at monitor refresh. 60

I did get a perceptible flicker on the planets though ?

Proper playable stuff would be great as it's no fun testing like this ;-)

Many weapons seemed good at killing yourself, is this intentional, or just something to be addressed?

Graphics are all high quality, but I'll reserve judgement on how well they gel (very random power ups) when I see a more complete game ;-)


sswift(Posted 2007) [#11]
"I did get a perceptible flicker on the planets though ?"


Whaaat? I'm sorry, that's just NOT possible. :-) I think you're imagining things.


"Many weapons seemed good at killing yourself, is this intentional, or just something to be addressed?"


I just made it so you could cycle through all projectiles. Some of those are enemy bullets. Those ones tend to blow you up. :-) It's just for testing.


"very random power ups"

They're not so random. There will be a health bar, since you can take three hits before being destroyed, and the fruit will replenish that. The money bag and gems just give you points. The barrel... Well I haven't decided exactly yet how or if I will use that. The plan was to have your ship get drunk. Shoe was for some kind of speedup powerup. The design is still in flux, so there'll probably be some new powerups that need to be made once I figure out what needs to be in the game.


big10p(Posted 2007) [#12]
I don't think the freezing I got was anything to do with your timing code - it seems to happen when certain things occur, like when I get that purple ring explosion thingy hit my ship.

The plan was to have your ship get drunk.
Bad idea, IMO. Taking control away from the player like this is annoying at the best of times - it'd be unforgiveable in a schmup like this.

Anyway, just make a decent clone of Galaga'88 - complete with dancing alien bonus waves and ship abduction - and I'll be happy. :P


Geehawk(Posted 2007) [#13]
"Whaaat? I'm sorry, that's just NOT possible. :-) I think you're imagining things."

Possible or not I notice it when this is running and not when working or playing anything else. A nice flickery shimmer that makes my head hurt. ;-)


Trader3564(Posted 2007) [#14]
...i wonder how you made the graphics, they look smooth!



Trader3564(Posted 2007) [#15]
i would add warpzones and vortex and parallel galaxies to make it a bit "different" from what is already out there.
Or add some BIG bosses.


sswift(Posted 2007) [#16]
Gobbo:
The graphics look so smooth because they are antialiased.

Most 2D games up until this point have used masking. With masking, a pixel is either on or off.

But I hired an artist who rendered all the characters in 3D studio Max, and BlitzMax uses 3D acceleration.

So the artist rendered each character with an alpha map that specifies how transparent each pixel is around the edge of the character. That means the pixels in the character don't have ot be on or off, they could be 50% transparent. And varying the transparency allows you to get smoother edges. And BlitzMax, being 3D accelerated, allowed me to display these images with this antialiasing just as fast as they would be displayed in a 2D game without it.

If you imagine drawing a circle over a grid, then if you just colored in each pixel that the circle passed through it would look blocky. But if you colored each pixel by the amount of the circle which was covering that pixel, then you would get a smooth looking circle. And that is what antialiasing does.


sswift(Posted 2007) [#17]
Oh and I have been considering adding warps that allow the player to skip levels, and I plan to have bosses, but I don't know if you'd consider them BIG. They'll take up like a third of the screen.



Possible or not I notice it when this is running and not when working or playing anything else. A nice flickery shimmer that makes my head hurt. ;-)




I'm not drawing the planets any differently from the rest of the graphics though. There's no reason they would flicker on and off or change color. Once I create the planet sprite at the start of a level I don't even touch it. It couldn't even be a z-order problem because the only way that could be would be if the planet had the same order as the nebula and if that was the case then I would see the effect on my own system.

When you spawn aliens, can you see them appear behind the planet, THROUGH the planet? Because if not, then the flickering you're seeing isn't the planet turning on and off.



Bad idea, IMO. Taking control away from the player like this is annoying at the best of times - it'd be unforgiveable in a schmup like this.



It would just reverse your controls. You'd still have control of the ship, it would just be harder to control. They did something like that in Redneck Rampage, and it worked pretty well.

And dancing alien bonus waves? How did they "dance"?



it seems to happen when certain things occur, like when I get that purple ring explosion thingy hit my ship.



Well that sounds like an issue with the images not being precached, but that was a problem in another game I was working on only when the level started and everything would be choppy while stuff got cached. But it shouldn't happen just for one small sprite image, and certainly not more than once...


Hm... You know, maybe your system has a hard time dealing with the background images which are 800x2048? What kind of video card do you have and how much ram does it have? It seems unlikely I could be exceeing the amount of ram you have, but it's the only thing I can think of.


Grey Alien(Posted 2007) [#18]
I personally wouldn't use a texture above 1024x1024. I have done before and discovered lots of machines that didn't like it.


big10p(Posted 2007) [#19]
And dancing alien bonus waves? How did they "dance"?
They enter the screen and move around in time to tango music. :)

If you haven't played Galaga'88, try it on MAME, or something. It's a great shooter. I even have a brill version of it for PC Engine.

I have a GF2 GTS 32MB, BTW.


Trader3564(Posted 2007) [#20]
cool. so the aliens where made in 3D Studio Max? then i wonder how he did the morphing?!? this is not possible with bones right? cause thats for animating just movement?


Perturbatio(Posted 2007) [#21]
Works fine for me, nice and smooth.


sswift(Posted 2007) [#22]
Gobbo:
He could have used bones, but I don't know if he did. For simple animation like this, it would probably be a lot easier to just move some vertcies and have two morph objects, and then have the program morph back and forth between them. But that would not have allowed certain things like wings to avoid being distorted, so either he animated those seperatey, or he used bones for the whole thing.

Anyway, I don't think you understand how bones work.

A bone is not for moving an object. A bone is for moving the vertices in the object. So if you put one bone in a character's arm, you would weight all the vertcies for the lower part of the arm for that bone, and them gradually reduce the vertex weights up at the shoulder. Then when you rotate the bone the arm would rotate, and the vertcies near the shoulder would rotate less so that you get a smooth transition into the non-rotating chest there.

That's what he would have done here for many of the characters, if he used bones.

Oh and you might be wondering about the squash/stretch. That too can be done with bones. If you just stick a bone in the middle of the model and weight all the vertices to it to some degree, then when you scale the bone vertically the whole model will squash vertically. Of course you could do that same effect just by animating the model's vertical scale.

But that's where the vertex weighting comes in. The red bouncing alien with one eye for example... His eye and head doesn't deform as his lower half squashes and stretches. So that was either done with a bone, or the artist moved the vertices manually to make a morph object.


sswift(Posted 2007) [#23]
A GF2 with 32MB? My god man! Updgrade! You could probably get card which is 10x better for FREE! Hell I have like three cards sitting around somewhere which are better than that that I consider worthless.

You do realise the 3D chips built into motherboards now are like 10x more powerful than what you've got. :-) I think they cme with at least 128mb of ram, and probably more now that Vista's out.


Chroma(Posted 2007) [#24]
I'd like to be able to hold down the LMB for repeat firing. Too much clicking otherwise. And RMB for a shield effect (a la asteroids).


sswift(Posted 2007) [#25]
Why in the world would you need shields? :-) The game is already absurdly easy as it is. I can have a screen full of enemies and still dodge every bullet and diving enemy!


As for repeat firing, I'm not sure that would work so well. If I had a slow repeat rate to mimic the speed at which you can press the button, you'd miss a lot of enemies when they fly by. And if I had a fast repeat rate, then it would be much too easy to kill the enemies. This is not a fast paced shooter with hundreds of bullets on the screen at once.

That said, I'll consider it. I'm sure just as many people would request that as requested that the ship be able to move freely about instead of being limited to the bottom of the screen.

But just because a lot of people ask for a certain feature doesn't mean it's a good thing to add. Something like that can change the whole feel, balance, and difficulty level of the game. I think Platypus has continuous fire, and as a result, every enemy takes hundreds of hits to kill, and you have tons of bullets flying on the screen at once.


simonh(Posted 2007) [#26]
Reversed controls are horrible, a very lazy way to make the game difficult (and annoying).


sswift(Posted 2007) [#27]
You know, sometimes I think some of you guys don't understand good game design. :-)

Simon, do you think that falling off a ledge over and over again like in your game super-gerball isn't annoying, and a "lazy" way of making the game difficult?

Games are all about risks and rewards. There's only so many ways that you can punish a player, and punishments are what create the risk in a game.

In super-gerball, the punishment for falling off a ledge is being forced to restart the level from the beginning. If someone requested that you be able to save in the middle of a level because having to restart it from the beginning was annoying, or that your ball be placed back at the point where it fell off, would you implement that, knowing that now you've greatly diluted the risk factor, and the player won't be nearly as concerned about falling off the edges?

Taking the "lazy" way out is exactly what makes a game like super-gerball fun. It makes the game difficult, and if the levels are designed well, then the player always feels they are at grave risk, (because of the treaded annoying punishment of having to restart the level) but still manages to make it through about half the time.

Reversed controls ARE "annoying". But that's what makes them a good punishment. And if I don't have the powerup that reverses the controls appear very often, and I limit the amount of time that the controls are reversed to a few seconds, then I can induce panic in the player that accidentally collects the powerup, without forcing them to play in that manner so long that it becomes irritating and boring.

It's just like the flashbangs in counterstrike. Is it fun to be blinded for 10 seconds? Hell no. It it "annoying"? Yes! But not so much that I would remove them from the game. That they are annoying is what induces the panic in you when someone throws one at you, and that panic causes your adrenaline to flow, and that's what makes most games fun.

Of course constant adrenaline isn't fun so you have to throw in some rest periods, or else the player will just get fatigued. But this isn't game design 101. :-)

In short, if you take all the annoying things out of the game, then you've taken out all the risk, and the risk is what generates most of the reward.

You can say "Reversing the player's controls for 30 seconds is annoying." but saying that you should never reverse or take away the player's controls is silly.

Zelda Ocarina of Time took away your controls completely when one of the zombies screamed at you, and those were one of the scariest and best enemies ever. So there, you're both wrong! :-)


Chroma(Posted 2007) [#28]
I don't know of any shooter game that punishes the player like that. If I can't move my ship where I want then I'd probably get frustrated. But I haven't tried your backwards thing yet so I can't be for certain.

And for the repeat firing, just think of the people with arthritis that can't physically hit the LMB that many times. Galaga, Galaxian, they both had repeat firing. I thought that was standard for space shooters. /shrug

EDIT: Hmm...I just thought of all the people with arthritis playing Zuma lol.


McSeb(Posted 2007) [#29]
But just because a lot of people ask for a certain feature doesn't mean it's a good thing to add.


Well Said.

I'd like to try it but nothing runs on this piece of **** computer I'm using at work to read this, screenies would be nice.


sswift(Posted 2007) [#30]
I hope people don't take from the above that I've already decided how I'm gonne design the game and that I'm not willing to listen to feedback. I do want feedback. And I changed the way the ship moves to reduce the amount of inertia greatly, and to allow it to move freely as a result of feedback.

But saying that X feature is annoying and you should do it differently is silly. It's not an absolute.

I can say that sticky powerups in arkanoid games I've played haven't been much fun because they just stop the gameplay whenever the ball hits the paddle and stays there, but that doesn't mean it's not possible to implement such a powerup in a way that would be fun. I know that there have been a lot of reverse control powerups in games that have been done badly. But I've played games where they were done well, and I think that if implemented sparingly in a limited manner, it can improve the game.

You might disagree that that's possible, but you really should wait to see how I've implemented it before making such a determination. If it's not fun after I've put it in, I'll take it out. It's not like the game design is set in stone. :-)


Chroma(Posted 2007) [#31]
Actually I think you're right and it seems you have the right attitude about game design. Keep it fun and don't punish the player too much. That's a good rule of thumb.


sswift(Posted 2007) [#32]
And for the repeat firing, just think of the people with arthritis that can't physically hit the LMB that many times. Galaga, Galaxian, they both had repeat firing.



You're wrong:

http://en.wikipedia.org/wiki/Galaxian


The ship could only fire sparingly by default, but rearmed instantly when an enemy was hit.




Which is exactly how my game works. Except I think Galaxian was limited to just one shot onscreen at a time. Mine allows three.


And you're half wrong:

http://en.wikipedia.org/wiki/Galaga


A "rapid fire" chip is available, replacing chip 3J on the original Galaga CPU board. It allows for a continuous stream of fire, as opposed to the stuttered firing limitation of the stock 3J chip




sswift(Posted 2007) [#33]
As for the arthritis thing, this isn't really the sort of game your 80 year old grandmother would be playing. :-) This is geared more towards kids and middle aged women than grannies and hardcore gamers.

Of course being geared towards kids it should probably not have beer in it, but I originally was gonna have a mug of beer and changed it to the keg so it would be less obvious what it is. :-)


sswift(Posted 2007) [#34]
Heh, thinking about the beer thing just now it occured to me that I should make the bubbles float up from the ship when you're in drunk mode, and that in turn reminded me that to capture aliens I wanted to do that by having them "fall in love" with your ship and have them do little floating hearts to represent this, and thinking about that made me wonder how I would cause them to fall in love with the player's ship, which them led me to the obvious conclusion that I need to include a cupid's arrow which you can grab, with a little heart for the arrow head, that you can then fire at an enemy to capture it and have it float down to follow your ship with the little hearts. :-)


Matty(Posted 2007) [#35]
Hi sswift, just tried your game demo. It's very pretty - the graphical style is consistent throughout, the sounds are appropriate and although only a small section of the gameplay is shown so far I enjoyed playing it.

The planets are great, I did like the 'apple core' style planet and the asteroids. I like the colors of the aliens and graphical style.


Controls are easy to use and responsive. Frame rate is consistently around 58-60fps (my laptop's screen refresh rate) - although I wouldn't expect it to struggle with this type of game/graphics.

From Matt


sswift(Posted 2007) [#36]
Matt:
Thanks! Glad you like it so far and it runs good on your system. And a laptop no less!


Obviously I have to make some adjustments to it still though with it running so choppy on those other systems... I wonder if it is running so choppy because he has a Geforce 2 and I have like 200 star sprites on the screen at once. Hm...


Gobbo, what kind of video card do you have?


Shoot, speaking of laptops... I need to implement some keyboard controls for that cause no way someone's gonna play using those touchpads.


JazzieB(Posted 2007) [#37]
Tested on my Vista system. Very smooth and looking good. One thing to note is that you need to account for the 1 second delay on sound effects that you get on a lot of Vista set-ups.


big10p(Posted 2007) [#38]
A GF2 with 32MB? My god man! Updgrade!
Are you going to tell your prospective customers to do that, too? You say you're aiming at the casual games market - many casual gamers have computers even less powerful than mine. I'm not going to upgrade just to play your game, and I doubt many others will, either.

You could probably get card which is 10x better for FREE!
How?

This is geared more towards kids and middle aged women
You seriously think middle aged woman will want to play a shooter like this? Wow. Good luck with that.


sswift(Posted 2007) [#39]
Big10p:
I'm just saying. :-)

I'm not planning on ignoring the issues with low end cards. I'll do what I can to fix them, as long as it doesn't entail going back to using 256x256 textures. :-)



[quote]
You could probably get card which is 10x better for FREE!


How?
[/quote]

Ask around here. If I lived in the UK I'd send you one of mine. Though my best one, a 6800OC has a broken fan so whoever got that would have to fix that or aim a fan in their case. And my second best one also has a borked fan. My third best one though is perfectly fine and has no fan. That is a Radeon x550 with 256mb of ram.

A Geforce2 is just so old. There must be lots of people here who live in the UK and who've upgraded their cards and have the old ones sitting around and would be willing to send it off to you. I've upgraded my card like four times since I had a Geforce2. But it would probably be pretty expensive for me to ship this one to UK.



You seriously think middle aged woman will want to play a shooter like this? Wow. Good luck with that.



They bought platypus. :-) And thanks for the vote of confidence!


sswift(Posted 2007) [#40]
Jazzie:
Are you saying you get a 1 second delay? There's a fix for that isn't there? I think Max has an alternative sound system, like OpenAL or something you can use. I'll look into that.


JazzieB(Posted 2007) [#41]
Are you saying you get a 1 second delay? There's a fix for that isn't there? I think Max has an alternative sound system, like OpenAL or something you can use. I'll look into that.

Yep, there is a fix for it. Just default to either OpenAL or DirectSound audio drivers on a Vista system. There are ways of detecting which version of Windows a game is running on (talked about in the Win32 forum).


big10p(Posted 2007) [#42]
S'ok, sswift - I'm not really fussed about upgrading, anyway - I only really use my PC for interweb use, these days.

They bought platypus. :-) And thanks for the vote of confidence!
Really? I didn't think women in general played shooters much. Maybe I'm wrong, then. :)


Chroma(Posted 2007) [#43]
Repeating fire won't affect game play as long as the firing rate isn't set too high. It will keep my mouse finger from cramping (and everyone else too). At least put in the code and let us try it...it's too easy to REM it out if it doesn't work out.


JazzieB(Posted 2007) [#44]
I have to agree with Chroma on this one. I use a similar technique in all of my shoot'em ups. You can hold the fire button down for a limited firing rate, and I set it so that it's a little slower then manually firing. This way the player is forced to fire manually when it counts for the added accuracy when needed.


sswift(Posted 2007) [#45]
Okay, I'll look into adding automatic fire, and fixing those sound issues and seeing if my laptop displays the slowdown issues so I can try to fix those, and then post a new demo for people to try to see how that works.


sswift(Posted 2007) [#46]
Okay I tried automatic fire with a quarter of a second between shots. It's terrible!

BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP BWOOP!

CONSTANTLY.

Also it's no challenge at all to just sit at the side of the screen and hold the button down, killing every enemy which goes past. And if I reduced the firing rate then it would miss half the enemies, and then why would one want to hold down the button for continuous fire?

Also it forces me to disable the three shots onscreen limit, which makes automatic fire feel weird, since the ship can move around the screen and that causes the automatic fire to change cadence as you move up and down.

I'm afraid automatic fire is out. Bad idea! I could change the sound to be less annoying with automatic fire, but it still wouldn't change the fact that it makes the game way too easy.


Chugs40(Posted 2007) [#47]
There's nothing wrong with repeditive firing. After all, all retro shooters should be like that. There is less skill involved with held firing. I think a game is more fun with rapid firing. As I have done alot of my retro shooters that way.

Swift your project looks good so far, graphics were a little blury on my machine. Need some thing to shoot at!

Movement is touchy but not hard to get used to. :)

Edit: And of course, old arthritic people should not play shooting games!


sswift(Posted 2007) [#48]



Rob Farley(Posted 2007) [#49]
Being an 8 year old I've been drunk on about 3 occasions and never have I tried to move left and moved right instead.

Many times have I wanted to stop moving right and have not been able to, or indeed over compensated and started going back the in the other direction.

I too have been walking forwards and the randomly have to take a side step to stop me from falling on my arse.

However, I have never wanted to go right and gone left instead.

Infact usually I just find that I chat up women, talk rubbish, and finally eat a kebab.

So to summarise I think that if you're going to have a drunk ship it should feel drunk, and you should be able to pick up a kebab and/or a woman at some point.


sswift(Posted 2007) [#50]
Does having aliens fall in love with your ship count? It worked for Kirk!