https://ccrma.stanford.edu/mediawiki/index.php?title=UDKOSC_Development_Timeline&feed=atom&action=historyUDKOSC Development Timeline - Revision history2024-03-28T14:31:47ZRevision history for this page on the wikiMediaWiki 1.24.1https://ccrma.stanford.edu/mediawiki/index.php?title=UDKOSC_Development_Timeline&diff=15029&oldid=prevRob at 03:32, 16 June 20132013-06-16T03:32:17Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 03:32, 16 June 2013</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=== 12/20/2012 ===</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=== 12/20/2012 ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Created installer package and uploaded to ccrma servers. Users can just install UDKOSC from the windows installer now, though the udkosc .dll must be manually added to the project's Binaries/Win32/UserCode/ directory.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Created installer package and uploaded to ccrma servers. Users can just install UDKOSC from the windows installer now, though the udkosc .dll must be manually added to the project's Binaries/Win32/UserCode/ directory.</div></td></tr>
</table>Robhttps://ccrma.stanford.edu/mediawiki/index.php?title=UDKOSC_Development_Timeline&diff=15028&oldid=prevRob: Created page with ' === 12/20/2012 === Created installer package and uploaded to ccrma servers. Users can just install UDKOSC from the windows installer now, though the udkosc .dll must be manually…'2013-06-16T03:32:04Z<p>Created page with ' === 12/20/2012 === Created installer package and uploaded to ccrma servers. Users can just install UDKOSC from the windows installer now, though the udkosc .dll must be manually…'</p>
<p><b>New page</b></p><div><br />
=== 12/20/2012 ===<br />
Created installer package and uploaded to ccrma servers. Users can just install UDKOSC from the windows installer now, though the udkosc .dll must be manually added to the project's Binaries/Win32/UserCode/ directory.<br />
<br />
=== 12/20/2012 ===<br />
* updated master branch with V1 working versions of OSC input control for Pawns and functional OSC output for Pawns<br />
* added branch 'dev' to github repo for dev changes, master will remain (relatively) stable and dev will be for ongoing work<br />
* added documentation to 'docs'<br />
<br />
=== 11/24/2012 ===<br />
<br />
- Annoying Steam-based errors with spawned playercontrollers<br />
<br />
- Trying to disable Steam server in DefaultGame.ini with:<br />
<br />
[Engine.AccessControl]<br />
IPPolicies=ACCEPT;*<br />
bAuthenticateClients=False<br />
bAuthenticateServer=False<br />
bAuthenticateListenHost=False<br />
MaxAuthRetryCount=3<br />
AuthRetryDelay=5<br />
<br />
- DefaultEngineUDK.ini & DefaultEngine.ini:<br />
<br />
[OnlineSubsystemSteamworks.OnlineSubsystemSteamworks]<br />
bEnableSteam=false<br />
<br />
=== 11/18/2012 ===<br />
<br />
- Added low-latency OSCPawnBot control with each PawnBot controller polling OSC structs for each pawn's own struct (stored in a std::map in the dll)<br />
<br />
- Sorted out rotations and slewed rotation calls in osccontrol.rb under /Scripts/<br />
<br />
- Finished all movement calls to OSCPawnBots.<br />
<br />
- params for Unreal Frontend "Launch Options": -wxwindows -remotecontrol -log<br />
<br />
=== 10/21/2012 ===<br />
- Added OSCPawnBot as the primary 3rd party pawn actor. Still hooking up OSC.<br />
<br />
"spawnPawnBot" will spawn OSCPawnBot with a unique ID and attach it to a OSCPawnController controller instance.<br />
<br />
- Added OSCBot as standard AI unit. Still hooking up OSC. Can respond to MoveTo commands.<br />
<br />
- Added rotation to OSCControl.rb and to OSCPawn; still wonky.<br />
<br />
=== 9/19/2012 ===<br />
<br />
Version 1.0 of OSCControl has been added to the project. Documentation on getting started with OSCControl and remote control of UDKOSC camera and actors can be found at:<br />
<br />
https://github.com/robertkhamilton/udkosc/blob/master/Scripts/getting_started.txt<br />
<br />
=== 9/07/2012 ===<br />
<br />
Added a proper stop call in .dll as well as fixed jumping<br />
<br />
=== 9/04/2012 ===<br />
<br />
Now actor speed is reset after manual stop is called (before next player move X,Y,Z call)<br />
<br />
=== 9/03/2012 ===<br />
<br />
Added much needed "playermove stop 1" call as actors set upon a given vector would not ever stop. whoops.<br />
<br />
Currently can only be manually called outside of a block.<br />
<br />
Should reset actor speed when next playermove is called.<br />
<br />
=== 9/02/2012 ===<br />
<br />
Scripting Overview:<br />
<br />
playermove<br />
<br />
- playermove calls require method, param, val, (slewtime in ms), userid<br />
e.g. "playermove x 100 1000 1"<br />
<br />
- actor motion can be stopped by calling "playermove stop 1" at any time outside of a block<br />
= STOP calls don't reset the currentval of PLAYERSPEED <br />
<br />
cameramove<br />
<br />
- cameramove calls don't require userid<br />
<br />
e.g. "cameramove pitch 360 10000"<br />
<br />
cameramove pitch, yaw and roll values are all scaled to allow degree input (i.e. 0-360) through use of the UDK scaling factor of 182.044403<br />
<br />
Console commands: useable console commands are defined in the script generator and can be called with the method call "console" e.g.<br />
<br />
- "console behindview"<br />
<br />
OSC bundles<br />
<br />
- OSC bundles are created by creating block commands, started with "[" and ended with "]"<br />
- all slew values for each block command are created and sorted before generation<br />
<br />
wait<br />
<br />
- the message "wait" will call a ms Sleep command in Ruby<br />
<br />
Comments<br />
<br />
- comments are any lines prefaced with a "#" followed by a space<br />
<br />
EXAMPLE SCRIPT:<br />
<br />
[<br />
cameramove pitch -90 100<br />
cameramove x -300 5000<br />
cameramove z 300 500<br />
]<br />
console behindview<br />
# This is a test<br />
[<br />
cameramove pitch 90 1000 <br />
cameramove yaw -130 1000<br />
]<br />
[<br />
playermove speed 500 20 1<br />
playermove x 5000 3000 1<br />
]<br />
playermove stop 1<br />
<br />
=== 8/25/2012 ===<br />
Created scripting language for creating UDKOSC movement gestures and Ruby OSC generating code. <br />
<br />
Download from https://github.com/robertkhamilton/udkosc in the Scripts directory<br />
<br />
Currently supports basic movement gestures:<br />
<br />
PlayerMove (X,Y,Z, Jump, Speed, UserID, time slew)<br />
CameraMove (X,Y,Z,Speed, time slew)<br />
Wait <br />
Block Messages - i.e. gestures to be created simultaneously as OSC bundles<br />
<br />
Time slews for gestures generate streams of OSC messages or bundles<br />
<br />
=== 07/12/2012 ===<br />
Camera Control by OSC enabled:<br />
<br />
behindview<br />
OSCMove<br />
OSCSetFreeCamera<br />
OSCStartInput<br />
<br />
Camera Pitch, Yaw, Roll + Relative (to Pawn.Location) and Absolute (to 0.0, 0.0, 0.0 World Coordinates)<br />
- OSCSetFreeCamera toggles between Relative and Absolute coordinates<br />
- OSCMove toggle between standard control and OSCControl (both for PlayerController/Pawn and for Camera)<br />
<br />
Using "behindview" makes Pawn visible as 3rd-Party actor<br />
<br />
=== 05/19/2012 ===<br />
Bumping up to UDK-2012-03 version<br />
<br />
Had to add line to DefaultEngine.ini<br />
<br />
"+NonNativePackages="<br />
<br />
<br />
=== 08/29/2010 ===<br />
Added Scaling code for iPad control OSC values<br />
<br />
setOSCFingerWorldMax x y z<br />
setOSCFingerWorldMin x y z<br />
setOSCFingerOffsets x y z<br />
initOSCFingerTouches True<br />
<br />
setOSCFingerSourceMin x y z<br />
setOSCFingerSourceMax x y z<br />
OSCSendDeltas<br />
<br />
=== 08/28/2010 ===<br />
added setAirSpeed,setSeekingTurnRate methods<br />
<br />
modded setSeekingShockBallTargetClassName to differentiate between "energy_post" and "counterweight" named objects; bound each combo to numPad<br />
<br />
setProjectileTargets will direct projectiles to a given X Y Z coordinate; can be bound<br />
<br />
TOGGLEHUD<br />
DISABLEALLSCREENMESSAGES<br />
<br />
=== 08/27/2010 ===<br />
Added left-fire location tagging for projectiles<br />
<br />
Started modding MiTo Supercollider code from 2009 for Tele-Harmonium structure<br />
<br />
Got multi-player working via FrontEnd; exact copies of compiled code will connect without a hitch. Replication is still an issue, will reference basics from http://mutualdestruction.net/udk-networking-tutorial/<br />
<br />
=== 08/26/2010 ===<br />
<br />
http://forums.epicgames.com/showthread.php?t=742470<br />
<br />
Networking error madness:<br />
<br />
Downloading Entire UDKGame > Script directory<br />
<br />
Receiving Core<br />
Receiving Engine<br />
Receiving 'Game Framework'<br />
Receiving 'UnrealEd'<br />
Receiving 'IPDrv'<br />
Receiving 'GfxUI'<br />
Receiving UDKBase<br />
Receiving 'UTGame'<br />
<br />
<br />
=== 8/22/2010 ===<br />
Added ability to toggle seekingShockBalls seekTarget between OSCProj_ShockBall and UTVolume objects.<br />
<br />
Set ctrl-F to call WalkFly exec to toggle pawn state between Fly and Walk<br />
<br />
=== 8/19/2010 ===<br />
Added OSCProj_SeekingShockBall, and OSCWeap_SeekingShockRifle for glowing balls with seeking properties, taken from the OSCProj_SeekingRocket code<br />
<br />
Added media/ScreenShots dir to svn for archiving ingame snaps<br />
<br />
=== 8/18/2010 ===<br />
Cleanup on UDK-side of multi-touch control; now shockballs don't explode on collision with other shockballs and when initOSCFingerTouches is TRUE, will seek out the next available finger touch location currently being received.<br />
<br />
Created Max/MSP test patch for control testing.<br />
<br />
=== 8/17/2010 ===<br />
Added initial OSC Input to control seeking of ShockBalls to be used as controlled by 5 iPad finger touches.<br />
<br />
/fingers X Y Z on/off (all floats, for fingers 1-5)<br />
<br />
=== 8/16/2010 ===<br />
Smoothed out homing functionality for SeekingRockets; now make nice smooth arcs.<br />
<br />
=== 8/15/2010 ===<br />
<br />
Added basic homing functionality for SeekingRockets to track ShockBalls. Added helper functions: <br />
setLockHomingTargets<br />
setRadiusSeekingRocket<br />
setRangeSeekingRocket<br />
setSpeedSeekingRocket<br />
setSpeedShockBall<br />
<br />
with LockHomingTargets, we can set if seeking projectiles will automatically search for the closest target (expensive) or stay locked to the initial target the first seek.<br />
<br />
<br />
=== 8/14/2010 ===<br />
Committed Full svn <br />
<br />
post svn:<br />
<br />
- added setGroundSpeed (float), and getGroundSpeed() exec functions to OSCPawn to set player speed.<br />
<br />
<br />
<br />
=== 8/13/2010 ===<br />
Added exec functions for setting OSC params from within game terminal: setOSC(ip, port) setOSCHostname(ip) and setOSCPort(port) which all save values to UDKOSC.ini after edit.<br />
<br />
Added getOSCHostname, getOSCPort and getOSC methods to display current OSC settings to in-game user.<br />
<br />
Initial homing rocket code started with limited results; rockets home in on ShockBalls but after tracking them successfully, don't update their direction to follow again.<br />
<br />
=== 8/12/2010 ===<br />
Successful network (LAN, local) testing with 3 connected clients<br />
Added OSCTrigger class to send message on Trigger event<br />
<br />
=== 8/11/2010 ===<br />
Added crouch tracking in OSCPawn output, and OSCStartInput, OSCStartOutput, OSCStopOutput, and OSCSendDeltas exec functions.<br />
<br />
Working on extending "Use" function:<br />
<br />
http://forums.epicgames.com/showthread.php?t=717602&highlight=PerformedUseAction<br />
<br />
found in PlayerController.uc<br />
<br />
/**<br />
* Entry point function for player interactions with the world,<br />
* re-directs to ServerUse.<br />
*/<br />
exec function Use()<br />
{<br />
if( Role < Role_Authority )<br />
{<br />
PerformedUseAction();<br />
}<br />
ServerUse();<br />
}<br />
<br />
/**<br />
* Player pressed UseKey<br />
*/<br />
unreliable server function ServerUse()<br />
{<br />
PerformedUseAction();<br />
}<br />
<br />
=== 8/10/2010 ===<br />
added initOSCReceiver function to OSCPawn to initiate OSC input polling from the dll.<br />
<br />
updated Max/MSP gui OSC sender applet for testing global gameGravity and gameSpeed params over OSC<br />
<br />
=== 8/09/2010 ===<br />
Mapped incoming OSC test floats to GameSpeed and Gravity successfully.<br />
<br />
Can access WorldInfo and current Game vars and methods stored in ut3osc.uc:<br />
UT3OSC(WorldInfo.Game).fingerTouchArray[0].X=val;<br />
<br />
=== 8/08/2010 ===<br />
Code re-written to access OSC params in OSCParams.uc class. Now Hostname and Port can be set through the DefaultOSC.ini <br />
<br />
Updated code checked into SVN<br />
<br />
=== 8/03/2010 ===<br />
Successful test of OSC messages being sent into UDK via OSCPack dll listener, operating on its own thread.<br />
<br />
Pawn motion:<br />
<br />
http://www.etc.cmu.edu/projects/coyote210/Docs/undox/Engine.Pawn.html<br />
<br />
MoveTo and MoveToward methods<br />
<br />
void MoveTo(vector NewDestination, optional float)<br />
<br />
// Latent Movement. Note that MoveTo sets the actor's Destination, and MoveToward sets the actor's MoveTarget. Actor will rotate towards destination<br />
<br />
void MoveToward(Actor NewTarget, optional float)<br />
<br />
<br />
UDKProjectile<br />
<br />
/** Currently tracked target - if set, projectile will seek it */<br />
var actor SeekTarget;<br />
<br />
Projectile<br />
Can target be changed just by setting Velocity (Speed * Direction vector)?<br />
<br />
/* Init()<br />
initialize velocity and rotation of projectile<br />
*/<br />
function Init( Vector Direction )<br />
{<br />
SetRotation(Rotator(Direction));<br />
Velocity = Speed * Direction;<br />
}<br />
<br />
Actor (projectiles inherit from Actor)<br />
<br />
// The actor's position and rotation.<br />
/** Actor's location; use Move or SetLocation to change. */<br />
var(Movement) const vector Location;<br />
<br />
/** The actor's rotation; use SetRotation to change. */<br />
var(Movement) const rotator Rotation;<br />
<br />
<br />
Added "MoveAllProjectiles X Y Z" as exec function: instantly moves all projectiles to a specific location.<br />
<br />
Working on <br />
<br />
exec function setAllProjectileSpeed(int speed)<br />
{<br />
local UTProjectile pUT; <br />
<br />
ForEach AllActors(class'UTProjectile', pUT)<br />
{<br />
pUT.Speed = speed;<br />
}<br />
}<br />
<br />
=== 8/01/2010 ===<br />
Checked in modifications to July UDK to svn at ccrma. Note only modified files/custom files were checked in, including the source for the oscpack windows dll, and these should be checked out into a 2010-07 install of the UDK.<br />
<br />
=== 7/31/2010 ===<br />
<br />
OSCInterpActor class <br />
- outputs position data on move, bump and damage as well<br />
- Kismet script tested successfully to spit out position data while object moves<br />
<br />
===7/27/2010 ===<br />
<br />
- Moved to July UDK<br />
<br />
Current Feature List<br />
- OSC dll in place<br />
- Tracking XYZ data in customized player controller sending OSC data<br />
- Bouncing Projectiles<br />
- Tracking projectile XYZ data sending OSC data<br />
- customized Actor class for OSC on bump and touch events (not tested yet)<br />
<br />
===6/13/2010===<br />
<br />
First Words: ?game=UT3OSC.UT3OSC needs to be passed in "Extra Options" in Unreal FrontEnd<br />
<br />
OSC message is being sent from Terminal on typing "Test1"<br />
<br />
- first impressions are that it's a bit slow... lag/latency maybe UnrealScript?<br />
<br />
<br />
[COMMANDLET 'UDK.exe make -full' STARTED IN ''] June 13, 12:23 AM<br />
<br />
Init: Version: 6522<br />
Init: Epic Internal: 0<br />
Init: Compiled (32-bit): Apr 9 2010 12:14:06<br />
Init: Command line: -full -DEFENGINEINI=..\..\UDKGame\Config\DefaultEngineUDK.ini<br />
Init: Base directory: C:\UDK\UDK-2010-04\Binaries\Win32\<br />
Init: Character set: Unicode<br />
Log: Executing Class UnrealEd.MakeCommandlet<br />
--------------------Core - Release--------------------<br />
Analyzing...<br />
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\Core.u'<br />
--------------------Engine - Release--------------------<br />
Analyzing...<br />
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\Engine.u'<br />
--------------------GameFramework - Release--------------------<br />
Analyzing...<br />
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\GameFramework.u'<br />
--------------------UnrealEd - Release--------------------<br />
Analyzing...<br />
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\UnrealEd.u'<br />
--------------------IpDrv - Release--------------------<br />
Analyzing...<br />
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\IpDrv.u'<br />
--------------------OnlineSubsystemPC - Release--------------------<br />
Analyzing...<br />
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\OnlineSubsystemPC.u'<br />
--------------------UDKBase - Release--------------------<br />
Analyzing...<br />
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\UDKBase.u'<br />
--------------------UTEditor - Release--------------------<br />
Analyzing...<br />
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\UTEditor.u'<br />
--------------------UTGame - Release--------------------<br />
Analyzing...<br />
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\UTGame.u'<br />
--------------------UTGameContent - Release--------------------<br />
Analyzing...<br />
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\UTGameContent.u'<br />
--------------------UnrealOsc - Release--------------------<br />
Analyzing...<br />
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\UnrealOsc.u'<br />
<br />
Success - 0 error(s), 0 warning(s)<br />
Execution of commandlet took: 22.67 seconds <br />
<br />
[COMMANDLET 'UDK.exe make -full' SUCCEEDED] June 13, 12:23 AM<br />
<br />
===6/1/2010 ===<br />
basic testing of Windows Oscpack dll writes message successfully over OSC from test app<br />
<br />
__declspec(dllexport) double returnDouble(double a);<br />
__declspec(dllexport) void sendOSCmessageTest();</div>Rob