October 20, 2017, 10:15:00 PM*

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
Advanced search  
Pages: [1] 2 3
Print
Author Topic: Warhawk Attackwave & Nuance Kreator (W.A.N.K)  (Read 35478 times)
0 Members and 1 Guest are viewing this topic.
Flash
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 13149



« on: February 24, 2009, 02:26:57 PM »

Here is the first part into how the Attack wave code is stored and used!

The text is also attached!

----Alien Level Based Attacks----

The attack wave system is described using several "blocks". All these blocks are defined in a source file "attackwave.s" within the main code.

The first, and easiest to explain is the Level relevent data, this is a block of data referenced by the name "alienLevel"

Each level has a block of 128 words that describe what happens when in relation to the scrollers position, as such

.word
   scrollPos, alienWave, scrollPos, alienWave, scrollPos, alienWave, etc....

The scroll pos must be in descending order, ie. starts from the scrollers original position and works back until the lowest value, 160.

So, for example,

3650,1,3450,2,3060,4....

At "yposSub" 3650, initialise attack wave 1, then at 3450, wave 2, then wave 4... etc!

But, it is not that simple Smiley

We also have a modifier on the attack wave, and 2 special waves...

attack wave 8192 = Initialise "Mines"
attack wave 16384 = Initialise "Hunters"

These 2 attack waves are handled by the main code and do not need to be defined further.

Also, the attack wave word is split into 2 16bit values,

[ high ][ low ]

The [ low ] denotes the actual attack wave, and the [ high ] denotes the modifier

The modifier can have a value of :-

0 = The attack wave is a single attack and each alien can be classed "independent"
 - this is what we would class a normal attack (so just attack wave, no modifier)

The following values affect the way the sprites are placed on the screen. There are 2 priorities. A "low" draws the sprites with a lower priority, and "high" does the opposite

1 = Draw "low" priority
2-4 = Draw "low" priority, *BUT* all aliens with this value will be treated as a whole, ie, shoot one and they will all flash
5 = Draw "High" priority
6+ = Draw "high" priority, *BUT* all aliens with this value will be treated as a whole, ie, shoot one and they will all flash

So, that covers how the system works!

---Levels---


The 128 word data is stored sequentially one block after the other!

The first 128 is level 1, next is level 2.... etc....
There is no need to add a alienLevel1 name, as the main code calclulates the offset during play.

PHEW!!!!


After this i will start to go into the way the attack waves are constructed from individual alien defines!! Smiley

* Attack System Part 1.txt (2.28 KB - downloaded 230 times.)
« Last Edit: February 27, 2009, 09:22:10 PM by Flash » Logged

Coding for the love of it!
BaDToaD
Proterian
Dragon 32
*****
Offline Offline

Gender: Male
Posts: 76



« Reply #1 on: March 18, 2009, 08:56:51 PM »

An interesting read. I take it you'll be implementing the "Toroidal Orienter and Sprite Shifter" soon then... T.O.S.S  :Smiley
Logged
Flash
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 13149



« Reply #2 on: March 18, 2009, 09:16:55 PM »

oh yeah - T.O.S.S. is in there...

and also the Twisted Warhawk Alien Termination...
Logged

Coding for the love of it!
BaDToaD
Proterian
Dragon 32
*****
Offline Offline

Gender: Male
Posts: 76



« Reply #3 on: March 18, 2009, 09:22:27 PM »

And the Binary Object Lighting Logistics Ocillating Collision Kalcuating Sequencer.
Logged
Sokurah
RBP Member
IBM PC
*****
Offline Offline

Gender: Male
Posts: 689



WWW
« Reply #4 on: March 18, 2009, 09:30:10 PM »

You also need a piece of "Create Unlimited Nebula Textures" software for the backgrounds in the game.  :Smiley
Logged
Flash
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 13149



« Reply #5 on: March 18, 2009, 09:38:36 PM »

well, I was gonna use that, but discovered code for Fractal Analytical Normalised Negetive Independent Etchings

I discovered it rolls off the tongue better

LOL
Logged

Coding for the love of it!
Sokurah
RBP Member
IBM PC
*****
Offline Offline

Gender: Male
Posts: 689



WWW
« Reply #6 on: March 18, 2009, 09:56:23 PM »

