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.

Messages - forthevin

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 »
Hey Robert, no problem, I have been busy with moving parts in other systems first, so I have only just now gotten around to it. I saw that you split it in two; providing a compatibility option for users is a good idea.

In regards to the particle systems, I am going to fix it after the namespace move is done and tested. I have some ideas for ensuring that the particle systems and the graphics system are not mutually dependent like I originally wrote it, but only that the particle system is dependent on the graphics system. I am thinking about putting the bridges (as in the parts of the particle system which is specific to a given graphics system) themselves in the particle systems, and ensuring that the graphics system is agnostic as to which particle system (if any) is being used. That would also be useful if we add more particle systems later and change the mechanism from an extension to a subsystem. A different way would be to make the graphics code in the particle systems independent of the graphics system, but I believe that better performance can be achieved if the particle systems can use code specific to each graphics system, so I am going to go in that direction.

And as a second heads-up, I have just moved the collision system, and I am going to begin moving the graphics system soon :).

That screenshot looks nice; will the user be able to put objects and move them around in 3D, and will the user assign each object a model instead of a sprite?

Just a heads-up to avoid duplicate work; I will begin moving the collision system user constants, variables and functions to namespace enigma_user soon.

Works in Progress / Re: OpenDave
« on: May 11, 2013, 05:05:38 pm »
Very nice. The game worked as it should, except for one bug; when standing at the door without having picked up the golden cup, the score goes up a lot. Apart from that, I didn't find any bugs.

General ENIGMA / Re: DirectX Graphics System Port *Forthevin*
« on: April 30, 2013, 06:07:03 pm »
Hey Robert, I don't know much about the Windows API or DirectX, so I don't think I can help you there. If you have trouble figuring out the Windows API, it may be a good idea to find a tutorial on it and follow it; understanding the APIs makes it much easier to work with them.

Robert, I think you are right that it primarily is moving function (and variable) declarations and definitions in the headers and sources into namespace enigma_user. All the functions that are directly available to the user should be moved to enigma_user. There are a couple of things to watch out for:

First off, when moving a user function, there may be other parts of the code that call that function. The fix is simply to prepend the call to the function with "enigma_user::", since the namespace for the function has changed and thus needs to be qualified properly. For code that already is in enigma_user, this should not be necessary, since calling functions in the same namespace does not require qualification.

Second off, be careful not to move any [snip]#include[/snip]s into the namespace, since anything "included" will then be put into the namespace. Most of the time, this should just mean looking through the function declarations and definitions and moving all "includes" to the top.

There may also be issues with the hacks Josh mentioned before. There are a lot of user functions in the graphics systems, and I have just looked through it and haven't found any dragons, so I think that if you focus on moving user functions to enigma_user in the graphics systems and follow my guidelines, you shouldn't encounter any issues. If you do, let me know, and I will take a look at it.

As a side note, it should be possible to move the user functions little by little, so compiling and running frequently to verify that things work is a good idea.

Josh: Thanks for the heads-up, I will look into that later.

polygone: But that is what I did :). Though I guess I forgot to include that in the commit message.

Robert: Thank you, I am looking forward to spending more time on ENIGMA, it has been too long :).

No, they are actually available, I tested it myself. The solution is that I put:

Code: [Select]
namespace enigma_user {};

using namespace enigma_user;

in SHELLmain.cpp, such that the namespace is available to the users, like Josh instructed. That way, user variables/functions that reside in either the global or enigma_user namespace are available to the user.

I have moved some of the user functions and variables into the enigma_user namespace. I will move more later, but I will stay outside of collisions and graphics, to avoid moving things others are moving.

Works in Progress / Re: Mark the Penguin
« on: April 28, 2013, 12:20:09 pm »
I think the game is nice, though it has some warts and issues.

I previously took a look at the source code you posted, and the main suggestions I have is naming more of the resources, since that makes it easier to navigate the game source; as well as reducing the size of the really big backgrounds, which will make it easier for the editor and the game to handle.

In regards to the game, I think the core mechanics of the game are very nice; you walk steadily and slowly while on land, and swim much faster while in the water. And jumping out of the water is really cool. In certain cases, the jumps you have to make are really challenging, but if you are good at water jumping, you can also navigate the map much more easily, which is really nice. The breath resource means that you cannot spend too long underwater, and helps add to the challenge, especially when you are navigating under water and avoiding spikes and other obstacles and enemies.

I was in general a bit confused as to what to do sometimes. In the first map, I didn't know that I had to walk right (which I found out quickly though); in the second map, I was in doubt where to go, and searched through the under water caverns quite a bit. I then decided to try to water jump to the right over the spikes, which was the right way to finish. I think a bit more guidance, such as in-game control instructions (maybe a small text saying "click and hold left button to move" on the first screen), as well as some indication where the exit is (for instance a flag or a sign), would be a good idea.

The walrus was somewhat fast and difficult to dodge, though it was somewhat rare that I encountered it. Making it slower and easier to dodge could be a good idea, but since it is so fast, it doesn't take a lot of your health.

I encountered a bug when walking right in the start on the third map, so I didn't try the game out after that part.

Issues Help Desk / Re: Mark the Penguin [Weird Glitch]
« on: April 27, 2013, 12:16:50 pm »
Don't change the topic, make a new topic in WIP. If you post source or post binaries for Windows and Linux, people will be able to play it and test it. Btw., I have had a quick look at the game (haven't had enough time to look into the bug), and the game looks interesting, swimming, jumping out of the water, avoiding obstacles and not run out of air while under water. If you post to WIP, I will have some more comments, but the only one I will make right now is that the fourth line of the step event of the object "character" should be changed from:

Code: [Select]
if (collision_point(x,y,object38|object39|object40,1,1))


Code: [Select]
if (collision_point(x,y,object38,1,1) ||
    collision_point(x,y,object39,1,1) ||

By the way, does the code [snip]collision_point(x,y,object38|object39|object40,1,1)[/snip] actually work correctly in GM?

General ENIGMA / Re: Hardware Diagnosis
« on: March 29, 2013, 05:18:37 am »
I can think of two ways to go about getting it to display all the text. In the terminal, there is usually a limit to how many lines it stores for viewing. This can usually be changed in a setting in the terminal. The second way is to redirect the output of "glewinfo" into a temporary file by using the following command in the terminal: "glewinfo > glew_paste". That redirects the output from "glewinfo" from the terminal output to the file named glew_paste. With all the output stored in glew_paste, glew_paste can simply be opened by some text editor (for instance "gedit"), and the content can then be copy-pasted from there.

General ENIGMA / Re: Hardware Diagnosis
« on: March 28, 2013, 06:34:41 pm »
For Robert and others who may be on Ubuntu, I found a package called glew-utils which provides both "glewinfo" and  "visualinfo", making it less bothersome to get the diagnostics :- ).

Yes, it is on my todo list.

Good point about not waiting. In regards to the namespace name, I think Josh's suggestion of "enigma_user" sounds good.

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 »