Based on the UFO blueprint input sample and combined with a sphere trace check with variable thrust power to try and balance out the bouncing (it's still not there).
Thursday, April 24, 2014
Hovering tank
I made a thing. A hovering tank thing in Unreal Engine 4.02.
Based on the UFO blueprint input sample and combined with a sphere trace check with variable thrust power to try and balance out the bouncing (it's still not there).
Based on the UFO blueprint input sample and combined with a sphere trace check with variable thrust power to try and balance out the bouncing (it's still not there).
Sunday, April 13, 2014
Old code test - Polgonising a scalar field
http://www.quiet.net.nz/Games/Play/Polygonise
Voxel deformable blah blah. It'll make your browser unresponsive for a moment as it grinds out some triangles. Click to drill a hole through the ball!
Based like most implementations on http://paulbourke.net/geometry/polygonise/
Voxel deformable blah blah. It'll make your browser unresponsive for a moment as it grinds out some triangles. Click to drill a hole through the ball!
Based like most implementations on http://paulbourke.net/geometry/polygonise/
Wednesday, April 9, 2014
Polar Express preview
Decided to just throw some of the sandboxed work up on my site. Part of a story based game I've been kicking around for some time.
Bugs wise, yes, I know about the ejecting from the ship and that the URL has orbit and not express in it ;)
There's also terrible lighting in the first corridor in space, it's fine in the windows version, so some research to do.
http://www.quiet.net.nz/Games/Play/PolarOrbit
Tried making this in Unreal Engine 4 but gosh I'm bad at level design (as you will see I'm also bad at programmer art and such). UE4 is a fantastic tool though, good work Epic.
Bugs wise, yes, I know about the ejecting from the ship and that the URL has orbit and not express in it ;)
There's also terrible lighting in the first corridor in space, it's fine in the windows version, so some research to do.
http://www.quiet.net.nz/Games/Play/PolarOrbit
Tried making this in Unreal Engine 4 but gosh I'm bad at level design (as you will see I'm also bad at programmer art and such). UE4 is a fantastic tool though, good work Epic.
Tuesday, March 25, 2014
Networking and player owned object spawning
I keep having to drop back to basics with networking. I always try some bastardised version of authoritative and client server from grabbing snippets here and there, then confusing who owns what and how the clients behave.
Right, to put it down step by step for myself later; simple server creation via Network.InitializeServer and spawning of the server players prefab under OnServerInitialized. When a player connects, I notice it in OnPlayerConnected but do not spawn the players prefab here (my previous shots made this player owned by the server, which caused me confusion wrangling the items later on. I did have it working, but it was muddled in my head and seemed overly complicated for what I wanted)
Instead, spawn the player in OnConnectedToServer so that there is a clear separation of client/server making the scripting classes easier to read and use.
Now, I use a base class for all other items that need to exist or move relative to the origin based camera. All it does is toggle the render flags on the objects attached and stores a "relative to origin" vector3. When a player spawns, say, a radar satellite, it needs to be grabbed by the other players application and rendered in the right place.
And wa'hey
Right, to put it down step by step for myself later; simple server creation via Network.InitializeServer and spawning of the server players prefab under OnServerInitialized. When a player connects, I notice it in OnPlayerConnected but do not spawn the players prefab here (my previous shots made this player owned by the server, which caused me confusion wrangling the items later on. I did have it working, but it was muddled in my head and seemed overly complicated for what I wanted)
Instead, spawn the player in OnConnectedToServer so that there is a clear separation of client/server making the scripting classes easier to read and use.
Now, I use a base class for all other items that need to exist or move relative to the origin based camera. All it does is toggle the render flags on the objects attached and stores a "relative to origin" vector3. When a player spawns, say, a radar satellite, it needs to be grabbed by the other players application and rendered in the right place.
And wa'hey
Wednesday, March 19, 2014
Multiplayer enabled custom coordinate system with local area rendering.
Well, that's a long winded title. I also need to get all of these scripts sorted out and hosted somewhere for people to look at.
Custom coordinates (previous post) worked well and the localised renderer toggling worked well in conjuction with the other players.
My usual issue was the networking setup and re-learning all the things I forgot about RPC communications.
Ensuring that the NetworkView items are added and set for no state synchronisation or observed items set me back as usual. The "ownership" of items and initialisation of the known "world" objects (in this case, stand-ins for solar system objects) caused me trouble until I realised I should send those objects down to the network player via RPC instead of configuring it on server connection as that only updated the servers version.
My idea is that the local player needs a copy of these items coordinates in order to do the rendering in relation to themselves and being able to manipulate them without contention on the server.
I worry that the amount of traffic needed for a living place could be prohibitive so one of my next steps will be handing around a seed and doing some very late update synchronising.
For a starfield, there are some simple tweaks available using (in this case) multiple legacy particle generators. I'll follow up on this later as it doesn't work with repeatable results (I need to seed it). But it is rather pretty.
Custom coordinates (previous post) worked well and the localised renderer toggling worked well in conjuction with the other players.
My usual issue was the networking setup and re-learning all the things I forgot about RPC communications.
Ensuring that the NetworkView items are added and set for no state synchronisation or observed items set me back as usual. The "ownership" of items and initialisation of the known "world" objects (in this case, stand-ins for solar system objects) caused me trouble until I realised I should send those objects down to the network player via RPC instead of configuring it on server connection as that only updated the servers version.
My idea is that the local player needs a copy of these items coordinates in order to do the rendering in relation to themselves and being able to manipulate them without contention on the server.
I worry that the amount of traffic needed for a living place could be prohibitive so one of my next steps will be handing around a seed and doing some very late update synchronising.
For a starfield, there are some simple tweaks available using (in this case) multiple legacy particle generators. I'll follow up on this later as it doesn't work with repeatable results (I need to seed it). But it is rather pretty.
Wednesday, March 12, 2014
Double based custom coordinate system.
There's an ever nagging voice in my head that says "make a solar system and fly around in it".
To that end, I've produced a test scene.
First things first, multiple cameras. In order to get close and far viewing without z-buffer fighting, two cameras are bound together. The first should have its clipping set to near 0.01 and far 1,000. Ensure that this has a low depth priority (using a default scene camera, this should be -1). The second camera, with a near 1,000 and far 1,000,000 (or whatever you fancy) and a priority higher than the first (say, -2).
Depth priority means that the higher value is rendered first, then the lower values rendered over the top. It's important to set the first (lower priority) cameras clear flag to Depth only otherwise it draws over the far away items.
For a custom coordinate system, I crafted a small Vector3d setup using doubles. So far I've only needed to implement the constructor, magnitude, distance and the subtraction operator. The main idea here is to put an awareness bubble around the player (who stays at the origin in world space).
Moving the player object simply adjusts the Vector3d that belongs to it. Once the distance between the other objects and the player falls inside the awareness bubble I trigger the rendering of the non-player item and position it at the edge of the bubble. Its "local" position for drawing is then in relation to the movement values the player changes.
Throwing in some real planetary scales and distances brings the odd trouble, but probably require some shenanigans around faking scale ranges. This is a nice core double based system that should allow for some driving about.
Monday, March 10, 2014
Configuring an Azure shared site with domains4less
I've fumbled my way around configuring my domain (http://quiet.net.nz to host apps I create) and azure shared site with the domains4less control panel templates and the howto from http://www.windowsazure.com/en-us/documentation/articles/web-sites-custom-domain-name/
On of my gotchas is the default template with its * and @, my confusion around the MX and TXT records I configured (prefixed with @) in my previous post about domains.live.com setup.
I added a CNAME for www to my azurewebsites.net address, awaited the replication and then added the awverify settings. But the wildcards of both @ and * and the restrictions on @ in CNAME led me to killing the A for * and setting the * in the CNAME.
If you get what I mean.
CNAMEs
* -> mysite.azurewebsites.net
awverify -> awverify.mysite.azurewebsites.net
www -> mysite.azurewebsites.net
A
Deleted the entry for * -> domains4less destination IP.
Changed the entry for @ -> azure IP from the Manage Domains configuration.
On of my gotchas is the default template with its * and @, my confusion around the MX and TXT records I configured (prefixed with @) in my previous post about domains.live.com setup.
I added a CNAME for www to my azurewebsites.net address, awaited the replication and then added the awverify settings. But the wildcards of both @ and * and the restrictions on @ in CNAME led me to killing the A for * and setting the * in the CNAME.
If you get what I mean.
CNAMEs
* -> mysite.azurewebsites.net
awverify -> awverify.mysite.azurewebsites.net
www -> mysite.azurewebsites.net
A
Deleted the entry for * -> domains4less destination IP.
Changed the entry for @ -> azure IP from the Manage Domains configuration.
Subscribe to:
Comments (Atom)
