In this section you can check out what I'm currently working in, practically in real time.
If some of this seems cryptic it's because the logs seen here come directly from my personal productivity tool prio, and are really just "notes to self".
Nevertheless, if you are interested in what I'm currently working on, this space will certainly be updated FAR more often than the news section.
00:00:00 up2 LOG
-Fixed a bug where once a thing was tracked (by the Ship) it couldn't be tracked
again. This happened when the first tracking Projectile didn't kill the Thing,
but was destroyed itself.
-Fixed a bug where you couldn't pickup powerups if the result exceeded your max,
instead of filling to max and discarding the rest.
-Uses effect similar to docking and land notification. May change to a
flashier pixicle based deal.
-Using HardassBusiness as the sound effect. Cool beats... :)
-Fixed boys getting loaded at wildly different y coordinates.
-Fixed StarField and GameState intermission to react to any key.
-Using WM_KEYDOWN messages for this.
-Removed gravity from Ship thrust. Looks better.
-Started on graphics for HelpState.
-Will be a simple bitmap background, with UIAnims and Bitmaps for icons,
and the small font to print strings.
-Will be 4 pages (sets of UIAnims and Bitmaps and strings), which will
be toggled with an UILink like the Planet or HighScore states.
-"Your mission" (page 1)
You are a mercenary pilot employed by StarFleet to perform
rescue missions behind enemy lines across the galaxy. The pilots
critical to StarFleet's struggle are being held prisoner, and
it's all up to you to get them home safely.
You have your trusty "Vector" class ufo, which is sadly in need
of upgrade, but don't worry. StarFleet has agreed to offer you
the services of their workshops in exchange for the safe rescue
of their pilots. The more pilots you save, the more cash you get,
and it's then up to you to decide what to keep and what to spend
on upgrading your ship.
Now, get out there and save our boys!
-"You, your friends, and your enemies" (page 2)
-"Upgrades and the shop" (page 3)
-"Cool extra stuff" (page 4)
00:00:00 up2 LOG
-Realized I could easily support mines!
-A normal projectile (bitmap), that doesn't move, and has a blast radius.
-Note that they will always do double damage, since they will both hit the player
and do blast radius damage to him.
-Created as a func_mine object, directly placed in the list by MegaMap.
-Could sublass a special Projectile if any special animation should be done.
-Another idea would be a mine laying ufo, and even mines that track the player very
slowly. Will test this immediately.
-Doesn't work well:
-Tracking mines will group together.
-Also, you can't shoot them. This is true for stationary mines too, but somehow
this doesn't bother me as much.
-Might skip mines altogether.
-The main problems with mines are as follows:
-You can't shoot them (they are projectiles themselves), so to get them out of
the way (if they are blocking a passage) you need to go through them.
-If they are changed to Enemies, which have a very short range weapon that shoots
you with blast radius when you are close enough, it would be a good proximity
bomb. The problem is that it won't work on enemies, which the projectile version
-The only solution to both would be to implement Thing to Thing collision, which
isn't needed anywhere else. You would however be able to crash with enemies.
-If collision was flagged, you wouldn't have to test everyone against
averyone else. For example, you could avoid making all ground based units
collidable, but you could crash against Ufos, and of course Mines. So would
all other Ufos and Enemies.
-There would be the case of Ufos crashing into Ufos, but this might just
be fun. Also, Ufos crashing into Mines is what I want.
-Mines would be shootable.
-This makes obstacles possible as well, being both collidable and shootable.
-When crashing into a Thing, the effect should be the same as colliding
with the MegaMap. Higher speed = higher damage.
-To do all this:
-Projectile currently has a static Thing list for collisions. Move this
list to a Collision class (static list as before), which Projectile will
use for it's checks.
-The Collidable() function in Thing will be changed to
ProjectileCollidable() and ThingCollidable().
-Projectiles will check for ProjectileCollidable().
-All things will perform collisions checks against Collisions list in the
Update function, just like Projectiles, but will use ThingCollidable().
-Mines will not need weapons, they will just call the collided thing
-BACKUP before attempting this!!!
00:00:00 up2 LOG
-Back from a weeks vacation in London. Great to see Lina again. :)
-Added Powerup pipeline, and implemented PowerupBomb subclass.
-The rest should be simple, with some variation on the Shield effect.
-Changed Ship lensflare to use upgrade level for engine and weapon, with
the correct colors. Looks very good.
-Noticed that for the orange upgrade, a cool effect was achieved when
the flare blended on top of the exhaust. This is since there are
non-saturated color components in the orange color (red). The other
colors could all be changed to include a tiny bit of the less used channels
so that this effect could be achieved overall.
00:00:00 up2 LOG
-Backing up pilot state when entering GameState, and restoring it if you abort
the game. This way you can't cheat for cash.
-App now checks for highscore when GameState returns GAMESTATE_DEAD.
-It a highscore is achieved, Highscore state is started in input mode,
otherwise the Main menu is brought up.
-Finished the highscore input, and the files are saved.
-Fixed so the game ends when all missions on a planet are completed, with the usual
-Might need a state for planet completion, awards etc from StarFleet Command??
-Mainly gray and black, and is situated in the top left corner.
-Displays cash, number of lives, health, payload, and current upgrades
-Health and payload are shown as meters, it's nice to have as few numbers
as possible. Upgrades are also meters, with the cardinal upgrade colors to
show where you are on each.
-Cash and lives are of course numbers (16 pixel impact, nice).
-Changing so that number of lives displayed is one less than you actually
have (to conform with the standard "if you die with zero lives, THEN it's
gameover". This is just a fudge in the display code in Hud.
-Want to change planet loading so it uses config files instead, so that missions
can be called interesting names.
-Now I know why the pixicles where in front of Things; for the spark to blend on top
of things. Will have to have 2 lists in Pixicle, to solve this. Or maybe just forget it,
it's not very critical or noticable.
-Ok, changed planets to use a PLANETNAME.mis file to describe the list of missions.
-This is a simple text file, read using the VERY SMIDIG ifstream.
-Added a little description text file to each planet (PLANETNAME.dsc).
-The PlanetState now shows the planet to the left, and the description to the
-I want to do an autoadjusting text printer object, so the text will be a nice
column. Right now the text is just centered on each row, and it doesn't look
00:00:00 up2 LOG
-Finished Highscore state.
-Works much like planet state, but using the small planet image like the
IntermissionState (up in the right corner).
-Five highscores are kept for each planet, and saved out to disk (planetname.hs).
-Check for a player highscore is done on gameover.
-Added player life checking, so the game ends when you lose all your lives (this sounds
pretty morbid... :)
-The gameover "state" should probably be part of GameState, mainly because loading
times really suck here.
-All I need is a splash of some kind, saying "game over".
-The "intermission" mode (in GameState) will show stats as usual.
-Put pixicles behind ships again. I wonder why I keep changing this drawing order around.
-Starting gamestate without intermission, since the intermission wasn't paused, ie
you could get shot.
-Removed firespawning chance from Efx::Explosion. I want the burning to be special,
only for prisons probably.
-Evened out projectile speed increase over upgrades (starts at 50 m/s and increases
25 m/s per upgrade level).
-Ok, the GameoverState won't be separate from the GameState. Basically just the
addition of the GAME OVER text to the intermission mode.
-After the GameState exits, the player's score is checked by the App, and if it's
a new highscore, HighscoreState is instantiated in input mode.
-Need to add input mode to highscore state.
-Need a HelpState mode.
-Basically a screen that shows the player ship, prisons, guys, enemies, etc, and
explains how it all works.
-Mainly a static background bitmap, but probably with each Thing animated.