Mushware
SightSavers
     
Home • Forum • Check your PM • Register • Log in
             
Board Navigation
Go to the homepageHome
Download Mushware games, documents and applicationsDownloads
Index of the forum.Forum
Images from Mushware games and applicationsScreenshots
Frequently Asked Questions.FAQ
Links CategoriesLinks
Read the rules of this websiteRules
View website statisticsStatistics
Members of our staffStaff
Information for software developersDeveloper Info
Contact information for Andy and MushwareContact

User Info
Username:

Password:

 Remember me



I forgot my password

Don't have an account yet?
You can register for FREE


Google Ads

Search

Advanced Search

An "Actual" First-Person Shooter?
 
View previous topic View printer-friendly version Search Display number of posts for each poster in this topic Export topic thread to a text file View next topic
Post new topic Reply to topic
Author Message
Klope3

USA
PostYou have posted in this forum: Tue Dec 01, 2009 7:22 am   Post subject:  Re: An "Actual" First-Person Shooter? Reply with quoteBack to top 

Well, coming back to one of the original topics, why couldn't the movement and rendering maths take care of the appearance of movement in 4D from, say, inside a building just as well as out in space? Wouldn't the existing math figure it out for us, instead of leaving us guessing as to what it would look like? Or was the movement and rendering in Adanaxis specially engineered for the purpose of space visuals?

Download Post  No rating    
Guest
PostYou have posted in this forum: Tue Dec 01, 2009 8:16 pm   Post subject:  Re: An "Actual" First-Person Shooter? Reply with quoteBack to top 

Klope3 wrote (View Post): › Well, coming back to one of the original topics, why couldn't the movement and rendering maths take care of the appearance of movement in 4D from, say, inside a building just as well as out in space? Wouldn't the existing math figure it out for us, instead of leaving us guessing as to what it would look like? Or was the movement and rendering in Adanaxis specially engineered for the purpose of space visuals?


It can, but the screen will look very cluttered. There are other ways to project and to portray 4D, it's just that the method used in Adanaxis is not very well equipped for indoor scenes.

Download Post  No rating    
Klope3

USA
PostYou have posted in this forum: Wed Dec 02, 2009 8:05 pm   Post subject:  Re: An "Actual" First-Person Shooter? Reply with quoteBack to top 

Is there any way to insert a 3D structure/room into an existing Adanaxis level, just to see what it would look like?

Download Post  No rating    
admin
Site Admin

United Kingdom UK Cambridgeshire
PostYou have posted in this forum: Thu Dec 03, 2009 7:48 am   Post subject:  Re: An "Actual" First-Person Shooter? Reply with quoteBack to top 

Theoretically yes, as mesh creation is scripted. You would need to find the file AdanaxisMeshLibrary.rb, and modify one of the meshes there. You could create a new one, but then you would need to create a new Texture, use that Texture in a new Material, use the mesh in a Piece, and add that Piece to the level.

It's been a while, but my best guess would be to find mItemsCreate in that file and add:

mesh.mBaseDisplacementAdd(MushDisplacement.new(:scale => MushVector.new(1, 1, 1, 0.00001)))

after the mBaseAdd line. Items are the ammunition boxes you collect, and that will squash them by scaling by 0.00001 in one direction. Zero might work, but it also might lead to some zero-width textures and crash things. I haven't tried this BTW Wink so good luck!

Download Post  No rating    
Klope3

USA
PostYou have posted in this forum: Thu Dec 03, 2009 5:19 pm   Post subject:  Re: An "Actual" First-Person Shooter? Reply with quoteBack to top 

You'll have to forgive me--I flounder a little when it comes to editing code like this. I'm going to have a few questions about those instructions.


Will entering that line of code add a new...weapon pickup to a level?

If so, what level?

If this is adding a new object to a level, why doesn't it involve the input of, for instance, coordinates of where to spawn?

Download Post  No rating    
loki_clock

USA US New Mexico
PostYou have posted in this forum: Thu Dec 03, 2009 7:16 pm   Post subject:  Re: An "Actual" First-Person Shooter? Reply with quoteBack to top 

Klope3 wrote (View Post): › You'll have to forgive me--I flounder a little when it comes to editing code like this. I'm going to have a few questions about those instructions.


Will entering that line of code add a new...weapon pickup to a level?

If so, what level?

If this is adding a new object to a level, why doesn't it involve the input of, for instance, coordinates of where to spawn?


No, it's just reusing the 4D model that the items use as a template for the new mesh. You first have to create the mesh for the new object, then go to a level and edit it in. I've made custom levels and meshes before, so if I can remember where everything goes I could help you out.

Download Post  No rating    
admin
Site Admin

United Kingdom UK Cambridgeshire
PostYou have posted in this forum: Fri Dec 04, 2009 8:47 am   Post subject:  Re: An "Actual" First-Person Shooter? Reply with quoteBack to top 

As it turns out that edit is just changing the mesh used for all ammo boxes. Pick any level with an ammo box in it and it should be squashed.

Download Post  No rating    
loki_clock

USA US New Mexico
PostYou have posted in this forum: Fri Dec 04, 2009 9:21 pm   Post subject:  Re: An "Actual" First-Person Shooter? Reply with quoteBack to top 

The documentation in each .rb file will help you quite a bit. If you change the object in the menu level to the one you made you'll be able to see the mesh right when the program opens, which is useful for testing. Not only because you can get a quick preview of the mesh easily, but also because the program will crash on opening if you did something wrong.

I'll try and copy some information regarding the modification I did. It might not apply to the full version, because I did these modifications in the demo.

I was using an object called "Dummy." Under mPrecacheListBuild there's the line:

Code: › mPrecacheListAdd(mPieceLibrary.mDummyTex('red'))


And then under mInitialPiecesCreate where the existing piece is, I have:

Code: › mPieceLibrary.mDummyCreate(
  :colour => 'red',
  :post => MushPost.new(
    :position => MushVector.new(0,0,0,-18),
    :angular_position => MushTools.cRandomOrientation,
    :angular_velocity => angVel
    ),
  :patrol_points => [MushVector.new(0,0,0,0)]
)


Then in AdanaxisMeshLibrary.rb I have this code defining the Dummy mesh. I've added some notes on what I THINK each part of the code does, but I'm pretty much guessing from vague memory. Take grainy salt to the tongue.

Code: ›   #
  # Dummy mesh
  #
  def mDummyCreate(inName)
    mesh = MushMesh.new(inName)

# Initial mesh creates an order-order duoprism.
# Dummy's order, 4, would create a 4-4 duoprism, i.e. a tesseract.

base1 = MushBasePrism.new(:order => 4)
   
# Second theory:
# As the initial baseDisplacement is required, the MushBasePrism
# might create a regular prism, which is then extruded by baseDisplac.
   
    baseDisplacement1 = MushDisplacement.new(
        :offset => MushVector.new(0,0,0,0),
      :scale => MushVector.new(Math.sqrt(2),Math.sqrt(2),1,1)
     )
   
# Regardless, after you have your base mesh, you model it by
# successive extrusions.
   
    extruder1 = MushExtruder.new(
# Selected cell for extrusion. I didn't understand the math
# used to calculate the source faces when I first made this, so I
# learned to predict what face would go to which face newly created from
# extrusion and calculated the source face by hand.
   :sourceface => 2,
   :displacement => MushDisplacement.new(
# Local X, Y, Z, W extrusion vector
      :offset => MushVector.new(0,0,-1,0),
# Rotation of local vector in radians.
# ex. With hallways, you'll probably use PI/2.
      :rotation => MushTools.cRotationInZWPlane(Math::PI/8),
      :scale => 0.8),
# No need to copy and paste an extruder. This will repeat
# the extrusion on the new cells from the previous extrusion.
      :num_iterations => 3
   )
    
    extruder2 = MushExtruder.new(
      :sourceface => 3,
      :displacement => MushDisplacement.new(
      :offset => MushVector.new(0,0,1,0),
      :rotation => MushTools.cRotationInZWPlane(-Math::PI/8),
      :scale => 0.8),
      :num_iterations => 3
    )
    
    extruder3 = MushExtruder.new(
      :sourceface => 0,
      :displacement => MushDisplacement.new(
      :offset => MushVector.new(0,0,0,-1),
      :scale => 0.6),
      :num_iterations => 3
    )

    extruder4 = MushExtruder.new(
      :sourceface => 1,
      :displacement => MushDisplacement.new(
      :offset => MushVector.new(0,0,0,0.2),
      :scale => 1.1),
      :num_iterations => 2
    )

    extruder5 = MushExtruder.new(
      :sourceface => 23,
      :displacement => MushDisplacement.new(
      :offset => MushVector.new(0,0,0,-1),
      :rotation => MushTools.cRotationInXWPlane(Math::PI/8),
      :scale => 0.4),
      :num_iterations => 3
    )

    extruder6 = MushExtruder.new(
      :sourceface => 24,
      :displacement => MushDisplacement.new(
      :offset => MushVector.new(0,0,0,1),
      :rotation => MushTools.cRotationInXWPlane(-Math::PI/8),
      :scale => 0.4),
      :num_iterations => 3
    )

    extruder7 = MushExtruder.new(
      :sourceface => 43,
      :displacement => MushDisplacement.new(
      :offset => MushVector.new(0,0,0,-1),
      :rotation => MushTools.cRotationInXWPlane(Math::PI/8),
      :scale => 0.4),
      :num_iterations => 3
    )

    extruder8 = MushExtruder.new(
      :sourceface => 44,
      :displacement => MushDisplacement.new(
      :offset => MushVector.new(0,0,0,1),
      :rotation => MushTools.cRotationInXWPlane(-Math::PI/8),
      :scale => 0.4),
      :num_iterations => 3
    )

    mesh.mBaseAdd(base1)
    mesh.mBaseDisplacementAdd(baseDisplacement1)
    mesh.mExtruderAdd(extruder1)
    mesh.mExtruderAdd(extruder2)
    mesh.mExtruderAdd(extruder3)
    mesh.mExtruderAdd(extruder4)
    mesh.mExtruderAdd(extruder5)
    mesh.mExtruderAdd(extruder6)
    mesh.mExtruderAdd(extruder7)
    mesh.mExtruderAdd(extruder8)
    mesh.mMaterialAdd('player-mat')

    mesh.mMake
  end


You also need to add code to AdanaxisPieceLibrary.rb. I can't remember if player-mat and player-tex were custom, but they're found in AdanaxisMaterialLibrary.rb and AdanaxisTextureLibrary.rb, and like the others their novelty can be pretty easily worked out by taking a close look at the other objects in the libraries.

Download Post  No rating    
Display posts from previous:      
 
Post new topic Reply to topic


 Jump to:   



Quick Reply:
Username: 

Quote the last message
Attach signature (signatures can be changed in profile)
 
  View previous topic View printer-friendly version Search Display number of posts for each poster in this topic Export topic thread to a text file View next topic

You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum