X-Bomber v068 Onwards Devlog - Please comment!!

A forum for discussion of Crash's retro-style arcade game based on Star Fleet
User avatar
Crash
Posts: 1920
Joined: Mon Sep 09, 2002 8:16 pm
Location: EDF Moonbase
Contact:

X-Bomber v068 Onwards Devlog - Please comment!!

Post by Crash »

I've started working on the Mission 14 Boss ... Finally!It's starting to take shape. I wanted this one to be really superb in accordance with the fact that it'll probably be the most powerful robot-style boss that you encounter in the game.That's why I've shyed away from it so long. I only came up with the design over Christmas that fulfilled all my objectives. It is gonna be the "Remote Weapon Death-X" in addition to the "Dai-X Style" Death-X (M-05), the "Underwater Type" (M-11) and the "Space Type" (M-13) and also the non-Alliance transforming robot that you find in (M-12).I know the whole Dragoon/remote weapon/drone thing isn't in Star Fleet but I think they would have put it in if it'd been made today. I mean there are no Alliance robots in the show but Nagai has stated that they wanted to do it.I'm also trying to keep the designs different because there's such a wealth of good mech designs in anime and I don't want to get tied to a single one. I think each of my Death-Xs so far are mixtures of good bits from all over the place but they still work well as a whole.It makes sense for such valuable machines to be substantially different rather than stealing too much from eachother if they're supposed to be specialised.Anyway the WIP body for the Remote Weapon Death-X is up on the site's frontpage along with some other stuff I've been working on.The 'unified' astrofighter carrier is basically there. It just needs some simple finishing. I also made it more accurate to the original thanks to the DVDs and Brad's latest model.
Dream big and bold and daring.
User avatar
Crash
Posts: 1920
Joined: Mon Sep 09, 2002 8:16 pm
Location: EDF Moonbase
Contact:

X-Bomber v068 Onwards Devlog - Please comment!!

Post by Crash »

My new machine arrived. I can confirm that the program runs fine on Win7 x64. It ran great even before I'd bothered installing any actual graphics drivers.The only thing I found was that the audio panning didn't work right but I wasn't sure I liked that feature anyway, so I might just pull it.I was actually quite pleasantly surprised by Win7's MIDI controller. I'd heard that it was worse than XP's if anything I think it's a little better. It was a bit weak in places but quite punchy.The Windows Firewall irritated the high-score-submitter but once you okayed X-Bomber to uplink and went around and played another level and came back it worked fine.This is true of v0.79. v0.8 already has a better high-score system anyway so it's not a problem for long.



Dream big and bold and daring.
User avatar
Crash
Posts: 1920
Joined: Mon Sep 09, 2002 8:16 pm
Location: EDF Moonbase
Contact:

X-Bomber v068 Onwards Devlog - Please comment!!

Post by Crash »

- Particles now set to maximum decay/dissipation speed when offscreen.- Blue E-Missile (fired by GunBoys and Player2 ship) streamlined, Wingblade's E-Missiles merged. Object creates colour-coded explosions, vapour trails and operates in multiple modes. vapour trails now directional, RGB-coded with progressive alpha blend.Also found bug creating twice as many trail particles as required.- Dai-X Buster cannon upgraded with faster, continuous fire, lightning and charge particles.charge particles for Scalar Mass Driver and Buster Cannon resprited.- Dai-X Blocking Shield now pulsates outward and then contracts around ship using scaling when activated.- Mission 12 performance streamlined. Enemy explosions were being constantly rotated and fine-tested for collisions.- Made the EDF turrets in Mission 12 easier to negotiate.- Found numerous objects (including new dust particle) using fine detection when not needed.- WingBlade Wing machineguns unified with Dai-X head machineguns - looks much better.



Dream big and bold and daring.
User avatar
Crash
Posts: 1920
Joined: Mon Sep 09, 2002 8:16 pm
Location: EDF Moonbase
Contact:

X-Bomber v068 Onwards Devlog - Please comment!!

Post by Crash »

OK, so I worked long and hard this weekend so far on X-Bomber's particle system.I had to make some big efficiency savings to the game because I simply found that DirectX9 and MMF2's HWA runtime just don't seem to run as well in Windows Vista/7 as they do in XP. That's my assessment after a month's testing anyway.On Rangiku (T7700, 7950 GTX, XP) I would get 2400 objects out of the runtime before the frame started to degrade at all. With Windows 7 x64, on significant hardware (X9000, 2x 8800M GTXs), I can get about 2000 normally.To this end I have introduced a number of efficiency savings that should be totally transparent to the end user. Also, I have introduced new options settings that allow the player to massively reduce the game's object overhead with only the slight expense of the visual presentation.With all this done, even with these settings at their original default values, the game is a lot more efficient and I can fire the X-Bomber's Chapter III 'Mk.III' version of the ADEN Cannon Special Weapon at the M14 Boss with all its attachments and all the remote weapons (creating 6x particles per frame from each colliding tracer with shots being fired at a rate of 60 shots per second) without slow-down. (Basically the bullets are not destroyed but, being armour-piercing, cause damage every frame that the bullets are overlapping an enemy and create 6x particles just as often).Anyway that makes for a *ridiculously extravagant* number of particles when so many bullets are overlapping such a large area as the M14 Boss and all its little buddies and add-ons. Before it didn't really work smoothly. Now it does and the necessary changes are invisible to the end-user. YES!Next-up - I need to give the same reduction options to X-Bomber's (I believe yet-unseen) Dust system that is used to good effect in a few levels, replacing and encompassing the original Napalm, Radiation, Jump Effect and general smokey dust effects. It can also have more plugged into itAlso, I downloaded the Soundtrack to Raiden IV; not a bad game by all accounts but perhaps not the seminal classic that Raiden II was. Anyway, much of its music is really good remixes of the Raiden tunes from Raiden I and II that everyone recognises *but* the new tracks are *even better* and will probably not be very recogniseable. So I'm going to include those in X-Bomber's new v0.8 MP3 music playlist at the expense of certain other tracks from previous versions, which were good but probably didn't fit the really modern, exuberant feeling I want to generate for the game.Basically, I want to make a game which is overwhelming in terms of enemies and variety (to give it good replay-value) but also to make anyone playing forget everything else and just feel great about going out and saving the universe for part of an evening.There's so much about the world that's just completely bent (even in a supposedly 'free country'). What I feel the need to write is a game where you say to yourself: "I am the flagship of the fleet. Nothing messes with me today and gets away with it".ALSO: Quite a while ago, I managed to get the Dai-X's spinning sword working. It looks awesome; just like a giant buzz-saw when it spins. I even put some motion-blur-kinda-semi-transparent echoes on the blade it with the alpha-channel and some image compositing for when it spins. It also winds smoothly up-and-down - much better than suddenly going at 100% RPM and then suddenly stopping when you press and release Fire1.



Dream big and bold and daring.
User avatar
Crash
Posts: 1920
Joined: Mon Sep 09, 2002 8:16 pm
Location: EDF Moonbase
Contact:

X-Bomber v068 Onwards Devlog - Please comment!!

Post by Crash »

Well today I embarked on what I call aggressive optimisation and retconned the new Dust system so that it uses a greater number of different objects but a *lot*, *lot* less CPU time. Unfortunately it lost a little of its flexibility but it still does everything that it has to.I got that system optimised to generate over 5500 objects without slowdown.I also rolled all Powerup objects (Shields, Armour, Weapons and X-Impulse/Dai-X Missiles) (and their 3 different levels; silver 25%, gold 50% and purpley 100%) into a single multifunctional object for greater flexibility, simplicity and reliability. I'm nearly done with the system but a lot of stuff in the Mission code will have to be retconned in order to make it compatible.I'm also planning a kind of cheat maybe or feature where the powerups home-in on your ship to save you from having to collect them.I also made the missile vapour trails and particles as efficient as I could by stripping away the ability to dial-down the length of the smoke trails while preserving the overall diffusion and appearance of the smoke trail. This feature from v0.76 and 0.79 involved multiple complex calculations (each of which drew data from several different sources including the extension used to load the user config data into memory), all which, naturally, had to me performed individually for each smoke trail segment/particle.This was in addition to the continuous instructions to the graphics card; realtime rotation, scaling and alpha blending.In order to determine whether particles etc had been created in a more efficient way I rigged them to use flags (which I generally try to avoid but are presumably more efficient) rather than values.Some of the tests I put in place yesterday were pointless in hindsight because you were tying up a vast amount of CPU time testing each of hundreds of particles in order to basically penny-pinch and destroy a couple that might, possibly, no longer be required.It seems as though, when you leave the objects alone to the greatest extent, you get the greatest performance.I also reduced the number of particles created by the ADEN Cannon in the interests of common sense and introduced a new, larger, hexagonal particle that looks like a segment of armour being blown off the enemy.
Dream big and bold and daring.
User avatar
Crash
Posts: 1920
Joined: Mon Sep 09, 2002 8:16 pm
Location: EDF Moonbase
Contact:

X-Bomber v068 Onwards Devlog - Please comment!!

Post by Crash »

Performance adjustments complete ... game running really fast and smoothly (now that all particle rotations are done 'on the fly' by the graphics card rather than ... accessing pre-rendered rotations. I don't know how MMF2 manages that - what a screwup).Game doesn't even flinch in the slightest when a boss launches a screenful of missiles with long vapour trails at you. Really big explosions are the same now that the particles are CPU-lighter.Not sure what I'm moving onto next - at the moment I'm moving onto sleep.
Dream big and bold and daring.
User avatar
Crash
Posts: 1920
Joined: Mon Sep 09, 2002 8:16 pm
Location: EDF Moonbase
Contact:

X-Bomber v068 Onwards Devlog - Please comment!!

Post by Crash »

Now wrote into the engine that it can display an enemy's health on the HUD's object gauge(s) without level scripting as such.Now you can just create a ship and set its Value-O to 1, 2 or 3 and its health will be reported either on the single, large gauge or on one of the smaller split gauges.If the single large gauge is showing an enemy's damage it also superimposes a numerical value over the gauge to tell you exactly how much damage in units you yet have to inflict.This element hides itself when two values are showing just to stop the smaller bars from being obscured.EDIT: Tonight I did what I planned a good few weeks ago, which was to combine all the Asteroids and their behaviours into a single, portable object with all its code in one place.The new object handles Normal-sized, Large, Darkmatter, Micro-meteorite and Comet functions.The feature that was kinda broken since a while ago, where the large asteroids could break up into several smaller ones has been restored and improved.Also, the Asteroid system has been tied in with the Dust system so that when you blow an asteroid away, you get an explosion as well as a very convincing dust cloud that not only looks awesome but obscures oncoming enemies.This new, single "Asteroid" object was made from the "Meteorite Big" object and its Global object property seems to have updated the object right across the game. All I need to do is drag and drop the code group across into the levels and change the way the objects are called by the level scripts to make sure it creates the same object with different animations, rather than a few different objects.Also, the asteroids now all rotate at varying speeds and directions and have their starting rotation randomised on creation.People are probably wondering - well why is this guy going back and re-doing stuff that he did already and which works? Well my answer is that, now we're nearing v0.8, which I always figured would be the watershed version, where all-but-one level would be completed and would be a solid basis for finishing off the game with a few more features in the very last versions.The whole point of consolidating more functions into fewer objects with a single, complex management behaviour is to make quality-control in the final stages elementary by allowing me to edit code in one level, drop it into the others and not worry about having to customise it for each level because that code module is smart enough to cover all situations.That way you end up with a more reliable, more assuredly uniform application.



Dream big and bold and daring.
User avatar
Crash
Posts: 1920
Joined: Mon Sep 09, 2002 8:16 pm
Location: EDF Moonbase
Contact:

X-Bomber v068 Onwards Devlog - Please comment!!

Post by Crash »

Well, I think it's clear at my end that I've bitten off more than I can comfortably chew with v0.8.Finishing all the various loose ends and little projects that I set myself as part of v0.8's brief is turning out to be very time-consuming at a busy time of year.On the good side: I managed to merge my new Astrofighter Carrier behaviour with the 'special' carriers in Missions 2 and 7 meaning that for all the different colours and configurations of the baseline carrier that you see in the show - one object and one behaviour in the game is controlling all of them.Infact it was going so well that I actually made that behaviour along with the behaviour for the Astrofighters (In the show the Fighters and Carriers essentially form part of a whole) part of the engine. I worked out that the Carriers and Fighters were used in 14 of the 17 levels so the decision to integrate it into the engine was a no-brainer.I also pushed in the new Asteroid Behaviour because those different Asteroids are used in a lot of levels too and only one object is required aside from a particle system that is included in the engine anyway.Also, since the Astrofighters and their Carriers make use of a dazzling assortment of bullets, lasers and rockets - all those collisions and behaviours for all those bullets ... are now part of the engine, since they were already getting referenced there anyway!I'm also planning on grouping certain enemy ships and buildings into packs such as "large transport ships" and "ground defences" seeing as objects of that sort tend to reside together in levels and so it would be nice to export a single, large package into a level to update all those objects's behaviours in one fell swoop.The music system is coming along well. Unfortunately, the DirectShow Object is being a bit of a pain when it comes to controlling its own volume but I think I've got it whipped into shape for the very most part.Also I'm about 2/3rds of the way through converting all the levels to use the new, single powerup system. (That is a really nice bit of code by the way). I may be creating a lot of work for myself lately but the quality of the new coding going into the programme is reasonably high according to my standards.Also, the particle/dust system (that I've been talking about for ages between v0.79 and v0.8) was going to get basically retconned and given a lobotomy in order to make it lighter for machines to run.To that end it was going to have 4 particles rather than 1 multifunctional one. However, seeing as it wasn't the multifunctional detection element that was causing slowdown, I have generated a hybrid system that combines the elegance of having as few particle types as possible with extremely high performance.The system will now comprise a "standard" particle which handles dust, blue hyperspace dust, green radiation and 'basic' fire/napalm.A second 'special' fire particle will be available and used instead of basic fire for faster CPU machines that can handle the constant control over colour gradation from white -> yellow -> orange -> red on each of the particles.The second, (special) system will yield impressive, large-scale fire effects, while the first (basic) will perhaps look more realistic if less overstated and will allow slower CPU machines to handle the Mission 10 Fire Guardian etc. with ease while giving a good emulation of the special system.Unfortunately, with all the internal upheaval, the Options Menu has totally lost track of being able to control the now-totally-changed vapour, dust and particle systems. Therefore I think I'll issue v0.8 with a reduced complement of display options in order to give everyone a speedy-ish release, while making them able to customise the output according to their system but only where those changes are actually gonna make a difference anyhow.But hey, I know it's all worth it - v0.8 is gonna blow people away because it already looks stunning and runs pretty darn well.UPDATE: - New Powerups working on Missions 0-10.- Enemy Drones and Homing Missiles integrated in engine. - Found a couple of bugs in the Drone's coding making it spontanteously explode when operating in one mode and getting stuck in one attack pattern in another - All fixed.- I also managed to simplify some of the ground-based mobile rocket launchers (EDF vehicles commandeered by the Alliance). They had two objects each making up the turrets in order to accommodate the required number of firing-points. Now it gets the job done better with just one.One thing which should be done is to handle all the ground turrets with a single object. At the moment there are single, twin and triple gun turrets handled by three objects with different code in half-a-dozen levels which is unacceptable from a design perspective and they will form part of a "ground-forces pack" to keep everything together and standardised.



