Jump to content

Paul Thomas

Members
  • Posts

    339
  • Joined

  • Last visited

Posts posted by Paul Thomas

  1. I think it would be incredibly performance hogging (slicing multiple CSG at a single time after multiple impacts and applying material to the sides of each chunk), for hardly any benefit or with even reasonable looking results, on CSG only environment assets. All of that together sounds like a waste of time. But, Josh will do what he wants.

  2. That's also to say that majority of games made with LE3 would be made mostly of CSG. I would imagine only a certain amount of props would be made with CSG (Source engine comes to mind and their games) but majority of the props/environment would be mesh. In that case, my kitchen cabinets would go to pieces on impact, but not my decorative vase, lol.

  3. I'm curious how your vegetation differs from other libraries like SpeedTree/SpeedGrass. I haven't played around with the latest vegetation system in LE, so I should probably do that before asking, but this thread looked like you were interested in talking about the techniques involved in your vegetation system.

  4. You control the slices, what is sliced, how it's sliced, what is ignored, etc..

     

    Looks fairly accurate enough to me as broken concrete or tile.

    Batman_AA_wiki_1.jpg

     

    Usually meant for static meshes but I've got this working with dynamic meshes as well. I don't think players will care that much that something isn't breaking 100% realistic, it simply adds overall appreciation/game-play value of a more interactive environment.

  5. APEX Destruction

     

    Authoring functionality is provided via PhysXLab, a standalone GUI authoring tool. Using PhysXLab, users can take artist-provided meshes, split them into broken fragments and export generated Destructible assets in standart APEX asset (.apx and .apb) file formats. Exported asset will include hierarchy of fractured meshes, collision information and physical material parameters, and support information for each chunk as well.

  6. I've attached the Regex module, just in case you want to try it out. I also played a bit with your idea:

     

    myscript.scr

    StartAI()
    MovePlayerToPlayer()
    MovePlayerToPlayer(Player1, Player2)
    
    Start()
    End()
    Terminate(1)
    

     

    script.bmx

    SuperStrict
    
    Import bah.regex
    Import brl.standardio
    
    Local file:TStream = ReadFile(AppDir+"/myscript.scr")
    Local regex:tregex = tregex.Create("(.*)\((.*)\)")
    
    
    While Not Eof(file)
    Local match:tregexmatch = regex.find(Trim(ReadLine(file)))
    	If match
    		Select Lower(match.subexp(1))
    			Case "startai"
    				StartAI()
    			Case "moveplayertoplayer"
    				Local vars:String[]
    					If match.subexp(2) <> ""
    						vars = match.subexp(2).split(", ")
    						MovePlayerToPlayer(vars[0], vars[1])
    					Else
    						MovePlayerToPlayer()
    					EndIf
    			Default
    					If match.subexp(2) = ""
    						Print "No Match: "+match.subexp(1)
    					Else
    						Print "No Match: "+match.subexp(1)+"("+match.subexp(2)+")"
    					EndIf
    		EndSelect
    	EndIf
    Wend
    
    CloseStream(file)
    
    Function StartAI()
    Print "Do something with AI"
    EndFunction
    
    Function MovePlayerToPlayer(p1:String = "", p2:String = "")
    	If p1 <> "" Or p2 <> ""
    		Print "move "+p1+" to "+p2
    	Else
    		Print "Do something with player move with no arguments."
    	EndIf
    EndFunction
    
    

     

    This will output:

    Do something with AI

    Do something with player move with no arguments.

    move Player1 to Player2

    No Match: Start

    No Match: End

    No Match: Terminate(1)

     

    Actually having fun with this on this rainy day. Anyways, figured I'd just throw all of that out there.

    bah.regex.rar

  7. An interesting concept, Cole. I've thought about something similar but every time I do I end up trying to create a new language, which gets complex, and never finished, lol. My only input is to keep it simple and that you should do a better search than just "Start," maybe "Start()." There is also a module (Bah.Regex) you can use for regular expressions.

  8. It's hard to judge the scene with this effect because it could very well match the game-play style. I think it looks great. As a still screen, it's easier to pick out little flaws with the shader here and there, but while actually in the game and playing, you wouldn't notice most of them. I'm thinking NA is using this style to give a certain feel to the player through environment with it's planned game-play, and in that case, this shader may be spot on.

     

    I look forward to seeing some videos, NA, if at all planned. Would be great to learn more about this project.

  9. Thanks Cole, that's exactly what I was looking for! Don't remember what I was trying before but HostIp() kept returning 127.0.0.1 and then I decided to post this thread, lol.

  10. Going to use your method, Mack, since then I can easily check if I'm online or not. This is for a tool so I don't mind the address opening though I'm probably going to change it to connect to my own server address.

     

    Thanks, Mack.

  11. With only using BlitzMax, is there a way to get your own IP address? All that I've tried it just gives me the default localhost address.

     

    Thanks.

  12. That's basically what I said here:

     

    You're also calling UpdateAppTime() which I believe Framework already does in it's update function. Careful of draw calls too, the amount of meshes in the map, and keep digging.

     

    Hopefully it will resolve most of your FPS issues.

  13. Compared it's slower, since the framework creates/manages worlds, cameras, buffers, and manages post-process. Just creating a camera and world is nothing compared. Not sure anymore what post processes are on by default in framework.

  14. You're also calling UpdateAppTime() which I believe Framework already does in it's update function. Careful of draw calls too, the amount of meshes in the map, and keep digging.

×
×
  • Create New...