Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit Classic Chat / AGK Early 3D Command Review

Author
Message
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 9th Jun 2012 14:06
Hi Guys,

As you can tell from the size of the Issues Board, the core team has been busy working on some back-end (as yet unannounced) aspects of AGK. One of them is the 3D component of the language. The work goes well, but we wanted to bounce the proposed 3D commands off you guys before getting too deep in the work. Here is what we're thinking for the basic position and rotation commands. They are aligned very closely to the way AppGameKit commands are structured and prefer the local/global method of object manipulation rather than euler which does tend to confuse after a while. Here is a short list of commands we are personally happy with:

SetObjectPosition( ID, x,y,z )
SetObjectRotation( ID, w,x,y,z ) // Quaternion
SetObjectRotationYXZ( ID, x,y,z ) // Euler
RotateObjectLocalX( ID, x ); // same as Pitch Object Up/Down in DBPro
RotateObjectLocalY( ID, y ); // same as Turn Object Left/Right in DBPro
RotateObjectLocalZ( ID, z ); // same as Roll Object Left/Right in DBPro
RotateObjectGlobalX( ID, x );
RotateObjectGlobalY( ID, y );
RotateObjectGlobalZ( ID, z );
RotateObjectAxisAngle( ID, x,y,z, ang ); // rotate the object around an arbitrary axis
MoveObjectLocalX( ID, x ); // same as Move Object Left/Right in DBPro
MoveObjectLocalY( ID, x ); // same as Move Object Up/Down in DBPro
MoveObjectLocalZ( ID, x ); // same as Move Object Forward/Backward in DBPro
SetObjectLookAt( ID, x,y,z, roll ); // point the object at a point in space, with an optional roll value.

Comments welcome, but don't worry too much about a sudden rush of features. We have scheduled some time to revisit the Issues Board and are determined to ensure you have a solid foundation for building your apps and to bring other supported platforms up to build 107 as soon as possible.

I drink tea, and in my spare time I write software.
Diggsey
18
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 9th Jun 2012 14:47
Looks good Might be nice if there was a concept of a quaternion built into the engine to make it easy to combine rotations and things.

[b]
BraindeaD
16
Years of Service
User Offline
Joined: 30th Mar 2008
Location:
Posted: 9th Jun 2012 15:41 Edited at: 9th Jun 2012 15:53
It seems a good command set for me.
I only missed a move command that allows "advance" in the angles (x, y, z) object have currently, if not the programer must use cos & sin to obtain the next x,y,z position depending on object's angles... like move object in DBPro.
I'm not sure if I'm explaining well and if more people wants this command ...

Please, excuse my english
JLMoondog
Moderator
15
Years of Service
User Offline
Joined: 18th Jan 2009
Location: Paradox
Posted: 9th Jun 2012 15:59 Edited at: 9th Jun 2012 16:00
Quote: "I only missed a move command that allows "advance" in the angles (x, y, z) object have currently, if not the programer must use cos & sin to obtain the next x,y,z position depending on object's angles... like move object in DBPro.
I'm not sure if I'm explaining well and if more people wants this command ... "

That's what MoveObjectLocalZ( ID, x ); is doing. It moves the object based on it's rotation. So calling this command will move it forward based on it's angle, not move it in the world z direction.

I like the commands so far, not at all confusing.

BraindeaD
16
Years of Service
User Offline
Joined: 30th Mar 2008
Location:
Posted: 9th Jun 2012 16:27
Quote: "
That's what MoveObjectLocalZ( ID, x ); is doing. It moves the object based on it's rotation. So calling this command will move it forward based on it's angle, not move it in the world z direction.
"


Perfect!
BatVink
Moderator
21
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 9th Jun 2012 16:50
I like the idea of local and global commands, this is the main reason I always used EzRotate in DBPro. I also like the rotation around an axis.

Marl
12
Years of Service
User Offline
Joined: 19th Nov 2011
Location: Bradford, UK
Posted: 9th Jun 2012 17:18
What about a command to calculate the distance between two 3D points?

While it's not difficult to do in code, it would be faster (and tidier) to get AppGameKit to do it.

Preferably not involving vectors - which always do my head in
Schriev
14
Years of Service
User Offline
Joined: 21st Mar 2010
Location: I am everywhere yet I am nowhere
Posted: 9th Jun 2012 17:42
Quote: "What about a command to calculate the distance between two 3D points?

While it's not difficult to do in code, it would be faster (and tidier) to get AppGameKit to do it.

Preferably not involving vectors - which always do my head in "


+1 for this!
kamac
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location: Poland
Posted: 9th Jun 2012 17:48
Quote: "What about a command to calculate the distance between two 3D points?"


Come on. That's just lazy.


BASIC



C++




About the commands, they're looking awesome already I am really eager to test them out!

Follow me on twitter! @MotionStruct
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 9th Jun 2012 17:53
Looks logical and easy to use so far Lee

Marl
12
Years of Service
User Offline
Joined: 19th Nov 2011
Location: Bradford, UK
Posted: 9th Jun 2012 18:25
Nice selective quoting there kamac.

Oh and if you're going to teach grandma to suck eggs*, try to get the code right.

Will always return zero

* http://en.wikipedia.org/wiki/Teaching_grandmother_to_suck_eggs
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 9th Jun 2012 18:34
Nice command set.

But best of all BIG APPLAUSE for keeping the community informed of what is going on behind the scene.
kamac
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location: Poland
Posted: 9th Jun 2012 18:54 Edited at: 9th Jun 2012 19:02
Quote: "Oh and if you're going to teach grandma to suck eggs*, try to get the code right. "


My thing is C++, not BASIC. That BASIC thing was just a guess

Maybe this is what you've meant.

BASIC



Follow me on twitter! @MotionStruct
basjak
14
Years of Service
User Offline
Joined: 16th Apr 2010
Location: feel like signing up for mars
Posted: 9th Jun 2012 19:38
very good to combine local and global rotation in few simple command.

well done

MarcoBruti
12
Years of Service
User Offline
Joined: 20th Nov 2011
Location: Caput Mundi
Posted: 9th Jun 2012 20:32
what is the difference between "quaternion" or "Euler"? Sorry, I made only one 3D Game in DBPro (Q*Bert3D), but in DBPro 3D commands I did notice such difference...maybe it is implicit.
3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 9th Jun 2012 20:47
don't see any commands to create objects I assume that you already done that too, but those commands look fine.

Developer of Space Chips, pianobasic, zipzapzoom, and vet pinball apps. Developed the tiled map engine seen on the showcase. Veteran for the military.
DVader
20
Years of Service
User Offline
Joined: 28th Jan 2004
Location:
Posted: 10th Jun 2012 02:11
No play object commands either from that list. I assume they are to be included. Any physics or terrain features planned?

Hodgey
14
Years of Service
User Offline
Joined: 10th Oct 2009
Location: Australia
Posted: 10th Jun 2012 03:35
I'm pretty happy with those.

Quote: "don't see any commands to create objects"

Quote: "No play object commands either from that list. "

Whilst these are important and you are correct, to be fair, Lee did say this:
Quote: "Here is what we're thinking for the basic position and rotation commands. "

But like you guys I'm also curious to see the object load/creation commands and animation commands. Guess we'll have to wait and see.

Paul Johnston
TGC Developer
21
Years of Service
User Offline
Joined: 16th Nov 2002
Location: United Kingdom
Posted: 10th Jun 2012 03:58
Quote: "what is the difference between "quaternion" or "Euler""


They are both ways of representing the orientation of a 3D object. Euler does this by specifying 3 angles in a particular order, we've chosen YXZ so you could say "rotate 90 on Y, then 45 on X, then roll 20 degrees". This is usually the most intuitive way to think about an object's rotation, but it not easy to manipulate mathematically. A Quaternion can be thought of as a single axis angle rotation converted to a 4D vector (w,x,y,z), which is more difficult to imagine but easier to work with.

Interpolating between two angles with quaternions is much easier as you don't have to worry about the 360->0 wrap around problem.
SoftMotion3D
AGK Developer
18
Years of Service
User Offline
Joined: 24th Aug 2005
Location: Calgary,Alberta
Posted: 10th Jun 2012 06:55 Edited at: 10th Jun 2012 06:56
just a quick question......what formats are planned for this?

