Qbasicnews.com
July 05, 2020, 03:06:37 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: Back to Qbasicnews.com | QB Online Help | FAQ | Chat | All Basic Code | QB Knowledge Base
 
   Home   Help Search Login Register  
Pages: 1 [2] 3
  Print  
Author Topic: anyone interrested in LL  (Read 11039 times)
KiZ
__/--\__
*****
Posts: 2879


WWW
« Reply #15 on: March 11, 2006, 04:02:14 PM »

Great! It worked well, the art, music and sound are fantastic, and the interface is great, simple but effective. I also love the way you can tell how much health enemies have without clouding up the screen with bars or numbers next to the characters.

It froze for me though :( I was attacking a goblin near the "Under construction" sign (I hadnt got very far into the game, 5 mins maybe), and for some reason he wasnt taking any damage. After perhaps the 3rd or fourth attack, it just froze, mid attack, although the music continued.
Logged
axipher
Ancient Guru
****
Posts: 544



« Reply #16 on: March 11, 2006, 05:32:19 PM »

I downloaded the BETA 0.75 and after the first seen, as soon as I leave the first area it closes.
Logged
Anonymous
Guest
« Reply #17 on: March 11, 2006, 05:54:23 PM »

thanks everyone for trying it, although there seems to e some recurrin issue, i have cleared out most of the bugs. and i'm glad to hear that a lot more people were able to play it, thats all i want out of this, it works fine here ;P

@kiz, yeah, those enemies are supposed to be invincible (the ones by the sign). you can actually talk to them >.> you can make them invincible if you study the xmls long enough, but dont try it in lynn.xml, won't be permanent :p

bout the controls: yeah, they'll be customizable, don't worry. i'll look into pausing / stopping the music when you get an item, heheh thanks for the suggestions. oh and, do you have a gamepad to test? youd be surprised how easy it would be to map the "kay" to anything that returns true. having gamepad and simultaneous key control might be a pain in the ass though >.> i.e. left arrow + left pad goes left, youd probably just have to pick one or the other...

Thanks for the suggestions, and i'm still a little disappointed about those who had problems, please, run AT LEAST from a cmd prompt, you wont get windows errors, because its compiled with -exx, FB will return the error to the command prompt.                                                                   preferably, run in gdb, because i have no idea where this error is coming from.



[technical crap] the last error came from changing the map editor to allocate sequences when there was none. when dealing with pointers, sometimes its useful to allocate some datain case its accessed, eliminating a null ptr access.

well, in the LL engine, sequences are triggered by the global sequence pointer NOT being null. if its null, the gae runs normally, but when its NOT null, then it contains the address of the sequence struct to get the instructions to run a sequence from. these should have been initally null, but since i was "padding" them in the map editor,( and the code is reused in gMap, LL, et al) the sequence pointer in LL would return non-null, so that address would be accessed, but there wouldn't REALLY be a seq there, it was just allocated padding.

in case anyones interested in that kinda crap... anywho, get back to me if you want the game to be fixed, people who crashed...

and again, thanks for trying, everyone =)
Logged
jsmith71
Been there, done that
*****
Posts: 1004


« Reply #18 on: March 11, 2006, 07:24:42 PM »

@Kiz: Haha! Yeah, the goblins in hardhats are kinda a joke. Them, and the 'under construction' signs were just thrown together to block off an area in the demo that wasn't yet finished. They, of course, won't be there in the final game. Cha0s gave them some amusing lines though. :lol:
Logged
Deleter
Na_th_an
*****
Posts: 1293



WWW
« Reply #19 on: March 11, 2006, 08:41:51 PM »

gah.....
"Great, you finished the demo. Your are teh champion"
 Sad
get to work, i want to play more, I'm hooked!
Logged

NecrosIhsan
Been there, done that
*****
Posts: 1191



« Reply #20 on: March 12, 2006, 01:50:52 AM »

cha0s: handling both is relatively easy. Here's how I handled it in Phantasm:

-The game is configured for one of three methods: keyboard, analog gamepad, or POV gamepad. This configuration is set with an external config app.
-The program itself has a special function designed to abstract input. This function handles input for whichever device is configured to be used (gamepad or keyboard) and returns a standard control code. It's hard for me to explain at almost 1 in the morning, but basically this function returns a value based on the state of your configured keys or your gamepad, and does so in a standard way...say you have it configured for keyboard and the Up key was pressed...it would return a CTRL_UP constant value...but having the gamepad configured, pressing Up on the analog stick or the POV (depending on which config is used) would also return a CTRL_UP, so the whole process would be abstracted by the function.
-Your other functions simply call this abstraction function and operate based on its result. Since no other function has to care which input method you're using, your code works the same no matter what it's being controlled with.