Hmm, great piece of sortware, but not nearly as useful as the "Very Abstract Generation of Ingrouped New Aliens". Jus' sayin'.
Logged
Flash
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 13149



« Reply #7 on: March 19, 2009, 06:58:18 PM »

I have a feeling that RetroRemakes will have us for copyright infringement LOL Smiley
Logged

Coding for the love of it!
Flash
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 13149



« Reply #8 on: March 22, 2009, 07:19:58 PM »

"alienWave"
-----------

Each atack wave (alienWave) (as pointed to in alienLevel) is a string of 32 words that each point to the alien to initialise.
The first bank (0) is a 32 word blank area so that 0 can be used to denote no-attack in alienLevel.

AlienWave is just 32 words and each is the number of an alien (singular) that is defined as described later. A 0 in the wave denotes "no more aliens".

BUT... (another addendum)
ok, in the alienwave... the high word (top 16 bits) of the "alienDescript" to be initialised, are used as an X offset.. This way you can set an alien to init at 0,0 and offset it across the screen. this does not modify any tracking points, but i may add that..?

Ok, now the tricky bit!!!!!

"alienDescript"
---------------

This is used to describe a singular sprite in the game and uses hi/low split words to keep the data down to just 8 words for the main description and 22 words for the movement data.

The first 8 words are as follows...

Word 1
------
Low 16      =   Initial X coord of the alien
High 16      =   FIRE - Amount of bullets to fire in BURST mode (0=normal fire)
High 16      =   OR, for random fire set to 32768 (and rate in word 2)

word 2
------
Low 16      =   Initial Y coord
High 16      =   FIRE - Delay between BURST shots
High 16      =   OR, random rate (0-65535 = higher=more frequent)

word 3
------
whole 32   =   Initial X speed   in CURVED mode
         OR overal speed when in LINEAR mode

word 4
------
whole 32   =   initial Y speed in CURVED mode
         OR, set to 1024 to signal this alien is LINEAR mode

word 5
------
Low 16      =   Max speed, this is an overal speed that governs both
         X and Y speeds
High 16      =   Friction! the time it takes for a CURVED alien to turn
         the higher the slower (4-8 is a good base)
         leaving at 0 will set the default of 5

word 6
------
whole 32   =   Sprite object. This is the image to use for the alien.

word 8
------
low 16      =   Hits to kill... (0= one shot)
high 16      =   Shot speed, the speed in pixels the bullets move


word 8   (i may make this a 16/16 split)
------
Low 16      =   Fire type (0=none)
high 16      =   Fire delay, how long till next shot or next BURST shot(s)
         (set to 0 if using random shots)


So, that describes a single alien, the next 24 words tell it what to do..

These are paired

part1, part2, part1, part2, part1, part2, and so on....

The use of these changes depending on the alien type...

CURVED ALIEN
------------
part1, part2   =   Track x,y

A curved alien starts at the initial x,y coord and uses intertia/friction to move to the next track point based on the settings in alienDescript. When the alien reaches the track x,y point, it will then head to the next and so on, unless:-
   if part1=1024 it will track YOU on the X axis
   if part2=1024 it will track you on the Y axis
   or, make both 1024 and it will hunt you down,
   (this ends the tracking as a pattern based alien)

   set part1 and part2 to 2048 and this will instantly kill the alien.
   this does not explode but is handy if you tuck an alien off the screen
   and want rid of it.

   if part1 and part2 are 0, or it is the last part of the 24 words, then
   the attack motion will loop.

LINEAR ALIEN
------------
part1, part2   =   Direction, Distance

A linear alien starts at the set init coords and moves in the direction (1-9) and moves in that direction the set number of pixels set in part2
unless:-
   set part1 and part2 to 2048 and this will instantly kill the alien.
   this does not explode but is handy if you tuck an alien off the screen
   and want rid of it.

   if part1 and part2 are 0, or it is the last part of the 24 words, then
   the attack motion will loop.


ADDENDUM:
---------
further to part1, part2 as described above... if the high 16 bytes of part one are anything other than 0, it has this effect:-

1 = set speed of alien to 0
2 = set speed of alien to 1
etc.

for a linear alien, this is a direct change.
for a non-linear alien, this changes the maximum speed the alien can travel.

--------------


OK,
Well, i hope that makes some sense... Smiley


