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 - nabz32

#1
Hi, ich habe erst letztens die nützliche Tastenkombination alt + Pfeiltaste links gefunden, mit der man einfach zurückgehen kann, leider hat alt + Pfeiltaste rechts zum Vorwärtsgehen dann nicht funktioniert.

Ich lese hier auch von strg + leer, was bei mir anscheinend überhaupt nichts tut, bin ich zu dumm, oder gibt es irgendwo ein verstecktes Readme, in welcher alle Tastenkombinationen des GLBasic Editors aufgelistet sind?
#2
Yes I will add a time log for the functions, I think I will make it only write if a certain key is held down, this way I won´t get gigantic logs. I think it will be nice to have in the future.
#3
Hi Gernot, the Problem is rather finding the polygons for the triangulation dynamically.
I have run into two problems while developing further:

I noticed that I can´t make faces transparent using alphamode when I colored them, I wanted to make different shades for the lawn tiles based on their angles, so I created 16 plains with vertex colors ranged from rgb(0,0,0) to rgb(255,255,255), it looks really nice, but the faces that have not rgb(255,255,255) won´t render transparency (ghosting) correctly, they just stay solid (transparent texture color is not displayed, as it should be).
Is this a known bug, is there a workaround for this?

Also I noticed some performance decrease where I just can´t find the reason, when the player is above a hole the performance drops for some reason, are there some performance analysis tools in the GLBasic IDE? Otherwise I need to log each function call and its duration manually to find the culpit.

I also made up my mind of the new direction of the actual game I want to build of this and made some gameplay drafts ( in Notepad++ ). Basically it will be focused on melee combat with enemies, the jump and run aspect will still be there but not as dominant like in the previous formula. And of course it will have a (hopefully ) nice story. Graphics wise I will polish it a bit, but I will still go for this N64 retro look.
#4
Next step in development is dynamic houses.

I am in the process of creating a house editor, where you can lay down the foundation of the house which is stored in an array of 2D lines, the end point of the last line needs to connect to the start point of the first line, so the loop is closed. You can also add a negative foundation for creating houses with an inner yard.
The foundation of the house is grid based with the possibility of diagonal walls ( basically the editor just snaps to the grid for placing the points of the houses foundation )
Then I render walls from these 2 foundations for each story of the house there will be one generated wall ring.
A floor will be rendered for each floor ( flood filling the house foundation ), only interrupted by openings that can be placed on the floors.
I will actually build the wall rings 2 times, the second time the walls will be inverted ( also with different texture offsets to allow different inner wall textures ) those two walls will be rendered at the same time, because only front faces will be rendered they will not z-fight each other. When the player enters the house, the
outer wall ring is not displayed anymore, so you can only see the inner walls, also only the floor the player is on will be rendered, when the player enters the next floor, the floor will slowly blend in as the player transitions to the next floor.
Doors and windows can break the wall rings and will be left as openings when creating the models, meaning that you can only exit a house by doors and windows. Also you can see the inside of the houses through the window from outside and vice versa.
The only problem in this concept i am facing is finding a nice algorithm to automatically generate a roof for a build house. I have already created the outside line loop for the roof, so it will leap a bit over the walls by just translating the lines of the foundation outside and calculating the cut points to the translated, enlarged lines with their direct predecessors and ancestors.
Now I am thinking of doing the same, but translating the enlarged lines of the houses foundation to the inside of the house, also defining them finally by their cut points like the outer loop of the roof. This will be my first layer of roof, from this I can do the process again, till everything is filled with roofs. The only problem with this is, that some points can lay directly on other walls and have to be recalculated and also some points
will be removed ( duplicates that sit on top of each other ). With some points removed, the whole loop of points needs to be reordered correctly.
Also i need to keep track of the outer loop of roof to the inner loop, basically for creating the triangles correctly between the two loops. I hope to be able to resolve this, but it should be doable.
The final step will be to add inner walls to the house, so you can create rooms inside.

So basically a house consists of floors, outer walls ( one for each story ), inner walls ( specific to each story ) and the roof, which can easily be blended in and out.

