Bennu Game Development

English Forums => Projects => Topic started by: Zip on February 08, 2011, 07:30:24 AM

Title: [Wip] Bomb jhon
Post by: Zip on February 08, 2011, 07:30:24 AM
Hi to all =)
first of all thnx for everyone collaborate to make this language...

I'm a wiz user from italy, and im intrested in programming e retrogaming

there is my project, an remake of arcade game bomb jack

im working on it since december...

that is the last release
bomb_jhon_0.0045 & Test_0.0045
http://www.megaupload.com/?d=7FHPNFXT (http://www.megaupload.com/?d=7FHPNFXT)
i've made the file prg called test00xxx for work on the various feature in a simple file...


now i have a problem,

i need to set the vertical limit:
the platform needto be accesible only on top and cant be accessible from bottom (like is now..)

i dont want to remade all the control part of the code T_T

i need some help from you all..

se vi parlo in italiano è meglio?
sorry for my bad english
Title: Re: [Wip] Bomb jhon
Post by: FreeYourMind on February 08, 2011, 10:20:47 AM
Ciau, Lo spagnolo è simile  ;D

You can use coordinates.
Title: Re: [Wip] Bomb jhon
Post by: Zip on February 08, 2011, 04:25:35 PM
gia ci sono le coordinate come limite provvisorio,
ma devo fare in modo che il personaggio principale quando salti controlli se in alto alla testa (nella mappa durezze) ci sia il rosso, se si si blocchi, come nei movimenti laterali (ovviamente si basano su esempi che avevo scaricato).
in modo che per salire sulle piattaforme devi saltare a lato a esse e poi spostarti su di esse

piu semplicemente provate bombjack originale e questo e vedete le differenze

need to translate?
Title: Re: [Wip] Bomb jhon
Post by: FreeYourMind on February 08, 2011, 04:31:47 PM
Yes, i don't understand nothing of italiano xDDD
Title: Re: [Wip] Bomb jhon
Post by: Zip on February 08, 2011, 04:45:46 PM
LOL!
i try to translate XD
but i think there need a draw to explain immediatly... (next time)
Quote
gia ci sono le coordinate come limite provvisorio,
ma devo fare in modo che il personaggio principale quando salti controlli se in alto alla testa (nella mappa durezze) ci sia il rosso, se si si blocchi, come nei movimenti laterali (ovviamente si basano su esempi che avevo scaricato).
in modo che per salire sulle piattaforme devi saltare a lato a esse e poi spostarti su di esse

piu semplicemente provate bombjack originale e questo e vedete le differenze
at this moment there is the Coordinate limit (like  if y<30 caduta=5)
but i need that: when the "personaggio" ,(personaje),jump then control the pixel ontop of his head (in the map of "durezza") if is red then block under platform

,simply like the lateral movement ! (obviusly movement based on the example downloaded XD)


more simply: just download the file i linked, open test 0045 (the basic version of game,whit only "personaggio")
play and try the difference with original bomb jack...

if dont understand i'll make a draw XD

ps: u understand first post?
Title: Re: [Wip] Bomb jhon
Post by: FreeYourMind on February 08, 2011, 06:59:03 PM
I try the example, i don't see nothing wrong with them.
If you want a top limit you can use another color.

Do you see the Bomb Jack DIV version ? It have all you want implemented and it's an excellent remake.
Title: Re: [Wip] Bomb jhon
Post by: Windgate on February 08, 2011, 10:16:09 PM
I tested it, but I found bizarre controls... I think it will be best to have a very short readme explaining it or change it for a more intuitive key controls in future versions :D
Title: Re: [Wip] Bomb jhon
Post by: SplinterGU on February 08, 2011, 10:27:56 PM
nice!
Title: Re: [Wip] Bomb jhon
Post by: Zip on February 09, 2011, 10:07:15 AM
Quote from: FreeYourMind on February 08, 2011, 06:59:03 PM
I try the example, i don't see nothing wrong with them.
If you want a top limit you can use another color.

no! i use the condition: (explaneted...)
press space
If pixel under him is green
  jump 20
