jWalker Posted October 5, 2011 Share Posted October 5, 2011 Hey all! This is my first post on this forum. I am programming (scripting) Autoit since abt. 3 Months. My first "games" were some Reaction Games, mady with Koda and Autoit. I also made a Pong clone which actually worked really good! But now i found a nice OpenGL UDF on the forums... I started to write my first programs on it and it is really cool to get these 3D things so easy and fast. I want to share my first real OpenGL Project with you guys, and maybe i could find someone with cool ideas and even someone who would really like to help me with this game. At this Point, there is no really gameplay at all. But if you know the game "Audiosurf" you can maybe imagine what i want this game to be like. The music-aspect of audiosurf will not be implemented in my game. Just collecting some points, avoiding obstacles or shooting enemies... something like that... You could have a look if you want A - Steer left D - Steer right F - Turbo Here is the file: blockbuster.au3 Here is the Code: expandcollapse popup;--INCLUDES-- #include 'GlPluginUtils.au3' #include <Misc.au3> ;<----------- ;--VARIABLES-- $PlayerPosX = 0 $PlayerPosZ = 0 $PlayerAngle = 0 $PlayerSpeed = 0.6 $UpDownSpeed = 0.03 $UpDownTrigger = "UP" ;<------------ ;--DLL-- $userdll = DLLOpen("user32.dll") ;<------ ;--OPTIONS-- AutoItSetOption( "TrayIconHide", 1 ) Opt( "WinTitleMatchMode", 3 ) $WinTitle = "BlockBuster" ;<---------- ;--------OPENGL-------- ;###################### ;OpenGL Window DefineGlWindow( $WinTitle, 800, 600 ) ;Background Color SetClearColor( 1.0, 1.0, 1.0 ) ;Lights CreateLight( 0, 300, 300, 300 ) SetLightAmbient( 0, 0.2, 0.2, 0.2 ) SetLightDiffuse( 0, 0.7, 0.7, 0.7 ) SetLightSpecular( 0, 1.0, 1.0, 1.0 ) ;Camera $xCam = 0 ;X Position of Camera $yCam = -60 ;Y Position of Camera $zCam = 80 ;Z Position of Camera SetCamera( $xCam, $yCam, $zCam, 0, 40, 0 ) ;Objects $Player = ObjectCreate( ) $Ambient = ObjectCreate( ) ;PLAYER $PlayerRed = 0.5 $PlayerGreen = 0.5 $PlayerBlue = 0.5 $PlayerAlpha = 1.0 $Body = AddCylinder( $Player, 0, -7, 0, 3, 2.5, 10, 10, 10, $PlayerRed, $PlayerGreen, $PlayerBlue, $PlayerAlpha ) $EngineRight = AddCylinder( $Player, 2.9, -9, 0, 1.3, 1, 6, 10, 10, $PlayerRed, $PlayerGreen, $PlayerBlue, $PlayerAlpha ) $EngineLeft = AddCylinder( $Player, -2.9, -9, 0, 1.3, 1, 6, 10, 10, $PlayerRed, $PlayerGreen, $PlayerBlue, $PlayerAlpha ) $BackMain = AddPartialDisk( $Player, 0, -7, 0, 1, 3, 10, 3, 0, 360, $PlayerRed, $PlayerGreen, $PlayerBlue, $PlayerAlpha ) $BackMainInner = AddPartialDisk( $Player, 0, -6, 0, 0, 2.8, 10, 3, 0, 360, 0.9, 0.1, 0.1, 1 ) $BackRight = AddPartialDisk( $Player, 2.9, -9, 0, 0, 1, 10, 3, 0, 360, 0.9, 0.1, 0.1, 0.9 ) $BackLeft = AddPartialDisk( $Player, -2.9, -9, 0, 0, 1, 10, 3, 0, 360, 0.9, 0.1, 0.1, 0.9 ) ;--->END OF PLAYER ;AMBIENT $Street = AddCube( $Ambient, 70, 500, 0.01, 0.2, 0.2, 0.2, 1.0 ) ;--->END OF AMBIENT ;--What to print on screen-- SetPrint( $Player ) SetPrint( $Ambient ) ;<-------------------------- ;--Set Position of Objects and Shapes at start-- ObjectTranslate( $Player, -1, -1, -1) ShapeTranslate( $Ambient, $Street, -1, -1, -6) ;<---------------------------------------------- ;############################################### ;<---------END OF OPENGL------------------------- ;--Hotkey Functions-- HotKeySet( "{ESC}", "ExitScript" ) ;-------------------- WinWait( $WinTitle ) $CheckWindowTimer = TimerInit( ) ;~ For $i = 1 To 10 ;~ $Point = AddSphere( $Points[$i], Random(-25, 25), $PointsY[$i], 0, 3, 10, 10, 0.2, 0.95, 0.2, 1.0 ) ;~ Next ;__________________________ ;#######_GAMEPLAY_######## While 1 If _IsPressed("41", $userdll) AND _IsPressed("44", $userdll) Then If $PlayerAngle < 0 Then $PlayerAngle = $Playerangle + 2 ObjectRotate( $Player, -1, $PlayerAngle, -1 ) ElseIf $PlayerAngle > 0 Then $PlayerAngle = $PlayerAngle - 2 ObjectRotate( $Player, -1, $PlayerAngle, -1 ) EndIf Else If _IsPressed("41", $userdll) Then If $PlayerAngle > 0 Then $PlayerAngle = $Playerangle - 4 If $PlayerAngle > -35 Then $PlayerAngle = $PlayerAngle - 2 ObjectRotate( $Player, -1, $PlayerAngle, -1 ) EndIf If $PlayerPosX > -27.5 Then $PlayerPosX = $PlayerPosX - $PlayerSpeed ObjectTranslate( $Player, $PlayerposX, -1, $PlayerPosZ ) ;~ ToolTip($PlayerPosX) EndIf ElseIf _IsPressed("44", $userdll) Then If $PlayerAngle < 0 Then $PlayerAngle = $Playerangle + 4 If $PlayerAngle < 35 Then $PlayerAngle = $PlayerAngle + 2 ObjectRotate( $Player, -1, $PlayerAngle, -1 ) EndIf If $PlayerPosX < 25 Then $PlayerPosX = $PlayerPosX + $PlayerSpeed ObjectTranslate( $Player, $PlayerposX, -1, $PlayerPosZ ) ;~ ToolTip($PlayerPosX) EndIf Else If $PlayerAngle < 0 Then $PlayerAngle = $Playerangle + 2 ObjectRotate( $Player, -1, $PlayerAngle, -1 ) ElseIf $PlayerAngle > 0 Then $PlayerAngle = $PlayerAngle - 2 ObjectRotate( $Player, -1, $PlayerAngle, -1 ) EndIf EndIf EndIf If _IsPressed( "46", $userdll ) Then If $zCam > 61 Then $zCam = $zCam - 0.35 $yCam = $yCam + 0.25 EndIf $UpDownSpeed = 0.08 ;~ ToolTip($zCam&" "&$yCam) SetCameraPos( $xCam, $yCam, $zCam ) Else If $zCam < 82 Then $zCam = $zCam + 0.35 $yCam = $yCam - 0.25 EndIf $UpDownSpeed = 0.03 ;~ ToolTip($zCam&" "&$yCam) SetCameraPos( $xCam, $yCam, $zCam ) EndIf If $PlayerPosZ < 2.3 AND $UpDownTrigger = "UP" Then $PlayerPosZ = $PlayerposZ + $UpDownSpeed ObjectTranslate( $Player, $PlayerPosX, -1, $PlayerPosZ ) If $PlayerPosZ > 2.2 Then $UpDownTrigger = "DOWN" ElseIf $PlayerPosZ > 0 AND $UpDownTrigger = "DOWN" Then $PlayerPosZ = $PlayerposZ - $UpDownSpeed ObjectTranslate( $Player, $PlayerPosX, -1, $PlayerPosZ ) If $PlayerPosZ < 0.15 Then $UpDownTrigger = "UP" EndIf ;--Drawing of the Scene-- SceneDraw( ) Sleep( 3 ) ;<----------------------- ;--End the program if window is removed-- If TimerDiff( $CheckWindowTimer ) > 500 Then If WinExists( $WinTitle ) = 0 Then ExitScript() If WinActive( $WinTitle ) == 0 Then WinWaitActive( $WinTitle ) $CheckWindowTimer = TimerInit( ) EndIf ;<---------------------------------------- WEnd ;#######_GAMEPLAY END_######## ;<---------------------------- ;---FUNCTIONS--- ;°°°°°°°°°°°°°°° Func ExitScript() DllClose($userdll) Exit EndFunc ;°°°°°°°°°°°°°°° ;<-------------- Link to comment Share on other sites More sharing options...
pierrotm777 Posted October 5, 2011 Share Posted October 5, 2011 Where can i found the GlPluginUtils.au3 UDF please ? Link to comment Share on other sites More sharing options...
bogQ Posted October 5, 2011 Share Posted October 5, 2011 click it --> TCP server and client - Learning about TCP servers and clients connectionAu3 oIrrlicht - Irrlicht projectAu3impact - Another 3D DLL game engine for autoit. (3impact 3Drad related) There are those that believe that the perfect heist lies in the preparation.Some say that it’s all in the timing, seizing the right opportunity. Others even say it’s the ability to leave no trace behind, be a ghost.  Link to comment Share on other sites More sharing options...
blckpythn Posted October 6, 2011 Share Posted October 6, 2011 I keep getting this upon running. >"F:\AutoIT\install\SciTe\..\autoit3.exe" /ErrorStdOut "F:\AutoIT\BlockBuster.au3" F:\AutoIT\BlockBuster.au3 (25) : ==> Unknown function name.: DefineGlWindow( $WinTitle, 800, 600 ) ^ ERROR >Exit code: 1 Time: 0.229 I checked the include file and it has #compiler_plugin_funcs = DefineGlWindow But does not have the Func anywhere else within the file. Link to comment Share on other sites More sharing options...
AdmiralAlkex Posted October 6, 2011 Share Posted October 6, 2011 But does not have the Func anywhere else within the file.Nor should it. Plugins live in a dll file, not au3. Make sure you put the Au3GlPlugin.dll in the same folder as the script. .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface Link to comment Share on other sites More sharing options...
jWalker Posted October 6, 2011 Author Share Posted October 6, 2011 Just Compile it and then run it from exe (32 Bit!, 64 didnt work for me anyhow..) Link to comment Share on other sites More sharing options...
Spiff59 Posted October 7, 2011 Share Posted October 7, 2011 I get an error regarding a missing GLAUX.DLL Looking it up, all I find is an OpenGL library from 10 years ago? Link to comment Share on other sites More sharing options...
AdmiralAlkex Posted October 7, 2011 Share Posted October 7, 2011 (edited) I get an error regarding a missing GLAUX.DLLLooking it up, all I find is an OpenGL library from 10 years ago?Afraid of the old? If you need the file there's a link in the post bogQ linked to. Edited October 7, 2011 by AdmiralAlkex .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now