will this support .x? ord 3ds? and animated?

Yodaman Jer
User Banned
Posted: 10th Jun 2012 07:33
Looks good to me! Do you have any idea on when a 3D version of AppGameKit will be available?

I'll hold off on buying it until then...

3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 10th Jun 2012 07:54
I think it will just be basic. 3d commands 3ds will take longer. I think that will be better any way get ill3d items like cube and sphere working before you even think about 3ds.

Developer of Space Chips, pianobasic, zipzapzoom, and vet pinball apps. Developed the tiled map engine seen on the showcase. Veteran for the military.
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 10th Jun 2012 08:31
SMD_3D Interactive .x is DirectX only. AppGameKit is OpenGL. OpenGL has no real standard format for 3d out of the box.

I am also very curious to see what 3d format will TGC go for.

Most probably there will be a myriad of converters available to convert your .x maya or 3ds into the format of choice, like other sdks do.
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 10th Jun 2012 08:32
Yodaman Jer, it will be available towards the end of 2012
sovr
14
Years of Service
User Offline
Joined: 2nd Jan 2010
Location: USA
Posted: 10th Jun 2012 19:11
The 3D commands look really good! All you would need is just camera commands, a few physics commands, and it should be perfect. Of course later on after the 3D commands update, there will be further commands to add to it.

All I am waiting for at this very moment (which I am excited!) is for java applet's. I have a website and I was to improve it using agk!

p.s. If you ever need help with the java part of agk you can always contact me, but I tend to do java applications more than applets.

sov the game creator!
basjak
14
Years of Service
User Offline
Joined: 16th Apr 2010
Location: feel like signing up for mars
Posted: 10th Jun 2012 20:49
I wish you bring AppGameKit to work on windows mobile as windows tablets will be out very soon and windows mobile is becoming increasingly popular.

Pawprints
12
Years of Service
User Offline
Joined: 11th Oct 2011
Location:
Posted: 10th Jun 2012 21:15
The command set looks solid and for me I wish FBX was supported as that seems to be a good standard 3D format these days. As we're going down the 3D route I again think being able to read the compas in a device would be really helpful for AR type apps.

I guess commands like setobjectscale will be included as well as some sort of collision system. I also think setobjecttransparent would be handy as you can create some really nice effects using this command. I think though as a base set of commands the above will work well (as long as you include the scale options too). I think it'll be nice to also combine 2d/3d games which should be possible using the commands to point an object at the camera although the textures will need to show transparencies like they do in darkbasic pro.

Of course my final wish is to be able do all this on a mac without having to use a PC and keep jumping back and fourth (I refuse to pay another £100 just to run windows on my mac)

If it's not broken don't keep trying to fix it.
Yodaman Jer
User Banned
Posted: 10th Jun 2012 22:02
Quote: "Yodaman Jer, it will be available towards the end of 2012"


Thanks! That fast? Awesome!

baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 10th Jun 2012 23:35
TGC are aiming for September I believe. I hope that's possible. I love working in 2D but I also love working in 3D

bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 11th Jun 2012 00:01
I will buy the 3d version to support TGC but I don't plan to use it anytime soon. I have too many 2D projects lined up for a year or two. This would leave ample time for the commands to grow, mature and get fixed!
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 11th Jun 2012 00:09
Quote: "I will buy the 3d version to support TGC but I don't plan to use it anytime soon. I have too many 2D projects lined up for a year or two. This would leave ample time for the commands to grow, mature and get fixed!"

Me too (to an extent), but I can't resist testing and using new commands!

bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 11th Jun 2012 00:36
I will pick up some old DGDK project and convert it to AppGameKit just to have peace of mind of what it would involve.

3d asset creation costs 50 times more than 2d assets, so for now I have to sit back and postpone and 3d project.

However there might be other uses. Create a flat plane and apply a shader and use it in 2d games!!!!

We will have to see what kind of shader support we will get, if it will be mainstream support like other sdks have, and we can use standard shader code, or if it will be something more limited like the fixed pipeline shader in dbpro.
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 11th Jun 2012 11:28
I am interested in a 3D grid loading system if that sounds good or makes sense and the local rotation is fantastic ^^

I have not even begun looking into AppGameKit 1.0 and it seems 2.0 [3D] will hit me hard soon... [personally I find 3D easier...]

Windows phone gets mentioned a lot but its kinda on its own kind of platform... [correct me if I am wrong]

hmm... eager to see screens of early tests ^^

Yodaman Jer
User Banned
Posted: 12th Jun 2012 00:05
September! Even more awesome!

I might actually go ahead and buy the AppGameKit as it is now, as I have several ideas for some 2D platformers I'd like to try to make. I can't wait for the 3D version, because TGC will finally once again have a great game making tool on their hands!

Love that it uses OpenGL as opposed to DirectX. So many possible platforms...

Jimmanator
13
Years of Service
User Offline
Joined: 12th Nov 2010
Location:
Posted: 12th Jun 2012 16:07 Edited at: 12th Jun 2012 16:08
I pre-ordered Agk and was wondering when the 3d commands come out will
I have to buy the agk again.
Commands look awesome.
Paronamixxe
AGK Bronze Backer
12
Years of Service
User Offline
Joined: 10th Feb 2012
Location: Sweden
Posted: 13th Jun 2012 01:44
Adding a "get sprite screen position X" and "Y" would be nice, so you can have 2d sprites ontop of the 3d in realtime without having to delve into making a 3d object that turns towards you.

//Anton
sovr
14
Years of Service
User Offline
Joined: 2nd Jan 2010
Location: USA
Posted: 13th Jun 2012 05:03
having a 3D load object command is a must, Also for shaders I was thinking maybe you could do GLSL shader types for the 3D objects and the camera itself.

sov the game creator!
XanthorXIII
AGK Gold Backer
12
Years of Service
User Offline
Joined: 13th May 2011
Location:
Posted: 13th Jun 2012 06:45
Looks good. I thought 3D wasn't exactly a great choice for Mobile until I had played Temple Run. Game was addicting.
Yodaman Jer
User Banned
Posted: 13th Jun 2012 07:26
Temple Run! I just downloaded that on my Kindle. Ridiculously addictive game.

And yes, you need a load object command for sure. I'm one of those people that cannot stand having to manually assign vertices to specific locations; I just can't tolerate the tediousness of it. It's much easier to design it visually and export the model, then load it into the game.

Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 13th Jun 2012 17:09
XanthorXIII, I still haven't managed to finish the first level of Temple Run! But I was also quite impressed by the graphics. And it only takes a little over 28MB of space. Little Eggy (an AppGameKit 2D product) takes a little over 15MB. I wonder what was used to create Temple Run?

Cheers,
Ancient Lady
XanthorXIII
AGK Gold Backer
12
Years of Service
User Offline
Joined: 13th May 2011
Location:
Posted: 13th Jun 2012 19:03
Looking at the quality of the graphics its probably a lot of low res textures and low polygon models.
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 14th Jun 2012 13:07
most probably texture and levels are created procedurally as they consist mostly of blocks. so they take no diskspace
anwserman
12
Years of Service
User Offline
Joined: 20th May 2011
Location: Wisconsin
Posted: 20th Jun 2012 06:55
Here's my question. What about collision detection? Can we be expecting collision detection Along the lines of Sparky's or Nuclear Basic, as AppGameKit doesn't support plugins. Also, what mapping tools can we expect? Although 3D is nice - and AppGameKit is easy to use - nothing can really beat Unity's mapping tools.

Hi there. My name is Dug. I have just met you, and I love you.
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 20th Jun 2012 10:59
I would be surprised if TGC don't include a full 3D physics system of some sort. Some are out for legal reasons but there's no reason something like bullet physics couldn't work, that I'm aware of...

That would mean we could have full physics simulation and all the necessary collision commands in one go.

kamac
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location: Poland
Posted: 20th Jun 2012 13:30
God, just don't go with ODE. Please.

Follow me on twitter! @MotionStruct

Login to post a reply

Server time is: 2024-04-28 10:07:55
Your offset time is: 2024-04-28 10:07:55