else jump 1 (plane)
end if
end
i need to add
some like
if pixel on top
is red block like a wall
and fall down normally



Quote from: FreeYourMind on February 08, 2011, 06:59:03 PM
Do you see the Bomb Jack DIV version ? It have all you want implemented and it's an excellent remake.

is an open source bomb jack? where can i find?

QuoteI tested it, but I found bizarre controls... I think it will be best to have a very short readme explaining it or change it for a more intuitive key controls in future versions

simply because is a beta
ill relase to pubblic at 0.5 version
now is 0.0045 XD
Title: Re: [Wip] Bomb jhon
Post by: FreeYourMind on February 09, 2011, 04:50:11 PM
In 1 hour i send you the src's.
Title: Re: [Wip] Bomb jhon
Post by: Zip on February 10, 2011, 07:35:37 AM
Quote from: FreeYourMind on February 09, 2011, 04:50:11 PM
In 1 hour i send you the src's.
thanx =)

i made a draw of my problem XD:
(http://img42.imageshack.us/img42/4239/helpmeg.png) (http://img42.imageshack.us/i/helpmeg.png/)

Uploaded with ImageShack.us (http://imageshack.us)
Title: Re: [Wip] Bomb jhon
Post by: FreeYourMind on February 10, 2011, 12:22:41 PM
BombJack source code  (Karmas are welcome  ;D ;D)
Title: Re: [Wip] Bomb jhon
Post by: handsource-dyko on February 10, 2011, 03:52:45 PM
Maybe you need to check for an offset distance. I guess you are using the map_get_pixel function?
When this fuction is used, it checks agianst the center of the character's bitmap. So, you need to to offest half the character's height.
Title: Re: [Wip] Bomb jhon
Post by: Zip on February 11, 2011, 05:02:14 PM
Quote from: FreeYourMind on February 10, 2011, 12:22:41 PM
BombJack source code  (Karmas are welcome  ;D ;D)
thanx so much =) and for complete game? its in bennu right?
i wanna try the game for find what to do on mine
Quote from: handsource-dyko on February 10, 2011, 03:52:45 PM
Maybe you need to check for an offset distance. I guess you are using the map_get_pixel function?
When this fuction is used, it checks agianst the center of the character's bitmap. So, you need to to offest half the character's height.


obviusly =)
if u see the code of game u can see, : map get pixel(..,..,x,y+8) y+8= bottom y-8=head
but i already used "get pixel rgb" and "map get pixel" for the main control of jump

if under personajo is green jump 20 (caduta=+20)
else
jump 1 (plane..) (caduta=+1)
end


i try in all possible thing
to add the code for break on red like wall (like lateral movement)

i think i need to use another variable
to add like

if pixel on top is read
z=-1
end

caduta =caduta+z



someone can try to help me?
u all are more expert of me in these language, i think just a little watch on the code u can find what need to do


Title: Re: [Wip] Bomb jhon
Post by: FreeYourMind on February 11, 2011, 05:58:36 PM
No, it's DIV, you need to adapt the code you need.
Title: Re: [Wip] Bomb jhon
Post by: Zip on February 15, 2011, 12:13:02 PM
i have seen the source of bombjack in div,:
the gravity control is in a separate process

in mine is implemented in the control of the jack...

that's the problem?

and i see 2 feature that i dont know:

1)the function
fade_on() e fade_off

and
2) father

what it is stand for?
what is the utilise?
Title: Re: [Wip] Bomb jhon
Post by: FreeYourMind on February 15, 2011, 12:54:28 PM
fade_on(), fade_of() do a color fade effect on the screen (black to white).
(in bennu you need while(fade) frame; end to see the effect)

father is the parent process who has called the actual process (is the father os your process, your process is the son xD)
Whis this you can controle and read variables from this parent process.
Title: Re: [Wip] Bomb jhon
Post by: handsource-dyko on February 15, 2011, 03:31:47 PM
Father (parent) and son (child) relationships between processes are one of the most powerfull features in the bennu language.
Also, adjecent processes that are instantiated (created by) the father process get bigbrother and smallbrother relations. This is very handy, as this reflects a list/tree structure. (You can use or abuse this to do very sophisticated things like emulating a linked list!)  Processes with these relationships can access each others local variables. You've mentioned that your gravity handling code is the player process, but in some example it is handled by a seperate process. In this case, your player process should instantiate th gravity process (wich becomes the son of the player). You can look on the wiki for some examples or have a look at the malvado source code.  ;)
Title: Re: [Wip] Bomb jhon
Post by: Zip on February 16, 2011, 02:44:55 PM
Quote from: FreeYourMind on February 15, 2011, 12:54:28 PM
fade_on(), fade_of() do a color fade effect on the screen (black to white).
(in bennu you need while(fade) frame; end to see the effect)
is like a animation? as the italian: "dissolvenza"  right?
Quote from: handsource-dyko on February 15, 2011, 03:31:47 PM
Father (parent) and son (child) relationships between processes are one of the most powerfull features in the bennu language.
Also, adjecent processes that are instantiated (created by) the father process get bigbrother and smallbrother relations. This is very handy, as this reflects a list/tree structure. (You can use or abuse this to do very sophisticated things like emulating a linked list!)  Processes with these relationships can access each others local variables. You've mentioned that your gravity handling code is the player process, but in some example it is handled by a seperate process. In this case, your player process should instantiate th gravity process (wich becomes the son of the player). You can look on the wiki for some examples or have a look at the malvado source code.  ;)

thanx so much i need to test much example to understand completly that feature  :-[

i think i'll remake the control of gravity in a separated process :(
when i learn about father etc..

fade is optionaly  right?
Title: Re: [Wip] Bomb jhon
Post by: handsource-dyko on February 16, 2011, 03:45:40 PM
Fading is totally optional. Generally it used for making nice transitions from loading screens to game screen etc.

Also, in the bennupack you will also find various examples of process interaction (look in the the 1 basic/basicsamples3 directory for "sons father brothers1.prg / sons father brothers2.prg"). Or look at these wiki articles: http://wiki.bennugd.org/index.php?title=Father (http://wiki.bennugd.org/index.php?title=Father), http://wiki.bennugd.org/index.php?title=Process (http://wiki.bennugd.org/index.php?title=Process).
Title: Re: [Wip] Bomb jhon
Post by: Zip on February 17, 2011, 07:13:55 AM
i'v seen the example,
but i cant see the effect,
like:

father =1

son = father+1

son = 2

i've just see the family hierarchy
in the example with the circles from 1 to 4,
cant see relationships effect, if put a condition..
Title: Re: [Wip] Bomb jhon
Post by: Drumpi on February 17, 2011, 01:21:48 PM
You're doing it wrong:

You MUST'N change the FATHER or SON variable, but their locals variables, like FATHER.X, SON.GRAPH, etc...
FATHER is a predefined local variable who gets the process id who invoqued the actual process, to easy access to it's locals variables.

father=1 has no sense, but break the tree hierachy. Be carefull.
Title: Re: [Wip] Bomb jhon
Post by: handsource-dyko on February 17, 2011, 03:48:00 PM
Each process is assigned a unique identification code by bennu's process scheduler, wich is stored in the local variable id.
You should see this is a read-only value. I recommend compiling your program with the debug console enabled, then when the program is running, hit alt-c. Now the debug console appears, and you can list all the active processes by hitting F2. You will see that each unique process instance has it's own number. This number is the local id value. Now you can check other local and private data of any process instance by using this number. So, if your player process has the id code 65888, you can now type 65888.x to show the value of it's x.

Obviously, you could also type 65888.id, this will read 65888.id=65888. You can also change values by using id's, so let's say you want to manipulate something for debugging purposes, you could type 65888.x=300, this will chang your player's x-value. Just don't try to change the id value. Also, you can store the value of some other process in the current process with the use of the collision function. (Collision always returns an id code).
Title: Re: [Wip] Bomb jhon
Post by: Zip on March 14, 2011, 01:09:26 PM
I'm sad, but for now the project is abandoned  :'( , if someone wants to continue it can get the source I posted before.
Obviously if someone is continuing the development of the game tell me =)