Existence Video Log

Hey

I decided to create a video log of my attempt to use Urho3D to development a game at least walk through. I’m not sure how to do the menu system but I have to learn.

The video is youtube.com/watch?v=2SHZwar … e=youtu.be

My page is youtube.com/cgprojectsfx

If anyone sees any problems, or better ways of doing something please write or comment. I will like to convert the following youtube.com/watch?v=UWaMXP5 … 1400182326 to a more massive and robust setup.

Vivienne

Great, keep 'em coming! You might want to process the audio a bit to get rid of the static noise in the future.

Hello All

This is the third video. I managed to get a compiled executable with your help and the documentation.

  1. I’m a little confused how the engine work. I read it was task driven so basically throught events/event handlers. I coded a login window function then added a event specific for that function. Then a second window function. When the first event handler is called. It starts the second window function.

Is that correct?

  1. A progress bar. Still looking at how to do that.

Do I have to use a sprite to create that.

  1. I want to add a basic character after the progress and update. There a console can be open (small) to execute a scene.

I was thinking of loading a xml temporarily but then update to a SQLITE load meaning I would have to create a importer from xml into a format for a database.

Anyway, sorry about noise. Don’t know how to process the audio in Kdenlive fully yet.

Vivienne

Hello,

Is there a page showing what can be set with in the .xml?

<element type="CloseButton" style="Button" auto="false">    <!-- non-auto style is shown explicitly in the Editor's style drop down list for user selection -->
    <attribute name="Min Size" value="16 16" />
    <attribute name="Max Size" value="16 16" />
    <attribute name="Image Rect" value="144 0 160 16" />
    <attribute name="Focus Mode" value="NotFocusable" />
</element>

Vivienne

Hello

I’m trying to remove a node but I’m not sure if it’s correct. I think there is a problem with the bolded part but not sure where to look.

This is more a coding question not a bug.

Vivienne

[quote]void ExistenceClient::LoginScreenHandleClosePressed(StringHash eventType, VariantMap& eventData)
{

  Node *ExistenceLogo = scene_->GetChild("ExistenceLogo");

  scene_->RemoveChild(ExistenceLogo);

  ProgressScreen();

}[/quote]

Hmmmm

I tried …

[quote]void ExistenceClient::LoginScreen()
{

Node* existencelogoNode = scene_->CreateChild("ExistenceLogo");
//existencelogoNode ->SetScale(Vector3(1.0f,1.0f,1.0f));
existencelogoNode ->SetPosition(Vector3(0.0,2.0,0.0));
existencelogoNode ->SetRotation(Quaternion(270.0, 270.0,90.0));
existencelogoNode ->SetName("ExistenceLogo");

}

void ExistenceClient::LoginScreenHandleClosePressed(StringHash eventType, VariantMap& eventData)
{

// remove child node
scene_->RemoveChild(scene_->GetChild("Existencelogo"));

ProgressScreen();

}[/quote]

You may have a strong reference to the object still. I believe the Node is only removed if there are no outstanding strong pointers. If another object is holding a pointer you can swap it out with a weak pointer. I also think there is a Remove() method on the Node itself.

Hmm. I will look at it again. I attempted to swap the Node with a blank node which did not work with a removechild.

I also attempted these lines but no response with that. I figure take out any components for that node which was a no go.

[quote] // remove child node
scene_->GetChild(“ExistenceLogo”,true)->RemoveAllComponents();
scene_->GetChild(“ExistenceLogo”,true)->Remove();[/quote]

THe second method mentioned seemed to work. I added a simple code to test if a account file exist and it sets up a variable accountexist to true or false. Oddly, without the file i/o it works but with it it doesn’t. Basically a way to change the wine button options. So, I’m lost why.

The only thing is becuase accountfile.open is dynamic Urho might not work that way and might require me to use the XML thirdparty option included.

[quote] // check account file
ifstream accountfile;

accountfile.open("CoreData/account.xml");

if(accountfile.is_open())
{
    accountexist=true;

    accountfile.close();
}

if(accountexist)
{
    SubscribeToEvent(loginButton, E_RELEASED, HANDLER(ExistenceClient, LoginScreenHandleClosePressed));
}else
{

    SubscribeToEvent(newaccountButton, E_RELEASED, HANDLER(ExistenceClient, NewAccountHandleClosePressed));
}

[/quote]

Hello All

This is the fourth video in. I am showing more of the code so maybe someone have a suggestion or can see a error.

Vivienne

Hello

This is a update. Any feedback other then sound of the video is helpful? Tips or Ideas.

