UT3OSC

From CCRMA Wiki
Revision as of 14:18, 1 August 2010 by Rob (Talk | contribs) (Created page with 'UT3OSC is an implementation of the Unreal3 engine built using the Unreal Development Kit(UDK) with an integrated OscPack Windows dll linked to custom UnrealScript classes. = Cus…')

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

UT3OSC is an implementation of the Unreal3 engine built using the Unreal Development Kit(UDK) with an integrated OscPack Windows dll linked to custom UnrealScript classes.

Custom Classes and Files

UDK\UDK-2010-07\UDKGame\Config

DefaultGame.ini
DefaultOSC.ini
DefaultUT3OSC.ini
DefaultEngine.ini

NOTE: Default .ini files generate UDK*.ini files when the engine runs.

UDK\UDK-2010-07\Development\Src\UT3OSC\Classes

ActorFactoryOSCInterpActor.uc
ActorFactoryOSCKActor.uc
ActorFactoryOSCKActorFromStatic.uc
ActorFactoryOSCStaticMeshActor.uc
DefaultGame_QT3OSC.ini
OSCInterpActor.uc
OSCKActor.uc
OSCKActorFromStatic.uc
OSCParams.uc
OSCPawn.uc
OSCPlayerController.uc
OSCPlayerControllerDLL.uc
OSCProj_LinkPlasma.uc
OSCProj_ShockBall.uc
OSCStaticMeshActor.uc
OSCWeap_LinkGun.uc
OSCWeap_ShockRifle.uc
OSCWorldInfo.uc
ut3osc.uc

Timeline

7/31/2010

OSCInterpActor class

- outputs position data on move, bump and damage as well
- Kismet script tested successfully to spit out position data while object moves

7/27/2010

- Moved to July UDK

Current Feature List

- OSC dll in place
- Tracking XYZ data in customized player controller sending OSC data
- Bouncing Projectiles
- Tracking projectile XYZ data sending OSC data
- customized Actor class for OSC on bump and touch events (not tested yet)

6/13/2010

First Words: ?game=UT3OSC.UT3OSC needs to be passed in "Extra Options" in Unreal FrontEnd

OSC message is being sent from Terminal on typing "Test1"

- first impressions are that it's a bit slow... lag/latency maybe UnrealScript?


[COMMANDLET 'UDK.exe make -full' STARTED IN ] June 13, 12:23 AM

Init: Version: 6522
Init: Epic Internal: 0
Init: Compiled (32-bit): Apr  9 2010 12:14:06
Init: Command line:  -full -DEFENGINEINI=..\..\UDKGame\Config\DefaultEngineUDK.ini
Init: Base directory: C:\UDK\UDK-2010-04\Binaries\Win32\
Init: Character set: Unicode
Log: Executing Class UnrealEd.MakeCommandlet
--------------------Core - Release--------------------
Analyzing...
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\Core.u'
--------------------Engine - Release--------------------
Analyzing...
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\Engine.u'
--------------------GameFramework - Release--------------------
Analyzing...
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\GameFramework.u'
--------------------UnrealEd - Release--------------------
Analyzing...
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\UnrealEd.u'
--------------------IpDrv - Release--------------------
Analyzing...
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\IpDrv.u'
--------------------OnlineSubsystemPC - Release--------------------
Analyzing...
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\OnlineSubsystemPC.u'
--------------------UDKBase - Release--------------------
Analyzing...
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\UDKBase.u'
--------------------UTEditor - Release--------------------
Analyzing...
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\UTEditor.u'
--------------------UTGame - Release--------------------
Analyzing...
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\UTGame.u'
--------------------UTGameContent - Release--------------------
Analyzing...
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\UTGameContent.u'
--------------------UnrealOsc - Release--------------------
Analyzing...
Scripts successfully compiled - saving package 'C:\UDK\UDK-2010-04\Binaries\Win32\..\..\UDKGame\Script\UnrealOsc.u'

Success - 0 error(s), 0 warning(s)
Execution of commandlet took:  22.67 seconds 

[COMMANDLET 'UDK.exe make -full' SUCCEEDED] June 13, 12:23 AM

6/1/2010

basic testing of Windows Oscpack dll writes message successfully over OSC from test app

__declspec(dllexport) double returnDouble(double a);
__declspec(dllexport) void sendOSCmessageTest();


random notes

Hide HUD and Weapon: togglescreenshotmode
http://udn.epicgames.com/Three/CharactersTechnicalGuide.html#Inventory and Weapons: WeaponFired [weapon] [bViaReplication] [hitLocation]
http://www.moddb.com/games/unreal-tournament-3/tutorials/unreal-learning-1-my-first-unreal-tournament-3-mutator
default gravity (game specific) - set in defaultgame.ini
Default value: -520.0
ProjectileList http://wiki.beyondunreal.com/UE3:WorldInfo_internal_variables_(UDK)

Moving to July UDK

Add UT3OSC references to UDKGame\Config\DefaultGame.ini

[Engine.GameInfo]
DefaultGame=UT3OSC.UT3OSC
DefaultServerGame=UT3OSC.UT3OSC
PlayerControllerClassName=UT3OSC.OSCPlayerControllerDll
DefaultGameType="UT3OSC.UT3OSC";


Add ModEditPackages line to section in UDKGame\Config\DefaultEngineUDK.ini

[UnrealEd.EditorEngine]
+EditPackages=UTGame
+EditPackages=UTGameContent
+EditPackages=CastleGame
ModEditPackages=UT3OSC

Exposed OSC Methods

sendOSCPlayerState(PlayerStateStruct)
- OSCPawn::Tick

- PlayerName (string)
- Location X (float)
- Location Y (float)
- Location Z (float)
- Crouch     (bool)

sendOSCpointClick(PointClickStruct)

- TraceHit                 (string)
- TraceHit_class           (string)
- TraceHit_class_outerName (string)
- Location X               (float)
- Location Y               (float)
- Location Z               (float)
- HitInfo_material         (string)
- HitInfo_physmaterial     (string)
- HitInfo_hitcomponent     (string)

DLL Binding

"A single UnrealScript class can bind to only a single DLL. The DLL to bind to is specified with the DLLBind directive, and the DLL name to bind to is specified in parentheses. Do not include a path or .DLL extension. DLLs can only be loaded from the Binaries\Win32\UserCode folder."
- http://udn.epicgames.com/Three/DLLBind.html

Network Latency overview from Valve

http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking

Scripting

http://okita.com/alex/?page_id=474

http://okita.com/alex/?p=444

http://forums.epicgames.com/showthread.php?t=736141

http://forums.epicgames.com/forumdisplay.php?f=367&order=desc&page=19

UDK dev environment

http://udn.epicgames.com/Three/ExecFunctions.html#Debugging

http://forecourse.com/unreal-tutorials/

http://forecourse.com/unreal-tutorials/#UnrealScript%21

http://wiki.pixelminegames.com/index.php?title=Tools:nFringe


http://forums.epicgames.com/showthread.php?t=722792

http://forums.beyondunreal.com/showthread.php?p=2405761

Overview:

http://www.theballthegame.com/tutorialudk.htm

http://www.hourences.com/book/tutorialsindex.htm

Adding Classes to World Editor:

http://forums.epicgames.com/showthread.php?t=715530

Weapon Modding:

http://forums.epicgames.com/showthread.php?t=716665

http://udn.epicgames.com/Three/WeaponsTechnicalGuide.html

http://forums.epicgames.com/showthread.php?t=708422

Unreal Script calling Windows dll:

http://udn.epicgames.com/Three/DLLBind.html

OSC dlls:

http://www.frieder-weiss.de/OSC/OSC-DLL.htm

http://www.bespokesoftware.org/wordpress/?page_id=69

http://www.3dvia.com/forums/topic/opensoundcontrol-osc-bb-s-released-under-gpl/page/3

Windows OSC utilities:

http://www.frieder-weiss.de/OSC/

Creating Windows C++ dlls:

http://msdn.microsoft.com/en-us/library/1ez7dh12.aspx

http://www.tutorialspoint.com/dll/dll_writing.htm

UDK Tutorials (video):

http://www.3dbuzz.com/vbforum/sv_videonav.php?fid=292838127fecccd8b151c72003546386

http://utmapping.wikidot.com/how-to-build-a-simple-cube-map

Basic Level Building Tutorials:

Windows VS2010 stuff:

http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/ea11890e-247b-4640-82a9-d6f657c36afa

http://social.msdn.microsoft.com/forums/en-US/vclanguage/thread/d8c0ba83-a619-443f-b194-20a1fbbf7bd7

http://msdn.microsoft.com/en-us/library/28d6s79h(VS.80).aspx

Linker Settings for VS2010 (necessary to compile):

http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/ea11890e-247b-4640-82a9-d6f657c36afa

http://www.gamedev.net/community/forums/topic.asp?topic_id=185053

(right-click project > Properties > Linker > Input > add to "Additional Dependencies" Ws2_32.lib;WINMM.lib; )