CP - Alien Breed Remake - 10

Miscellaneous Forums/Blitz Showcase/CP - Alien Breed Remake - 10




Download site

Alien Breed Remake Forum

Wow! Thread 10!

Previous Threads:
Initial Idea thread: http://www.blitzbasic.com/Community/posts.php?topic=37615
Thread 1: http://www.blitzbasic.com/Community/posts.php?topic=37773
Thread 2: http://www.blitzbasic.com/Community/posts.php?topic=38098
Thread 3: http://www.blitzbasic.com/Community/posts.php?topic=38223
Thread 4: http://www.blitzbasic.com/Community/posts.php?topic=38400
Thread 5: http://www.blitzbasic.com/Community/posts.php?topic=38864
Thread 6: http://www.blitzbasic.com/Community/posts.php?topic=39203
Thread 7: http://www.blitzbasic.com/Community/posts.php?topic=39435
Thread 8: http://www.blitzbasic.com/Community/posts.php?topic=39934
Thread 9: http://www.blitzbasic.com/Community/posts.php?topic=40469

New Code and GFX zips updated.

Marks Level Objectives are in this as well as the coversion of the main character into a 3D model rather than a bitmap... It's all starting to look very nice now!

Of course I've introduced a bug! I know about the straifing and looking into it!

Sorry didn't see this new thread, i have just posted in the old one.

I have just been playing the latest version and if you hold down fire and move, the player no longer stays the way they were facing, they now turn around. Is this meant to be like this now?

Please read my previous post.

http://legion.gibbering.net/grisu/update.zip

tiny changes:
% player infos in player selection screen aren't shown directly at screen border (" " free space added) anymore
% esc key during player selection skips map selection
% esc key exits credits as well

Strange bug:
When player stands next to walls or objects the idle body anim runs laggy?

Just done Bunker... Not uploaded yet.

Now that we are 3d, we could make hud semi-transparent and credits fading.... *just thinking*

Oh Yeah!

Grisu, yep we certainly could, I think the easiest way to get the credits fading is simply to wap a multiply sprite over the top.

The hud is in desperate need of a redesign, since I changed the way the weapons work I've switched off a bunch of stuff as I didn't think it was worth trying to make it work seeing as we are going to redesign it.

I'm concentrating on the models at the moment, it's a lot of work... but I'll get there... Animating Binky now...

It's 3:00am and I've been staring at my computer for way too many hours!

Anyway... way time for bed...

Updatette:

Binky is done. Fully animated and implemented.

The Alien is done and implemented including a bunch of bits added and removed from the class file. Just got to totally revamp the alien AI to deal with any angle of rotation (easy eh!). It's all starting to look very nice indeed. Oh, aliens die now too, as in fall over dead, and they attack in a swinging their arms around kind of way when they're right next to you. All good fun!

Can you also have the exe of the file which can be downloaded seperatly? I liked the game a lot and would like to continue playing it even if I can't help programming.

Right, not doing an upload just yet as there's still work to be done. The Aliens as models are now in, they smoothly run and chase you, attack you when they get close and fall over dead in a pool of alien blood and die slowly. Which is all very cool.

Then downside is they are thick as a short plank now, they get stuck in corners unable to decide what to do with their green blooded lives so I think I need to upgrade their AI somewhat.

Doing this 3D stuff has dramatically reduced the amount of fields in the types which tidies things up. I've also been going through the code putting big bold comments in as it was all getting a bit confusing!

Fixed the straifing problem too, and made more code between the aliens and players common.


Thoughts:
Looking at the field names in types too, if we make more of these common between players and aliens we can use the same code to affecthealth etc for both players and aliens by simply passing the type. Eg, Health, HurtSound, Bloodcolor are probably all that's needed to do the hurt stuff, this will then spawn the particles and stuff, still needs looking at but I think this is a tidy way to go. Discuss!

Intex Systems: They currently have no use and no usable framework for anything else, I think we need to rip this out and have a serious think about the content of it, if indeed we have it at all. I was thinking it could be better to have consoles that are defined as objects so the content is based on the object rather than anything in game, this way we can make it do stuff for a specific level or part of a level rather than generic stuff. Discuss!

Right I'm off to my Parents in Law for a Sunday Roast! Later!

Looking at the field names in types too, if we make more of these common between players and aliens we can use the same code to affecthealth etc for both players and aliens by simply passing the type. Eg, Health, HurtSound, Bloodcolor are probably all that's needed to do the hurt stuff, this will then spawn the particles and stuff, still needs looking at but I think this is a tidy way to go. Discuss!
Sounds reasonable, but don't you just wish we had inheritance to make such things even easier? ;-)