Complete Playlist
youtube.com/playlist?list=P … re=mh_lolz

Vivienne

If you want ideas you could have a look at makehuman, or any other rpg game with a character creation tool.

I used makehuman to make the base meshes then imported it into blender then export to Urho3d. Lot’s of exporting.

I’m going research how to make some meshes but I don’t think there is a option in makehuman to make non human characters.

Hey,

Here is a update. So, I made the main screens UI. So I’m off to coding functionality.

I’ll update a video showing the code in addition because I have some questions.

When done I was thinking at the main screen to make a hidden console that I can enter a command to load and start a scene

Vivienne

Hi,

(Quick update)

I’m not sure if I’m at the point of setting up a scene load with a character allowing movement. If anyone have any suggestions feel free to write or contact me.

I can make some of the source available to anyone people who like to collaborate and into Starr Trek of scifi genre games(etc). I am considering using the standard scene xml load used in the demos so a scene can be made in the editor and/or a scene generator.

Vivienne

Thanks for all the help.

This is what I have already raw. So technically with some more work I can import the scene I made.

I will work on texture and code next. Probably working on the pipeline and a character integration.

Updates

  1. Added physhics of Urho3D(Bullet) including collisions
  2. Refined some textures and better utilized the Blender to Urho3D exporter
  3. Added jump, turn left and right, back and forward movement
  4. Added two camera modes first person and fly mode.
  5. Cleaned up some code

To-Do

  1. Add dynamic UI HUD interface in player mode.
  2. Save input from the user
  3. Improve terrain texture
  4. Optimize better character movement.
  5. Impove character collision bounds - WIP - Created functional code and testing.
  6. Add Debug hud - WIP Added and testing
  7. Perlin generated terrain with save ability - WIP - Developing with others.

If anyone wants to help with this engine, contact me at cgprojectsfx@gmail.com.

Testing Urho3d procedural generated heightmap option to save.

Function creating the scene.

    //Terrain
    Node* terrainNode = scene_->CreateChild("Terrain");

    Terrain* terrain = terrainNode->CreateComponent<Terrain>();
    terrain->SetPatchSize(64);
    terrain->SetSpacing(Vector3(2.0f, 0.8f, 2.0f)); // Spacing between vertices and vertical resolution of the height map
    terrain->SetSmoothing(true);

    terrain->GenerateHeightMap();

    terrain->SetMaterial(cache->GetResource<Material>("Materials/Terrain.xml"));

    RigidBody* terrainbody = terrainNode->CreateComponent<RigidBody>();
   CollisionShape* terrainshape = terrainNode->CreateComponent<CollisionShape>();
    // Set a box shape of size 1 x 1 x 1 for collision. The shape will be scaled with the scene node scale, so the
    // rendering and physics representation sizes should match (the box model is also 1 x 1 x 1.)
    terrainbody->SetCollisionLayer(1);
    terrainshape->SetTerrain();


    // Create a scene node for the camera, which we will move around
    // The camera will use default settings (1000 far clip distance, 45 degrees FOV, set aspect ratio automatically)
    cameraNode_ = new Node(context_);

    cameraNode_ = scene_->CreateChild("Camera");
    cameraNode_->CreateComponent<Camera>();

    Camera* camera = cameraNode_->CreateComponent<Camera>();
    camera->SetFarClip(1500.0f);
    // Set an initial position for the camera scene node above the ground
    cameraNode_->SetPosition(Vector3(0.0f, 0.0f, 0.0f));

    SharedPtr<Viewport> viewport(new Viewport(context_, scene_, cameraNode_->GetComponent<Camera>()));
    renderer->SetViewport(0, viewport);

    // /create character
    Node * characternode_ = scene_->CreateChild("Character");
    characternode_->SetPosition(Vector3(0.0f, 0.0f, 0.0f));

    CreateCharacter();

    loadSceneUI();

Updates

  1. Added physhics of Urho3D(Bullet) including collisions
  2. Refined some textures and better utilized the Blender to Urho3D exporter - Completed
  3. Added jump, turn left and right, back and forward movement - Completed
  4. Added two camera modes first person and fly mode. - Completed
  5. Cleaned up some code

To-Do

  1. Add dynamic UI HUD interface in player mode. (Done)
  2. Save input from the user
  3. Improve terrain texture
  4. Optimize better character movement.
  5. Impove character collision bounds - WIP - Created functional code and testing.
  6. Create procedual terrain system - WIP - - Currently working on.
  7. Add UI interface with full funcionality - WIP - Added UI graphics adding functionality.

Contact me at cgprojectsfx@gmail.com