Dream big and bold and daring.
User avatar
felice
Posts: 234
Joined: Tue Sep 10, 2002 11:14 pm

X-Bomber v068 Onwards Devlog - Please comment!!

Post by felice »

This all sounds very impressive 8) I don't play games much, but I'll definitely give this another go at some point (I played a much earlier version to completion ages ago, but it sounds like it's grown somewhat since then).
User avatar
Crash
Posts: 1920
Joined: Mon Sep 09, 2002 8:16 pm
Location: EDF Moonbase
Contact:

X-Bomber v068 Onwards Devlog - Please comment!!

Post by Crash »

Well, I have every hope that you find it that has.Thank you very much for chiming in. Can you remember what the last level of that version was? - because you can from that when-abouts that would have been.Unfortunately, at the moment, I'm supposed to be revising for my law exams.Basically I have the equivalent of a 3-year degree course's worth of exams over two weeks starting in two weeks time so... I think I'll have to essentially leave things where they are until early June and then resume.I haven't looked at v0.79 much since it came out in February and a lot of polish and consolidation is being added between 0.79 and 0.8 but 0.79 is sill a lovely and attractive version with a good deal of graphical polish, so in the meantime you can always play with that.I would think any modern desktop or decent-sized notebook PC would make short work of it although I have played some tricks to increase performance for v0.8.
Dream big and bold and daring.
Post Reply