Intex Systems: They currently have no use and no usable framework for anything else, I think we need to rip this out and have a serious think about the content of it, if indeed we have it at all. I was thinking it could be better to have consoles that are defined as objects so the content is based on the object rather than anything in game, this way we can make it do stuff for a specific level or part of a level rather than generic stuff. Discuss!
Agree that the intex systems are a little useless at the moment. But I think we've had a fair few ideas that would make them worthwhile. However, they do need to be "programmable" in some way. They're already objects (defined in the default object file with a script of "intex()"), so I think intex systems (or at least some on a given level) become level specific with a parameterised script, e.g. "intex(blah,blah)". You'd probably need to add stuff to the level definition rather than stick it all in the script actually, so maybe "intex(ID)" which then looks up what to do in the level def. file?

So, if that's how to do it; what do we use it for?
1) Remote camera idea from previous thread
2) Controlling turrets remotely (better than a simple switch, maybe password controlled?)
3) Email - for furthering the plot, providing passwords, gaining / completing objectives (e.g. log on to the boss's computer and download an incriminating email?)
4) Special actions to complete objectives, access different areas. e.g. downloading data files, turning on / off systems, opening doors, firing launch sequences, triggering level destruct.
5) The map function - although arguably this should live on the PocketPC. But you could have a high-level (blurred) map of the level on the intex systems too.

That's what I can think of off the top of my head. I think they're worth holding onto.

By the way, I'm unlikely to be able to make much of a contribution over the next week or so code-wise. I'll poke my head in to contribute to discussion though, just busy with real life.

Oh, and to answer enigma's question about a story from the end of the last thread - I have written one way back in a very old thread. Take a look and tell me what you think.

I was working on an intro, but I lack the skills necessary to make a professional one.

Clown Hunter can you please either post useful comments or don't post at all and keep this thread on topic. Thanks.


Code and GFX Zips updated:

05-12-04 :
Rob:
- Binky and Bunker 3D models complete.
- Alien model complete and 3Dised the Alien drawing... Only the alien is done so there's a hack in the create alien function to make all aliens the Alien type.
- Fixed straife mode bug

* New bugs!
- Aliens are now totally thick, AI needs a revamp
- Alien and player draw need to be implemented into one function so they don't layer, let the Z buffer deal with it. Noticeable when a player dies and is drawn after the aliens.


Clown Hunter can you please either post useful comments or don't post at all and keep this thread on topic. Thanks.


Sorry. Just wanted you to know I was trying to do something useful. Anyways, what is the story line behind Alien Breed? Does it take place on Earth or what? Why are the aliens everywhere?

oh jesus

Guys, I admire the Team collabration and enthusiasm. I would like to contribute something useful. But, I'm having trouble finding a starting point and keeping up with numerous updates.

I bring 3 years of BlitzBasic coding to the table. I'm sure I can figure it out, just need a good starting point. Any assistance would be a appreciated it.

I've had another idea... very very simple, but for the levels.

At the beginning of each level we could have a sort of intro type affair, this would basically be a slide show. So we have a little file that sets the background music (file), then you set the first slide (file) and the sound for the first slide(file) and then the delay for the slide. It just runs through the file until it runs out of things to display. I'll have a play this evening to explain what I mean.

Frank, take a look at the todo list on the previous thread and see what takes your fancy!

Does alien breed take place on an alien planet or are the aliens attacking us?

Mark came up with a story in a very early thread, all the links are at the top, it's in there somewhere!

Frank,

I made a start at documenting some of the game alongside the todo list - see the link to doc.html in the second post of the previous thread. I need to do some work on that over the next week, as I agree that it is a major barrier to people helping out.

Clown,

I don't recall much of a story in the original AB, but it revolved around clearing aliens from levels of a space station. I have written a story for our game (there's a link back in thread 4 or 5 I think), which went down pretty well. I'll add it to the docs.

Rob,

It would be really good if you could add some stuff to the docs, e.g. on how the player / aliens stuff works. Even if it's just a bullet point brain dump for now, I'm sure it will help.

I'll incorporate the todo list into the docs and split them up into separate topic based files to make this easier tonight. They can then be included in a docs dir with the code zip.

At the beginning of each level we could have a sort of intro type affair, this would basically be a slide show. So we have a little file that sets the background music (file), then you set the first slide (file) and the sound for the first slide(file) and then the delay for the slide. It just runs through the file until it runs out of things to display. I'll have a play this evening to explain what I mean.

See the todo list and docs! This is part of what the .level file was intended for, to provide a place to list an image / slideshow / movie / music to play at the start of each level.

Okay, I've got an idea for the intro. You see a guy in a suit walk into a room where there's a receptionist and they start talking and stuff. Then the lights go out and you hear the saying stuff like,"huh, whats going on". Then you hear screems and then the sound of blood flying everywhere. Then the lights come on and you see their dead bodies, maybe they could be in pieces. Hows that?

Sounds very nice Clown, how do you propose to do it? FMV is all well and groovy but a touch tricky, especially when you need actors etc.

Mark, what I was thinking was if there was a function that's something like playslideshow("filename") then we can use this in-game as well from a script.

My thought, the beginning of a level you get a briefing, this will be a voice telling you what needs to be done, shows some blue prints and an expected route for you to take.

When you get to the level and you're going down this corridor you find that it is now blocked, you run over a tile and it runs a script telling HQ that it's blocked or something... Just an idea floating around in my head at the moment, but it would be handy for use ingame not just at level beginning.

I'm currently commenting the Aliens.bb and Players.bb code at the moment, I'll have a go at doccing it up once I've commented it so I can get my head round it too!

maybe you could make it like a "comic"? like in max payne? i dont know, just seeing what i can do, sounds so cool! (i cant play/code cause no b3d)

Just played one of the more recent releases, but are you supposed to be allowed to shoot grenades over closed doors?
(sry if this has already been mentioned, I just cant be arsed to go through 9 threads of 100+ posts to check on it)

but are you supposed to be allowed to shoot grenades over closed doors?
You're not supposed to, but it's a known bug.

Everyone who's contributed to this so far be it through code, music, gfx etc; I'm going to add a bit on the web site regarding the contributors, so if you want to write a bit about what you've done then please do, any links to your personal website, photo of yourself or anything. Basically anything you want to pimp etc. The project seems to be getting a hell of a lot of exposure, loads of forums etc, I even got an email from a Polish website that ran preview on this saying how great this was! All good stuff. Anyway, email me what you want on the site and I'll put it up there.

maybe you could make it like a "comic"?

I kinda like that idea, although it'll be tricky to pull it off in a sci-fi style I think...

We need quite a bit of media now that we're talking about levels, intros, etc. And we need a somewhat consistent style to it all. Any artists out there want to volunteer?

Mark, what I was thinking was if there was a function that's something like playslideshow("filename") then we can use this in-game as well from a script.

Sounds good, just thought I'd point out that there were a few ideas in the tood list / dcos already that you may want to check out for inspiration, and also pointing out that the .level file could be used to define which intro to play. The idea of "blueprints" for levels is good, but I reckon these could be a good use of the intex system - that you can view a "blueprint" map once you're in the level, rather than before - it's far more useful once you're inside anyway!

As a general note, I think we need to have a period of consolidation - tidying up code, fixing bugs, commenting, doccing, rather than adding too much to the code base. Or at least, for you and me Rob! This will give us a decent stable base, and also allow others (like Frank) to get up to speed and hopefully contribute. I do think that our pace (or yours at least!) actually limits the ability of others to contribute. It's great that you're so committed, and motivating and all, but I do wonder if we shouldn't have something like a planned release schedule, e.g. every Monday night publish latest code, etc? And people should submit code for that release by the Sunday?

Something to discuss anyway, particularly anyone out there watching and not contributing - why aren't you, and what can we do to help you do so?

Yeah, documenting needs to happen. Every time I've uploaded again I've removed huge chunks of code or commented out code that is just old old old. As you may have noticed the downloads this time round were somewhat smaller.

Something that I'm going to look at is the type naming in functions. All the functions I did that use a player type use pl.player, I think pertys ones are all p.player so there's inconsistancy all over the place.

Also function names etc are all different with some underscored others not etc etc.

I'll take a looksy tonight and see if I can try and tidy some code, comment and document.

Regarding scheduled release dates I like the sound of that.


Sounds very nice Clown, how do you propose to do it? FMV is all well and groovy but a touch tricky, especially when you need actors etc.


I could try poser again.

Wow,

I wish I had this much energy in Project PLASMA FPS!

OK guys, I've downloaded the latest files and able to exec the engine with no probs. I'll be studying engine source for a day or two, then I'll be ready to get knee deep in aliens!

Good stuff, I'll try and comment the code more, I've done a pretty good job in Aliens.bb I think! Looking at doing some docs this evening.

Clown, You're more than welcome to give anything a go, we're open to any suggestions/idea etc so do something, upload it and we'll take a look!

Okay, I've taken the old docs.html linked in an old post and tidies it up. I haven't added much content, but it's structured reasonably well now such that we can add to it fairly easily.

*DOCS*

I haven't yet pulled in the todo list, although I'd suggest it is add as a section in the docs. OR...scatter the todos throughout the docs as some of them already are, and then write a little (blitz) program to copy them out into another file for quick summarising / posting on the web site.

Code Comments and Documentation are good things. I will be providing remarks in my functions that describe its purpose, parameters,
and return value. We can later use this information to produce documentation.

Example:
Function botScan(this.bot)
	;Purpose: Performs collision check between the bots scancone
	; and all the players bodies. If TRUE the bot will attack.
	;Parameters: bot object
	;Return: None
	For player.player = Each player
		If MeshesIntersect (this\scancone%,player\entity %) 
			this\stateofmind%=BOT_AI_STATE_ATTACK%
			this\target=player\entity%
			Exit
		EndIf
	Next
End Function


Guys,

I have been playing with AB for the past three days. There are a few performance issues on my System: Win98, DX9, Athlon-1500, 512MB, Geforce 4 Ti 4600.

In some cases, I'm getting <1 frame /min. I have not isolated the trouble. I don't suspect it to be a 100% rendering issue, however, there are noticable drop in frame rates with particles and aliens in view.

I'm highly in favor of moving all graphics to 3D. The use of individual particles could be replaced with Animated Textures or Models for a increased performance as well.

These are just ideas no recommendations. Lets discuss.

Frank,

Your commenting is great as I've written a doc creator that creates docs from comments after functions, types declarations, comments at the top of files etc etc. So we're singing from the same song book there.

Regarding your frame rate, seems odd it gets down to 1 frame per minute with your specs, however, I think this is because the models are segmented and have multiple surfaces per model. I'm currently re-working then so this isn't the case, the problem is that after I put the model into lithunwrap I lose all the animation information so I've got to do the whole lot again, which is time consuming to say the least.

Personally I hate animated textures because I think they look totally pants. We can certainly reduce the amount of particles if necessary, and this could a setting anyway. There's currently no limiting on the amount of particles on screen so I could easily put a cap on that.

PS, That bot code looks like it would be very very slow, why not just get it to look left and right with line pick or something? Just do one line pick per cycle, making it look from -90 degress to 90 incrementing in 10. Also using a line pick would mean it will see walls and other bots so can avoid them too without additional code loops.

I used to get such frame rate drops when we were in 2D, so I agree with Frank's suspicion that it's not just rendering. I believe it's directly related to the number of aliens 'active', but have yet to prove it.

Mark, I've already put in code to only update 'close' aliens so that really shouldn't be a problem.

Rob,

The code was for example purposes - hehe. However, some game engines do use low-poly geometry defined within the model for several collision purposes.

I chose this method for my FPS Engine, but, it may not be suitable for AB . The advantage would be defining a field-of-view with shape. You could use cones, spheres, lines, and other shapes.

The shape is attached to the head and points outward from the eyes, thus the character can see in the direction of its head. In some cases, its easier to check geometry vs geometry collision using geometry then linepicks.

OK, just finished my cutscene code. This download goes over the top of your exisiting alien breen folder. It updated Util.bb and adds Cutscene.bb. You also get an extra bit of music, some speech and a few other bits and pieces.

Run the script example in the alien breed root to get an idea of what I'm trying to achieve with this code.

http://homepage.ntlworld.com/rob.farley/download/cutscene.zip

Updated the AB site with some new screenshots, and re-designed the HUD.

I'm guessing everyone is busy with real life at the moment.

If everyone could give an update on what they're working on it'll be a great help.

Rob,

I will update the cutscene code later to day. I haven't actually played with the scripting, so, im looking forward to it.

Cool HUD Shots.

Rob,

Cutscene are Awesome! How difficult is it to sync the audio and swipes together?

Hey, i touched up the dead guy in the first level. Here's the image. Dunno if you wanna use it. Just thought he looked a bit plain :)

www.rosscrooks.pwp.blueyonder.co.uk/detail.png

i touched up the dead guy
You sick bastard!! :)

Arf!

Anyway... Yeah, like it! Will use it!

lol...caught ¬_¬