This was a bit tricky to pull off but when it was finished, it was an extremely cool thing to have working. Sorry if I'm not explaining it very clear but as I said, it's almost 1 in the morning. Cheesy

I could test it here, I have a POV gamepad, so no sweat. Cheesy

EDIT: Here's the abstraction function I used for Phantasm. It's not the best function (it needs recoding) but I think it gets the point across:

Code:
Function GetInput(Byval BlockingType As Byte = 0) As Byte
'this function returns the keying depending on the control scheme
Dim returnvalue As Byte, result As Integer, dumm As String
returnvalue = CTRL_NIL
Select Case GameCtrl
  Case 0
    'return values from the keyboard
    dumm = Inkey$
    If BlockingType = 1 Then
      If dumm = Chr$(38) Then 'up
        While Inkey$ <> "": Wend
        returnvalue = CTRL_UP
      End If
      If dumm = Chr$(40) Then 'down
        While Inkey$ <> "": Wend
        returnvalue = CTRL_DOWN
      End If
      If dumm = Chr$(37) Then 'left
        While Inkey$ <> "": Wend
        returnvalue = CTRL_LEFT
      End If
      If dumm = Chr$(39) Then 'right
        While Inkey$ <> "": Wend
        returnvalue = CTRL_RIGHT
      End If
    Else
      If GetKeyState(VK_LEFT) And &H80 Then returnvalue = CTRL_LEFT
      If GetKeyState(VK_UP) And &H80 Then returnvalue = CTRL_UP
      If GetKeyState(VK_RIGHT) And &H80 Then returnvalue = CTRL_RIGHT
      If GetKeyState(VK_DOWN) And &H80 Then returnvalue = CTRL_DOWN
    End If
    If dumm = Chr$(13) Then
      While Inkey$ <> "": Wend
      returnvalue = CTRL_OK
    End If
    If dumm = Chr$(32) Then
      While Inkey$ <> "": Wend
      returnvalue = CTRL_OK
    End If
    If dumm = Chr$(27) Then
      While Inkey$ <> "": Wend
      returnvalue = CTRL_CANCEL
    End If
  Case 1
    'if we're dealing with an analog control, get its axis values here
    result = joyGetPosEx(0, joystick)
    If joystick.dwXpos<30000 Then returnvalue = CTRL_LEFT
    If joystick.dwXpos>36000 Then returnvalue = CTRL_RIGHT
    If joystick.dwYpos<30000 Then returnvalue = CTRL_UP
    If joystick.dwYpos>36000 Then returnvalue = CTRL_DOWN
  Case 2
    'if we're dealing with a POV HAT, get its d-pad value here
    result = joyGetPosEx(0, joystick)
    If joystick.dwPOV = 0 Then returnvalue = CTRL_UP
    If joystick.dwPOV = 4500 Then returnvalue = CTRL_UP
    If joystick.dwPOV = 9000 Then returnvalue = CTRL_RIGHT
    If joystick.dwPOV = 13500 Then returnvalue = CTRL_RIGHT
    If joystick.dwPOV = 18000 Then returnvalue = CTRL_DOWN
    If joystick.dwPOV = 22500 Then returnvalue = CTRL_DOWN
    If joystick.dwPOV = 27000 Then returnvalue = CTRL_LEFT
    If joystick.dwPOV = 31500 Then returnvalue = CTRL_LEFT
End Select
'get buttons last so we can face and press at the same time and have the buttons register at a higher priority
If GameCtrl > 0 Then
  If joystick.dwButtons = 1 Then returnvalue = CTRL_OK
  If joystick.dwButtons = 2 Then returnvalue = CTRL_CANCEL
End If
GetInput = returnvalue
End Function

This exact code is useless for an action game (since only one value can ever be returned) but the basic idea is there.
Logged

\__/)
(='.'=) Copy bunny into your signature to
(")_(") help him gain world domination.
anarky
Been there, done that
*****
Posts: 1231


The Blobworld Comics King


« Reply #21 on: March 13, 2006, 10:53:59 AM »

Yes, it works here now. Although it's not fullscreen?

I've found a bug. Although it's not a big deal, but if I was to yank out the tree before reaching the bushes, I cannot rip the bushes, hence leaving me stuck.

Suggestions, other than going to the bushes each time first?
Logged

Screwing with your reality since 1998.
Anonymous
Guest
« Reply #22 on: March 13, 2006, 02:35:21 PM »

@nek that's basically what i'm doing now, everything is at a very high level of abstraction. i have recoded overnight a configuration proggy, and hopefully fixed the bug that was plaguing me.

@anarky: full screen can be gotten by hitting the icon in the upper right of the window (next to the x) or by hitting "alt-enter"

http://prdownloads.sourceforge.net/lynn/ll_win32b.zip?download
http://prdownloads.sourceforge.net/lynn/ll_win32b.rar?download

http://prdownloads.sourceforge.net/lynn/ll_win32_nosoundb.zip?download
http://prdownloads.sourceforge.net/lynn/ll_win32_nosoundb.rar?download



heres a piece of the control setup in the beginning of ll, to show how easy it would be to plug in more values. this uses a function i also coded last night, which allows you to access the data in an xml through a certain notation, that is "tag->tag2->tag3" to get the value out of tag3, which would be in tag2, which would be in tag1 ;p pretty simple with recursion. anyways:


Code:
   llg( atk_key )         = init_bin_obj( Val( xml_TagValue( last_controls, "key_map->attack" ) ), @atk_key_in_sub        , @atk_key_out_sub         )  
    llg( act_key )         = init_bin_obj( Val( xml_TagValue( last_controls, "key_map->item"   ) ), @act_key_in_sub        , @act_key_out_sub         )  
    llg( conf_key )        = init_bin_obj( Val( xml_TagValue( last_controls, "key_map->action" ) ), @conf_key_in_sub       , @conf_key_out_sub        )  
   
    llg( item_l_key )      = init_bin_obj( sc_comma  , @item_l_key_in_sub     , @item_l_key_out_sub      )  
    llg( item_r_key )      = init_bin_obj( sc_period , @item_r_key_in_sub     , @item_r_key_out_sub      )  
   
    llg( weap_switch_key ) = init_bin_obj( sc_m      , @weap_switch_key_in_sub, @weap_switch_key_out_sub )  
   
    llg( u_key.code ) = Val( xml_TagValue( last_controls, "key_map->move_up"    ) )
    llg( r_key.code ) = Val( xml_TagValue( last_controls, "key_map->move_right" ) )
    llg( d_key.code ) = Val( xml_TagValue( last_controls, "key_map->move_down"  ) )
    llg( l_key.code ) = Val( xml_TagValue( last_controls, "key_map->move_left"  ) )


the function pointers( thats what the opinters are ) point to functions that get called when the key is pressed. its a nice little system i came up with. i call them binary objects, for lack of a better term.
Logged
anarky
Been there, done that
*****
Posts: 1231


The Blobworld Comics King


« Reply #23 on: March 13, 2006, 02:39:11 PM »

Funny, it wasn't active before...
Logged

Screwing with your reality since 1998.
TheDarkJay
I hold this place together
*****
Posts: 913



WWW
« Reply #24 on: March 14, 2006, 06:04:10 PM »

wow...I just finished the demo...and wow....

That was amazing...

I WANT MORE!!!
Logged

url=http://www.sloganizer.net/en/][/url]
Anonymous
Guest
« Reply #25 on: March 15, 2006, 06:24:40 AM »

thanks, you'll get more, don't worry... ;p *does magic spells to create more game*
Logged
SSC
Guru
**
Posts: 288



WWW
« Reply #26 on: March 16, 2006, 07:51:43 AM »

Well it didnt crash in the first area with my home computer and all was going fine but when I was in the area 1 down and one left from the first area I attacked an enemy and the game froze =(
Logged

url=http://www.smithcosoft.com]SmithcoSoft Creations[/url]
"If you make it idiot proof, someone will make a better idiot" - Murphy's Law
jsmith71
Been there, done that
*****
Posts: 1004


« Reply #27 on: March 16, 2006, 08:14:07 AM »

Quote from: "SSC"
Well it didnt crash in the first area with my home computer and all was going fine but when I was in the area 1 down and one left from the first area I attacked an enemy and the game froze =(

Again, the goblins wearing hardhats are not enemies... XD
But nah. I think cha0s knows about that one.
Logged
Anonymous
Guest
« Reply #28 on: March 16, 2006, 10:25:45 AM »

the latest version doesnt even have the enemies there with the yellow hats. please get the latest version..
Logged
Jocke The Beast
I hold this place together
*****
Posts: 978



WWW
« Reply #29 on: March 16, 2006, 07:59:40 PM »

Loved the first demo and I still love LL  Cool  Well done guys! I'll continue to play all of your demos until LL has reached version 1.0

The only thing that irritates me is that the game ends if you press esc...it's frustrating if you press esc by misstake and doesn't get a chance to undo...perhaps use the key Q or have a little box pup up with "are you sure you wanna quit?"...just a suggestion...  Cheesy
Logged


Website: http://jocke.phatcode.net
[size=10]"Some men get the world, other men get ex hookers and a trip to Arizona."[/size]
Pages: 1 [2] 3
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!