camera idea for 3D

New releases and general discussions.

Post » Sun May 08, 2011 10:13 am

[quote="beds":3e07o6jx]well i'm sure that it must be possible to develop a "3d camera" behavior plugin that could let you choose a side of a 3Dbox that would then draw to the screen what is in front of that face, but the thing is to do it... i would like to do it, but do not have enough knowledge to do so, i'm still studying the sdk's, but i'm far from being able to do something, i only found until now where the window is builded in the VRuntime.h, that itself uses RenderCommon.h, now i'm looking for the 3dbox, to see if i could find a way to refer to one of it's face, and then i'll have to figure out how i need ro build what i want

edit: just found out the 3Dbox i think it's Quad.h

edit2: i think that i wont be able to do it on my on, anyway i think i just found a program specially made to make 3d games, 3D rad, if somebody is intested here's the link: http://www.3drad.com/[/quote:3e07o6jx]
hi beds
there is an sdk tutorial. you should definitely start with that. it'd be extremely difficult to figure out the sdk without some guidance. here's the basic tutorial.
if you have trouble figuring it out, or getting it to compile, or whatever, the appropriate forum to ask questions about that end of things is construct engineering. I actually think it would be very simple to make a 3d camera, within the actual runtime of construct, because construct is already using a 3d camera, it's just stuck angled at the background, so it would only need the extra commands for yaw pitch roll (not sure which one we can already use). The problem is whether it would be practical or not.
I think it's probably possible to do it without altering the runtime in a plugin. I haven't worked directly with directx calls that much yet, but it seems like it should be pretty straightforward. I think it would work better as an object than a behavior though, as of now, all behaviors can be used on any object that is placed on the layout, like box, 3d box, sprite, line, etc, but not on mousekeyboard, array. so creating a behavior that only works with 3dbox would require rewriting 3d box to provide feedback to the behavior about what it's doing. that's not hard, but it's also not necessary

So back to the practical part. if it's simple, why not just add it to the runtime? because it may just cause more problems than it solves. your game will look like a bunch of flat 2d cutouts when you switch from looking at them straight on, all lined up like a diorama. Then you would need options for sprites to make them always face toward the camera, or be able to rotate them along all axis's. This is all possible through sprite distortion events, but it would be about as fun as trying to make the world rotate around you instead of using the 3d camera. Then there's the issue of having no 3d layout editor. All these features and extra options everywhere are going to confuse new users who will try them out and basically not understand why there seems to be a halfimplemented 3d aspect to construct, at which point the board will be constantly flooded by questions on how to make it work well. Part of the beauty of construct is that by sticking completely to 2d, you can have a simplified system of condition/action(cause/effect - stimulus/response) relationships that's just not possible in 3d where all the spatial information related to any event adds just one too many layers of complexity to make this system work as neatly.

but by all means, try out the sdk tutorial. a 3rd party plugin that does this would be harmless to the rest of the system, and to newcomers as well. also, if you know some c++, and don't mind fiddling around. creating such a plugin, if it's possible, should be pretty straightforward
Spriter Dev
B
87
S
21
G
12
Posts: 3,240
Reputation: 16,461

Post » Sun May 08, 2011 11:22 am

oh yeah, and one more thing, you said if you knew more c++. I would recommend, even if you know very little c++, to go ahead and try it. I and at least one of the other plugin developers here started out with the sdk thinking there's no way we understood enough c++; but you can mess around with alot of the stuff in the sdk without knowing how it works. Between asking questions in the construct engineering forums, general c++ questions on google, and looking at the other plugins in the svn when you need to know how a certain plugin did something.

you might see something in a behavior that looks like this
[quote:1eztsoxs]pLink->info.x=50;[/quote:1eztsoxs]

and it might look weird, but if I tell you that this is how a behavior sets the x position of the object it's attached to, so it's like the action
[quote:1eztsoxs]Set X to 50 in construct[/quote:1eztsoxs]
you can still use it, even if you don't know enough c++ yet to be able to understand the syntax. you also don't need to go research and memorize all the construct specific commands. since you have to use visual studio to use the sdk, you automatically have all the commands there
as soon as you type
[quote:1eztsoxs]pLink->[/quote:1eztsoxs]
all the options for pLink are there, and the same for when you type
[quote:1eztsoxs]pLink->info.[/quote:1eztsoxs]
you see that you can set values for x,y,angle, h (for height),etc,

there are not many questions asked on the construct engineering forums, so feel free to ask alot. even basic stuff like. so what does -> mean anyway?
Spriter Dev
B
87
S
21
G
12
Posts: 3,240
Reputation: 16,461

Post » Sun May 08, 2011 1:36 pm

So the idea here is to make a behavior that would effect the z distortion on all objects with the behavior, based on user set coordinates?
Ok that part should be doable, but my question is wouldn't that add a lot of overhead if your continuously setting z height for many objects?
I mean don't you have to recalculate each distortmap each tick pretty much?
Image Image
B
161
S
48
G
89
Posts: 7,347
Reputation: 66,249

Post » Sun May 08, 2011 1:52 pm

thumbs did it, it runs reasonably well at its poly count.
B
52
S
7
G
6
Posts: 1,945
Reputation: 7,610

Post » Sun May 08, 2011 5:58 pm

lucid: we'll acually i was looking at the sdk's with code block lol, i don't own visual studio, tought if i was able to do it i could have just sended it to another interrested user, i do know the basics of c++, java, python, but lets say that i "skipped" the "object oriented" part, it was gaving me headatches(didn't learn from school), i would be able to write small programs or games, but all in singles files lol, i understand the basics of it, but need to work more with it, so i guess i will need to take my "course" were i left it before attempting to modify someone else's job lol.

but it would be a very interresting feature to add i don't know if some of you worked under one of the following : gamemaker, blender, 3drad, but in those(specially GM) you can see how usefull it can be, and for someone who know c++ and d3d well enough, no it must really not be hard to do, as the d3d seems to be lauched even if you use only 2d sprites, and from what i know in d3d as well as in opengl, you can "move" your "camera" around, and the goal is not to make it fully "3D ready", you can already import 3D models that's good enough, there's plenty of tools out there to create the models(blender is a good free one), and besides that there's plenty of already made models that you can download, the only thing really missing here to be able to make it fun to make a 3d game in construct is "unlocking" the camera from the top view, instead of having to use this old "n64" and before technique lol.

If i decide to retake a "peek" at it, maybe i'll create another thread on construct engineering to see if someone is willing to help on it, or ask questions, i'dd really like to see that, it would make it almost more powerfull than gamemaker lol, anyway thanks for the advices, i already checked the available documentation, but there's a little difference between randomly assigning colors to objects, and getting the complete control of the "camera" lol, guess i should continue to look as there's only really 3 things to add, 2 variables to control it's yaw and pitch as you said, and the ability to make it parent to another object so that it moves with it.

maybe this afternoon sometime, i'll reopen and MAYBE make another thread lol

edit: downloading visual c++ express to see how much it can help lol
B
2
G
1
Posts: 18
Reputation: 486

Post » Sun May 08, 2011 6:25 pm

The SDK works for me in express now but it won't build the plugins from the main construct build, i posted about that a while back here but nobody replied -

viewtopic.php?f=7&t=9178&start=20#p71249
B
2
S
2
G
1
Posts: 121
Reputation: 1,092

Post » Sun May 08, 2011 9:06 pm

no i give up!!! i'll look for other software for now, if this feature is added one day or something similar, maybe i'll come back to construct, as for now, to make it myself i'd have to ask let's say from a to z exacly were to put my stuff, and how to access what i need to, so it would be more a "make it for me" thread than a help request lol, so i'll continue to look around hopping to find a software like what i need, that mean, similar to gamemaker/construct, but with the 3D feature of gamemaker in more powerfull, because the kind of game i want to make need to much ressources under gamemaker, would run find under blender, but here's a fact about gamemaking under blender, the visual interface called the logic bricks to handle events/actions the way they are made simply make no senses, you have to rely the"event" to the controller(object) and rely this one to the actions with small lines, so in no time those lines looks more like a "spider web" than something else, so if you want to modify something you have to follow the appropriate line, it's not well organised like GM and construct, to get rid of those you can learn python...i'm ok with that as i'm already confortable with the syntax and everything, but here's the catch, blender's script editor does'nt import automaticly it's feature like construct does, and lately in each new version everything changes, that mean that each script that worked in a version won't work in the others, so you have to look for the new documentation each time to adapt your scripts, and that discouraged me since i had great work done on the 2.49 version, that don't work in the new version, and the documentation is all mixed up between all the new versions since 2.5(now 2.57), i will still use the software but only to create my 3d models, as it can export in a lot of format. Sorry if somebody was hopping that i could do it, but i'm not advanced enought in c++ and d3d to do it, so for now i'll leave construct and continue my research, 3d rad looks great i'm is still not what i'm looking for, if construct have add that feature it may have been exacly what i was loocking for, but too bad, guess i'll stick to GM until something better come's out, as even in the lite version i could achieve almost everything that is possible in construct, but with the advantage that i know it almost from a to z lol, the 3d part may not be powerfull enough, but at least i can place my vision where i want it without having to learn delphy loll,

edit: thinking of it i think i'll stay under construct when i want to make 2D games, because i like the interface, and being python scripts compatible gives me a chance to practice my "python skills" under it, guess i'll just park my biggest project until i fall on the "tool" i need to make it lol
B
2
G
1
Posts: 18
Reputation: 486

Post » Sun May 08, 2011 9:46 pm

beds, just skimmed through the posts but judging by your last post, it sounds like you may want to try Unity.
B
15
S
5
G
7
Posts: 877
Reputation: 5,650

Post » Sun May 08, 2011 9:52 pm

thanks for the advice i'll go check some video if there is some to see how's the interface, and wich scripting language is compatible, because i need something python or java script capable lol

edit: nice it's java script compatible, and from what i can see in the video i just watched i might be just what i was loocking for :mrgreen: , thank you a hundred times!!! downloading right now lol
B
2
G
1
Posts: 18
Reputation: 486

Post » Sun May 08, 2011 10:06 pm

Unity is NICE! but be prepared for a pretty steep learning curve, compared to Construct. From their site -

[quote:2wc9mhrh]Unity supports three scripting languages: JavaScript, C#, and a dialect of Python called Boo. All three are equally fast and interoperate. All three can use the underlying .NET libraries which support databases, regular expressions, XML, file access and networking.[/quote:2wc9mhrh]

Should be what you're after.

edit> No worries. Check out tornadotwins tutorials on YouTube. They'll help you get into it pretty quick. Just think of Unity as Construct3D. Never abandon Construct though 'cause it's just as useful as a prototype tester as it is for developing full games ;)
B
15
S
5
G
7
Posts: 877
Reputation: 5,650

PreviousNext

Return to Construct Classic Discussion

Who is online

Users browsing this forum: No registered users and 5 guests