Cutscene are Awesome! How difficult is it to sync the audio and swipes together?
Franky, pretty easy, it's just a matter of trail and error really. The cutscene I did there is basically total pants and could be loads better. Also the way I've arranged the cutscene code means we can add different features to do different things. Basically if we can get the sort of powerpoint presentation type stuff in there I think it'll be pretty cool. You can load smaller images and just blat them anywhere on the screen, that's something I've not done yet. Anyway, with some decent graphics and someone who can actually voice act I think they'll be perfectly suitable for level starts/ends and mid level sequences.

The cutscenes are similar to Microsoft's PowerPoint Presentation.
it's just a matter of trail and error really.
I was hoping this was NOT the case. Perhaps the voice over can be broken up into smaller soundbites to match the presentation slides. In either case this is task the scripting system should be able to handle for flexibility. IMHO.

In either case this is task the scripting system should be able to handle for flexibility. IMHO.
It already can.

Just created a proboards forum for us to discuss this in so we don't exclude non blitz3D people from the process.

http://abremake.proboards42.com/

Rob,

Checking out the latest forum.

Rob,

I find the scripting system implementation very interesting. Have any performance test been performed?

I've been working diligently on the BlitzScript3D Scripting Engine Module. BlitzScript3D Engine compiles a scripts with a Blitz3D-like Syntax to Pcode (instructions represented numeric values) and executes on a Virtual Machine. The result is a relatively fast script system, executing at 1/4th the speed of Blitz compiled code.

Currently, the script engine supports 471 Blitz3D Commands and new functions can be added with ease. Theres is a lil more work required to support Branch Sub Routines aka Functions, Arrays, and Control Loops, but, its in progress. A demo is coming soon.

I've have been looking for ways to contribute and perhaps BlitzScript3D can find its way into AB. Just let it be known that im not trying to replace others work. This has caused disputes in the past within Project PLASMA FPS. Just something to consider for future expansion.

Try the BlitzScript3D Engine Demo (WIP). Post your comments in the forum.

What are the controls for Alien Breed? I couldn't find them anywhere. From playing, I could determine:

Arrow Keys - Move
Control - Shoot
Shift - Use Intex
Space - Inventory
F1 - Screenshot
Insert, Home, etc - Weapon Select

Is there a strafe button?

Player 1:
Cursor keys - Move
Right Ctrl - Shoot
Right Shift - Activate
Insert - Change weapon

Player 2:
WASD - Move
Left Shift - Shoot
Tab - Activate
1 - Change weapon


If you're using an older version of the game then the weapons keys are Insert, Home, PgUp, Delete, End, PgDown for Player 1 and 1,2,3,4,5,6 for Player 2.

Hmm. Just thought I'd check up on you lot. Still looking good and coming on well. I'd help but I'm too busy with other things.

I have to say that the forum system here sucks now after having been away from holiday and Blitzmax arriving. But at least you lot are still getting on with things. Well done. :)

A wee bit of news update...

We should have all recovered from our hangovers now so we should really get back into this if anyone's still interested?

http://abremake.proboards42.com/index.cgi


Oh, one more thing... I'm calling out to anyone who wants to code this, I think we've lost pretty much all of the AB coders to BlitzMax so help is certainly needed as I've got a serious up-hill stuggle on my jack jones.

wish i could help..but im useless at coding:(

Rob, what needs done?

Look like Alien Breed could use some more tile variety and level details. Perhaps you guys that dont code can make some more tilesets?

Come on people! Don't let this one die yet!

Please let me know the dimensions and criteria for tiles, any specific requirements for level/terrain types and what sort of tiles make a complete set i.e. Walls, Doors Horiz, Doors Vert, etc. etc. and naming conventions.

...

Where can i get the latest version, to start working on...
Looked at the DL site but what i can see are the screenshots from a newer version ??

/Alienforce

People, i may have been sticking out of this project but it was coming on well.. where is everyone???

I'm reading the code thru, and i'll try and do a couple of things on the to do list :o)

How's it all going guys?

Slow.

Instead of 'Guys' you could say 'Rob'

I'd help out again, but it's gone way past me.

And I'm way too busy at work at the moment (working away from home). I'm still watching, and if anyone wants to pick my brains on stuff (especially my scripting stuff), feel free to post here / drop me an email.

New download available, 12mb of full downloadiness. Haven't bothered uploading the source as no-one else is coding so it seem pretty pointless.

http://homepage.ntlworld.com/rob.farley/download/Alien_Breed/AlienBreed.zip

I've not been contributing but the source provided so far has been a great source of info and inspiration..

Pictures dont work

I take it this game is pretty much dead now. Pity, it looked very good.