* Attack_System_Part_2.txt (4.01 KB - downloaded 222 times.)
« Last Edit: March 30, 2009, 07:05:09 PM by Flash » Logged

Coding for the love of it!
Flash
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 13149



« Reply #9 on: March 26, 2009, 05:46:52 PM »

just done a little update to part 2 of the attack system description.
Logged

Coding for the love of it!
headkaze
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 7805



« Reply #10 on: March 26, 2009, 07:21:39 PM »

The WANK has begun!  Cheesy


* WANK.png (30.33 KB, 446x428 - viewed 431 times.)
Logged
Flash
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 13149



« Reply #11 on: March 26, 2009, 07:23:46 PM »

You always manage to put a smile on my face... even when it involves WANK Smiley

Looking great mate...
Logged

Coding for the love of it!
Flash
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 13149



« Reply #12 on: March 26, 2009, 10:42:26 PM »

these are the "current" fire codes

fire values

0   =   no fire

1   =   fire up
2   =   fire right
3   =   fire down
4   =   fire left

5   =   fire left but.. with update to level scroll
6   =   fire right but.. with update to level scroll

7   =   fire left.. with double scroll update
8   =   fire right.. with double scroll update

9   =   tracker shot

10   =   accelerated shot

11   =   Ripple shot (2 bullets)

12   =   Ripple shot (3 bullets)

13   =   Mine shot

14   =   Triple shot

15   =   Ripple shot phase 1
16   =   Ripple shot phase 2

17   =   Direct shot

18   =   spread shot (5 bullets)

19   =   spray shot (BOSS only)
« Last Edit: March 27, 2009, 07:16:58 AM by Flash » Logged

Coding for the love of it!
headkaze
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 7805



« Reply #13 on: March 27, 2009, 04:53:58 PM »

Some early screenshots


* Wank1.png (22.42 KB, 537x448 - viewed 380 times.)

* Wank2.png (16.46 KB, 415x366 - viewed 369 times.)

* Wank3.png (27.41 KB, 566x571 - viewed 377 times.)
« Last Edit: March 27, 2009, 05:58:16 PM by headkaze » Logged
Flash
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 13149



« Reply #14 on: March 27, 2009, 05:34:13 PM »

Here is the breakdown of the sprite layout..



* Sprites.jpg (69.52 KB, 400x1288 - viewed 444 times.)
Logged

Coding for the love of it!
headkaze
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 7805



« Reply #15 on: March 28, 2009, 03:28:11 PM »

W.A.N.K Version 1.0 Released!

Download


* Wank2.png (12.86 KB, 371x363 - viewed 407 times.)

* Wank3.png (33.92 KB, 564x583 - viewed 375 times.)

* Wank4.png (27.38 KB, 566x571 - viewed 382 times.)

* Wank5.png (15.48 KB, 415x366 - viewed 372 times.)

* Wank6.png (29.46 KB, 566x571 - viewed 400 times.)

* Wank7.png (30.93 KB, 566x571 - viewed 378 times.)

* Wank1.png (36.4 KB, 537x448 - viewed 392 times.)
« Last Edit: March 29, 2009, 10:50:17 PM by headkaze » Logged
Flash
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 13149



« Reply #16 on: March 28, 2009, 06:53:12 PM »

HK...

Here is a level1.xml file that lays out what attacks happen when in the level.

I do have some suggestions,

I need a way visually to see in the main view what alienLevel settings are assigned. that the moment you have the boxes all central. could one with an alienWave set to 0 (ie. none) be on the left? and the ones that are assinged have text next to them to show the wave and modifyer?

In the numberical entry boxes, ie. scroll pos, if i enter a value (or start typing a larger value) less than the set minimum, i get a crash and error (which i can send if needs be?)

for alienWave, we use wave 0 as a blank. in WANK, when selecting wave 0, we can edit this? does this relate to wave 1 or should the minimum wave have been set to 1? perhaps it should be 1-8191 as the wave number?

That is it for now. Please import the attachment so you can see that it is hard to see what is used and what is not?

Thanks HK...

EDIT: one other thing,

The boxes in the main view are 160 pixels too low, as the top point in the map at the moment is 0, when the scroll stops in game it is 160. the values stored within the alienlevel boxes is fine, they just need to be displayed as if the first location on Y was 160

* Level1.rar (0.55 KB - downloaded 204 times.)
« Last Edit: March 28, 2009, 07:04:03 PM by Flash » Logged

Coding for the love of it!
Flash
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 13149



« Reply #17 on: March 29, 2009, 08:16:48 PM »

Here i am playing with Wank


* woring hard.jpg (362.8 KB, 1920x1200 - viewed 427 times.)
Logged

Coding for the love of it!
headkaze
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 7805



« Reply #18 on: March 29, 2009, 08:53:08 PM »

Sweet Smiley Nice desktop!
Logged
Flash
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 13149



« Reply #19 on: April 01, 2009, 06:18:33 AM »

Level 1 attack data

* AttackWave.zip (11.75 KB - downloaded 186 times.)
Logged

Coding for the love of it!
headkaze
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 7805



« Reply #20 on: April 01, 2009, 10:48:41 PM »

W.A.N.K Version 1.0.24 Released

- Added selection box
- Added shift select to select multiple objects
- Added context menu to insert Attack Waves
- Added ability to show/hide Attack Wave 0
Logged
Tempest
Jupiter Ace
*
Offline Offline

Posts: 31



« Reply #21 on: April 03, 2009, 01:00:56 PM »

Sweet Smiley Nice desktop!

Yes, but I'm curious as to why when I hover over the pic it says "Whoring Hard?"
Maybe I mis-read it?
Logged
Flash
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 13149



« Reply #22 on: April 03, 2009, 01:46:59 PM »

Well, I have to get the pennies from somewhere LOL
Logged

Coding for the love of it!
Flash
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 13149



« Reply #23 on: April 04, 2009, 05:27:45 PM »

Level data with level 2 started

* AttackWave.zip (13.78 KB - downloaded 186 times.)
Logged

Coding for the love of it!
Flash
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 13149



« Reply #24 on: April 05, 2009, 07:59:56 PM »

Still having --- er --- FUN??

LOL


* Development Hell.jpg (391.99 KB, 1920x1200 - viewed 434 times.)
Logged

Coding for the love of it!
Flash
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 13149



« Reply #25 on: April 06, 2009, 05:29:44 PM »

a fair amount of level 3 - you really need to grab them powerups Smiley


* AttackWave.zip (18.33 KB - downloaded 184 times.)
Logged

Coding for the love of it!
Flash
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 13149



« Reply #26 on: April 07, 2009, 05:29:55 PM »

Level data for levels 1-3

Level 3 is my fave... Added a really nice bit of "galactic dancing" to the end of the level... Very Galaxians, and very "curvy" Smiley

Level 3 NEEDS powerups though Smiley

* AttackWave.zip (19.64 KB - downloaded 184 times.)
Logged

Coding for the love of it!
Flash
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 13149



« Reply #27 on: April 07, 2009, 05:53:26 PM »

This is what is is like on the laptop - a bit squashed Smiley


* Not so easy on the laptop.jpg (179.64 KB, 1366x768 - viewed 430 times.)
Logged

Coding for the love of it!
Flash
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 13149



« Reply #28 on: April 08, 2009, 05:27:49 PM »

ok, data for level 1-4...

Level 4 is now my fave... lots of BIG ships and some sweet sweeping alien patterns..

I timed this one - from start to pre-release, 6.15 hours... ulp!

This one has a CHEAT in the attack waves, there is a way to kill the big aliens really easy.. Smiley (I like adding these things - wonder if anyone finds it on release?)

Oh well, time to start on level 5.... Starting to run out of ideas and wonder if 64 scroll inits was a little restirctive? perhaps i should have had 128 possitions to init waves? hmmm... we will see...

I think we will also go for a "ninja" version of the levels that are opened once the original 16 are completed. This will use a "similar" version of the original attack waves, but with slightly different patterns/order and be as hard as nails... Smiley he he...


* AttackWave.zip (23.56 KB - downloaded 201 times.)
Logged

Coding for the love of it!
headkaze
Administrator
Blue Gene Super Computer
**********
Offline Offline

Gender: Male
Posts: 7805



« Reply #29 on: April 09, 2009, 03:32:06 AM »

W.A.N.K v1.0.26 Released

- Now remembers last object edited
- Other minor fixes/updates
Logged
Pages: [1] 2 3
Print
Jump to: