Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Phemar

#21
Dayowlron, I know, that's why I said it would be nice to have another Vec3 struct, and include that in the other attributes.

Code: ags
Struct Vec3 {
float x; y; z;
};


Currently I'm using an array with an enum (world[eX], world[eY] etc. instead of world.x, world.y), because AGS won't let me include structs within structs.
#22
I have a couple of structs that relate to the same object, I was wondering if there was a way to encapsulate them into a single object that I can create instances of.

My project is a simple 3D renderer in AGS Script (just for fun) and I'd really like to be able to create several instances of one object.

Right now my code is hard coded to accept only one mesh. I have it set up like this at the moment:

Code: ags
struct Vertex
{
  float world[3];
  float camera[3];
  float screen[3];
  int raster[2];
};

struct Triangle
{
  int vertex[3];
};


The arrays correspond to x, y and z coordinates.

I'd like to have it all encapsulated into one object, something like this:

Code: ags
struct Box
{
  Vertex vertex[8];
  Triangle triangle[12];
};


It would be even better if I could have a Vec3 struct, so I can access the box like

Code: ags
Box * box1;
box1.vertex[4].world.x = 1.4;
box1.triangle[0].vertex[1] = 3;


Is this possible? Sorry if this seems silly, I'm not really a programmer, just a hobbyist.
#23
Quote from: fernewelten on Tue 26/06/2018 21:01:58
I suppose one could force players to LOOK before INTERACTing,

That would probably be the worst idea. I can see players clicking on something, receiving a 'look at' response and simply not checking whether there's another action they can perform. Then proceed to wander around aimlessly stuck, because they won't think to click on something again for 'interact', instead thinking they've already interacted with that hotspot.
#24
You're all probably right, I should maybe put a hint in the write up, or change the readme file.

Anyway, thanks for the tip about contacting Andail, I'll do that.

As for this topic, I can see some interest in a discussion regarding interface design. So if the mods would like to change the topic or something, I'd be down with that.
#25
Crimson, that's awesome.

And here I was doing it like this:
Code: ags
enum Coordinates {
  eX = 0,
  eY = 1,
  eZ = 2,
  eW = 3,
};

struct Vertex
{
  float world[3];
  float camera[3];
  float screen[3];
  float normalized[3];
  int raster[2];
};

struct Triangle
{
  int vertex[3];
  float vector1[3], vector2[3];
  float vectorToSource[3];
  float normal[3];
  float center[3];
};


Then declaring an array of Triangles and Vertices and accessing them like this:

Code: ags
Vertex mesh_verts[MAX_VERTICES];
Triangle mesh_tris[MAX_TRIS];

//and then to access:
mesh_verts[mesh_tris[24].vertex[0]].raster[eX] = //whatever


Your way is basically what I wanted to do when I started, but I wasn't sure how to do it in AGS.
#26
I was looking at my old games for nostalgia's sake and noticed this review from the AGS Panel on my game The Netherworld, made for MAGS in some month of 2006.

This is what the AGS Panel has to say about it:

Quote"I started playing the game (June 2018) and went to a very nice graphical room. The player said a couple of lines and that was that... Nothing...Clicking everywhere got nowhere... Could not proceed. I therefore can not give it a rating in it's present state... will check back later in the year. "

I don't think this very fair. The game uses a Verbcoin interface and I find it hard to believe that an adventure game reviewer couldn't figure that out.

Granted, it's probably not the best design choice and maybe it should have been stated at the beginning of the game, but it is a MAGS game and was released nearly 12 years ago.

I'd really prefer it if people didn't think the game was broken (it's not) when they go its page on the database. Is there any way to fix this?
#27


I'm always late to the party...

I started working on a 3d module a few years ago, but gave up. I came back to it last week and rewrote the thing from scratch. I just managed to implement some clipping against the screen boundaries using a version of the Sutherland-Hodgman algorithm (although mine clips at the raster stage, which is not very efficient, I'll consider moving it to before the perspective divide at some point).

It has a light source (sun), the shade is just calculated by comparing the triangle's normal to a vector from the sun, and the tint is customizable.

I'm using a python script to export vertex and triangle information from Blender to AGS script, and once I figure out how to export RGB values from a triangle's material, every triangle will be able to have its own unique tint.

You can move around the scene just like you would in any fps, camera look and WASD, (strafe and forward/backward)

As you can see I have no Z sorting yet. Well, I had one that used the average of all 3 Z values from a triangle, but the sorting algorithm slowed everything to a halt. (Was a bubble sort function, which used an index array into the original array instead of destroying the original array). Since I can't Z-Sort, and I'm using the DrawTriangle function instead of drawing each individual pixel, I can't use the z-buffer method either.

How have you guys managed to solve the Z-sorting issue?

(also, you can see something's not quite right with my backface culling function! I think it's because the vector from the player to the triangle isn't normalized, but haven't tested that yet).

Doing this thing in AGS script is tough, without any support for vec3/vec4 formats, 2d arrays or structs within structs. Oh well!

Edit: Holy crap, khris, I just looked at your code and I had no idea I could write functions that returned arrays in AGS. That would have made this soooo much easier! Time to do a refactor, I guess... Sometimes I forget how powerful AGS Script can be. I guess it's because I haven't made a game since AGS 2.62 lol.
#28
I like the support it seems to have for working with different maps (normal, height etc.) but what I really want is basically a Gimp with a non-destructive workflow. It's the only thing I hate about Gimp - the inability to support adjustment layers, performing operations on entire layer groups, group masks and generally those sort of things. It also needs a better workflow when working on individual color channels of an image.
#29
General Discussion / Re: Moho Pro
Sun 18/02/2018 07:14:23
I use Moho a fair bit, but probably not in the way it was meant to be used. I like just drawing simple vector images (like this) and the program's quite easy to use once you get the hang of it. It is missing a few features that would be real handy though, and I've been told I should switch to something like Illustrator. Maybe one day :D (btw, I'm still using v5 of Moho, so this review might be a bit out of date.)
#30
Hah, I was just looking on wayback machine a few weeks back for some 2dadventure stuff, but unfortunately I had no luck. I too would be interested if anyone kept a backup of the site.
#31
Completed Game Announcements / Re: I Want Out!
Mon 25/12/2017 09:29:05
Awesome short game, got me stumped a few times! The art was astounding, and the animations were smooth, even if there weren't many (I did not notice the ol' fade to black trick was used a few times!).

I also noticed one little grammatical error, although it's not a huge deal, just me being nitpicky. Right at the end scene, the boy says "oneself", when it is probably more correct to use "one's self". I could be wrong, but this is what The Grammarist has to say about it:

"The two-word phrase one's self is only justifiable when self is used in a spiritual, philosophical, or psychological sense. In all other cases, one's self can be replaced with the pronoun oneself."
#32
This is really cool, Crimson! Glad to see a more fleshed out version of the typewriter module. Awesome work.
#33
I would play the crap out of a 4th Pirate Fry if it were to come.
#34
You can also use the [url= command to make it link back to the competition's thread.
#35
General Discussion / Re: Icey Games Reborn
Wed 13/09/2017 13:50:59
Those are some pretty nice animations dude, good job!

My only criticism would be on the first animation (walking south) - it seems like his head was just pasted on his body. I think a solution would be to have his head rotate ever so slightly as he's running, from left to right.

Otherwise, great stuff man, looks good.
#36
My avatar seems to be working fine. I have like 200 images on Photobucket and it says my storage is only 1% full, so that all seems to be fine.

However my issue with Photobucket is that they seem to have changed their interface to something really annoying and their website is slooooow as heck these days. And I mean really slow, it's still loading as I type this message and I can stream HD video with my connection.
#37
I have such fond memories of this game. The art is fantastic, the voice acting superb and the cinematic feel is pretty decent.

But looking back at the puzzle design and overall gameplay, this game has so many flaws. As someone who has dabbled in adventure game design, I couldn't help but notice all the terrible design elements and think of ways I would have handled it differently.

Does anyone else feel the same way? Is it just nostalgia that makes me love this game?
#38
31st of December was my 13th anniversary. It's amazing how time flies and how little I've actually completed in AGS.

A couple of crappy games when I was a kid, and a thousand half done games and script modules. Oh well, maybe one day I'll release something awesome.
#39
Wow, ten years! Bartimaeus and I competed against you with The Netherworld way back during that Mags. Good times!
#40
Take a look at my background speech module. It's very possible to combine the two modules and just add a function which calls the typewriter, and uses the non blocking wait command.

My background speech basically just uses well places timers, with an integer array that stores the order commands are programmed in and an integrr array which tracks which command is currently being played.
SMF spam blocked by CleanTalk