GMLscripts.com

Discuss and collaborate on GML scripts
Invert

You are not logged in.

#1 2007-10-13 09:38:23

Schreib
Member
Registered: 2007-10-12
Posts: 11

A piece of my current work

As I posted in the introduction thread, I'm making some sort of 3D adventure game including solving puzzles and the like. In difference from Myst, this has real-time movement, and as I see it this has two drawbacks; it is harder to interact with puzzles and the graphics are less pretty. However, the draws compensate for this; a world where you can walk wherever you wish, designed in smallest of detail.

I have a few ideas of seeded generation of non-important areas (for example, the forest road to a cabin will be randomly generated) while the more important pieces are intact.

For the moment this is written in GM's native 3D, and I quickly realized the drawbacks of it. I am therefore planning to rewrite it in conjunction with U3D. More pretty graphics, more polygons, more, more, more... :) The logic system is quite good for the moment, it is written so it is easily extendable (with a concluded loading system for loading textures, models and sounds; very handy) which some (read: many) Game Maker games lack.

But I fear I will have to rewrite the logic system as well, to fit with U3D.

I've made a level editor as well. If someone wants I'll upload an EXE so you can fiddle around with it. Everything in it has been coded and photoshop drawn from scratch.

Enough chat, here are some pictures of the progress: (THE INGAME SCREENS ARE SIZED DOWN TO 25%)

A screen of the level editor; User is creating an object. Most features shown (the ring texture shows an alpha mask, you can actually add one). Written in native GM d3d.
lvleditornew.PNG.png



Another screen of the editor, showing a book model with texture.
lvledit2.PNG.png




An in-game shot of the game. In native GM d3d, as noticable. Looking at sky and trees (red light from campfire)
screenshot001.PNG.png



Lightning strikes! The thunder echoes through this melancholy landscape with never-ending rain.
lightning%20strikes.PNG.png



The fire gives a soothing warmth in this weather.
fire.PNG.png

Last edited by Schreib (2007-10-13 09:53:46)

Offline

#2 2007-10-13 09:57:32

xot
Administrator
Registered: 2007-08-18
Posts: 1,239

Re: A piece of my current work

WOW! This looks really ambitious. Very impressive work so far. I definitely have a few questions.

How did you model the objects?

What can you tell us about your GUI?

Keep us updated on this, and thanks for posting it. I might have to post some of my stuff here that just doesn't fit anywhere at GMC. I'm too lazy to write a proper tutorial. Maybe I should make a topic to show off creations, particularly ones that use scripts from [plug]GMLscripts.com[/plug]. Hmmm....


Abusing forum power since 1986.

Offline

#3 2007-10-13 10:09:22

Schreib
Member
Registered: 2007-10-12
Posts: 11

Re: A piece of my current work

Thanks for your comment smile

For your first question, I used Blender to model and create UV-maps for all my models. In the end I used 3 slightly differently looking "tree-walls" to break the similarity effect. I exported the models to .3ds and through Marzipan converted them to .mod which I could then use in my game. The textures I made by combining a few photographs and painting some in Photoshop.

The GUI was overworked, I can tell you that biggrin I had this sudden urge of doing a level editor with fabolous GUI. So I created some Vista-like button (don't get me wrong, I don't like Vista too much) and through a complex hierarchy system including a lot of parents I created the various buttons in the editor. This is also where I needed the d3d_model_copy command, since when you click "OK" I needed it to copy the model over to another space in the memory.

So, to summarize, I spent some time creating the various effects you see in the screenshots (including the arrows in the 3D background showing where +y, -x and such are) and the hierarchy. I also spent a lot of time fixing the camera movement, which needed some vector math.

Otherwise, the GUI uses some of GM's inbuilt drawing functions. If anyone is interested I could upload a .exe with some model files for anyone who wants to have a look at the progress.

And I'd love to see a topic with your creations as well wink

Last edited by Schreib (2007-10-13 10:09:44)

Offline

#4 2007-10-13 10:59:18

xot
Administrator
Registered: 2007-08-18
Posts: 1,239

Re: A piece of my current work

Another question about your GUI. Do your gadgets directly manipulate the data, or did you write a custom controller script for each dialog (or maybe in the OK button) that reads the settings and makes the changes, or maybe you do something else?


Abusing forum power since 1986.

Offline

#5 2007-10-13 12:33:00

Yourself
Member
Registered: 2007-10-09
Posts: 48

Re: A piece of my current work

I've been wanting to see a GUI extension for GM for a long time.  If GM lacks any features, it's the ability to easily create GUIs.  There have been a few in the past but I've always kind of wanted something robust and flexible (for example, something that allows skinning).  I like hierarchical GUIs much like how the TkInter Python module works.  I've never been ambitious or motivated enough to do anything, though.

Offline

#6 2007-10-14 10:05:33

Schreib
Member
Registered: 2007-10-12
Posts: 11

Re: A piece of my current work

All the buttons were custom objects, but inherited parents in a chain of totally 2 parents. The code which was executed when pressin a button derived from the button itself; and the visual effects as well as drawing the correct text was done by the parents.

Did I get you right?

I'd also like a custom GM GUI, but... as it is now, GM will probably never evolve in this state, where user-friendlyness is on the top of the list and not extendable parts for more advanced users.

Offline

#7 2007-10-14 11:02:56

xot
Administrator
Registered: 2007-08-18
Posts: 1,239

Re: A piece of my current work

Yep, that's what I was wondering. My GUIs have always worked similarly, parents handling state changes, and custom script calls from the gadget to handle data change. Sometimes I have used the dreaded execute_string(), for instance I made an alert box that is created with a single call like so:

alert(icon,"message","button1|button2|button3","script1|script2|script3");

I'd like to make a panel system similar to Java's but I've not gotten around to it ... not to mention I have never programmed Java, only ported from it, so I don't have a good handle on exactly how it works.


Abusing forum power since 1986.

Offline

#8 2007-10-20 16:17:20

IamCalle
Member
Registered: 2007-10-20
Posts: 23

Re: A piece of my current work

I like what I see (and read wink ).
Making GUIs is one of those things I really enjoy (along with A.I).
A GUI extension would be nice to have. Wonder why I have never thought about that.

Anyway; about the drawbacks of using native d3d, GameMaker is being rewritten in C++ (or was it C#?) if I'm right.
I guess GameMaker will be a lot faster then. smile It should be a BETA in 2008?

Offline

Board footer

Powered by FluxBB