This will have the great advantage of being able to seaminglesly enter houses on a map without loading times, the player could directly relate their position inside the house to the outside world.
 
Right now, the foundation editor is ready and outer wall rings can be rendered ( without the option to place doors and windows yet ), also the outer loop for the roof is created automatically.

I will keep you informed of the progress I make here and hope to be able to show something soon.

#5
Yes light is a problem in GLBasic, I also have the shadow routine working, but with a dynamic map model there is always the problem with shadows popping in suddenly, also the shadow effect from glbasic is still a bit buggy. I just wish we had proper ambient light in GLBasic, this would be a nice start to be able to set the color of the darkest parts of the models.

I finally added wind:

Also I fixed some bugs, added some more constants, encapsulated some repeating code in functions and the object hiding now takes two coordinates into account, before all objects where hidden, when they where behind x or z of player, now only the ones that really obscure the view of the player will be hidden
#6
It looks way better with point lights with attenuation,
but you have to place the lights strategically for this to look good
#7
I also changed the tree design, now with dynamic leafes.
I plan for the leafes to be affected by the wind and player also.
Just finished the editor and the basic drawing.
#8
Yes i also scale the lawn, i could instead rotate it on another axis, but i hate 3d rotations when there are to many angles involved, I need to get more into quarternions.
#9
ok, I made a short video so you can see it in action

#10
thanks for the help,

I am still in the process of reinventing the character and story.

I have worked a bit on the lawn engine, so i thought i share some progress ( has it allready been 10 years?  :o )

I have implemented shaking grass when you walk over it ( value from 1.0 multiplied with 720 degrees and sin and asin aftwerwards, looks really nice ), I can also use it for making a wind effect on the whole lawn, also really not that ressource draining ).

I have also fixed some bugs, like teleportation could in special cases lead to one row of tiles not loading.

And I also finished the lawn editor, lawn tiles can now be edited by some clicks in the editor.

I have attached a screenshot of the new effect, but I think a video would do it better justice.
#11
Hi, I fooled around a little more with my engine during this year.

* Added some lawn back into the engine.
* Rewrote the engine to support n layers instead of only 2 ( plan is to use this for caves in the future )
* Improved collision with diagonals, now friction is correctly applied here.
* Enemies which should not go over cliffs now detect this always correctly, before those enemies could get stuck on cliff edges and block edges.
* Improved collision with spheres, now friction is correctly applied here.
* Coins collected are now remembered for each map in the save files, saving takes a little longer now.
* Improved transparency check when camera moves ahead of the player while running.
* Reduced inertia for player when turning.
* Increased acceleration for player when running.
* added new available view ranges ( huge and very huge ), so you can see more of the map. Thanks for removing the object limit in the latest steam release Gernot.

Currently in Progress:

* Player editor for configuring player basic behaviour, selecting models etc.
* Support for multiple Campaigns.

Also I am in the process of rebranding this game ( new player model), new storyline, maybe new features, If anyone has some ideas I would gladly look into those, maybe someone
on this forum wants to collaborate on this? ( Just looking for ideas, not something like "plz make all models and sprites for my game"  ;) )
 





#12
Write a save function in your type,
This function writes all the variables of the type
Then call this function n times for the size of the array you want to save.
If n is variable than store n before saving the n lines of data.
This way you know the array size for the loading algorithm, or you could save a special
ending block after the array has been saved to determine the array ending.

When saving subtypes just call the save function from this subtype inside the save
function of the parent type.
Of course a load function wouöd be needed as well
#14
Blender is really cool for GLBasic, as you can Import almost anything and export it nicely to obj,
you can also export the frames of your models animation to seperate obj files with ease ( perfect for the .ddd conversion tool ),
should you want to add animated Objects to your games ( Be sure to use smoothanimation when animating, or else there is no interpolation between frames ).

Feel free to ask here anytime should you run into trouble.



#15
I like the idea of possible ascii art connections between Nodes for better readability. :good: