Looking for a programmer as discussion partner

Forum rules
Recruiting Rules: (1) Only recruit if you have an actual, clearly defined project you're recruiting for. Don't recruit if you're an organization that may have a project at some time in the future. (2) Tell people what kind of work you have for them. For commissions, also tell them how much work it will probably be. (3) Tell people how much work on your project is already complete. (4) Always open recruitment threads in the correct subforum - Free, Commercial or Paid Work.
Post Reply
Message
Author
Ryue
Miko-Class Veteran
Posts: 745
Joined: Fri Nov 02, 2012 8:41 am
Projects: Red eyes in the darkness
Contact:

Looking for a programmer as discussion partner

#1 Post by Ryue » Wed Jun 24, 2015 10:30 am

I know the title of the thread will lead to a few raised eyebrows but I found no better short summarization of what I need.

So then. What is this here about. I've created an open source 3d dungeon crawler engine for renpy (written in renpy). The link is further below.
The engine is quite good at displaying walls, canopies of trees, ... . But one of the persons who want to use the engine pointed out a problem with smaller objects like
lamp posts, cars, ... thus single objects which do not use the entire width of the mapcell they are in (a bed of flowers on the other hand works just fine).
What this means is that the way I went down has a few downsides when it comes to this type of objects. Thus I'm currently considering options of how this could be rectified (either by doing it all in a new way or doing this sort of objects in a different way than the walls).

As I'm currently almost automatically thinking of the old way (so to say I'm a bit stuck atm there) I would need someone to discuss things through to get a new idea there. IT is NOT about programming details or so, but more about ways how such things could be handled for that. OR what was used in the past times where textured 2d images were the way to go instead of polygon graphics.

Here the link to the open source project thread for the 3d dungeon crawl engine:
http://lemmasoft.renai.us/forums/viewto ... 51&t=32260


If you are interested in helping me out with the discussions or have questions let me know by either pm here, or a post here or give me a call on the renpy irc chat (I'm Ryue there)

User avatar
citizen6350
Newbie
Posts: 8
Joined: Tue Jun 23, 2015 1:25 am
Organization: Order of Chaos
Github: keless
Skype: zearclepirates
Contact:

Re: Looking for a programmer as discussion partner

#2 Post by citizen6350 » Wed Jun 24, 2015 11:02 am

I read your linked thread.

From what I can tell there is no valid reason you cannot do what you want. However, again without looking at the code, from what I read in the thread it sounds like the map data you hold onto only resolved down to the "tile" level. Whereas the things you want to show (lamp, car, etc) are sub-tile. Consider how you are storing the map data, and how you would add more resolution than tile level.

Perhaps something like lamp { x: 3.2, y: 4.2 } where 3,4 is the tile, and .2,.2 is the location within the tile the lamp goes. Or tiles [ { lamp : { x:0.2, y:0.2 } } ] etc.

Once you have the data problem solved, its just a matter of writing code to render the object correctly from which ever direction you're looking, which shouldn't be that difficult if you've already done walls.

Ryue
Miko-Class Veteran
Posts: 745
Joined: Fri Nov 02, 2012 8:41 am
Projects: Red eyes in the darkness
Contact:

Re: Looking for a programmer as discussion partner

#3 Post by Ryue » Wed Jun 24, 2015 2:00 pm

citizen6350 wrote:I read your linked thread.

From what I can tell there is no valid reason you cannot do what you want. However, again without looking at the code, from what I read in the thread it sounds like the map data you hold onto only resolved down to the "tile" level. Whereas the things you want to show (lamp, car, etc) are sub-tile. Consider how you are storing the map data, and how you would add more resolution than tile level.

Perhaps something like lamp { x: 3.2, y: 4.2 } where 3,4 is the tile, and .2,.2 is the location within the tile the lamp goes. Or tiles [ { lamp : { x:0.2, y:0.2 } } ] etc.

Once you have the data problem solved, its just a matter of writing code to render the object correctly from which ever direction you're looking, which shouldn't be that difficult if you've already done walls.
I fear the problem is not only a data problem but also a representation problem. If I don't do subtiles with sub images (aka splitting for example a lamp post into slices) but even then I have the problem with how to best put it on screen.
If I use the current mechanism: Putting the front pic at the corrent location and then the side pic just beside it....it works well for walls but for lamps,... I get the following result:
Image

User avatar
citizen6350
Newbie
Posts: 8
Joined: Tue Jun 23, 2015 1:25 am
Organization: Order of Chaos
Github: keless
Skype: zearclepirates
Contact:

Re: Looking for a programmer as discussion partner

#4 Post by citizen6350 » Wed Jun 24, 2015 4:50 pm

Consider the technique of 'billboarding' from full 3d graphics. An image that always faces the viewer directly, from all sides. This works out for many things like trees, rocks, a fountain, etc. Even some things which are asymmetrical work, because the viewer doesn't really _care_ that the words on a sign are on the correct side of the sprite whether you're looking at it from the north or the south.

So, in the example you gave, even without tweaking the art of the lamp to be 'head on' to make it more symmetric, you could probably get away with billboarding it in your scene. By simply adjusting placement and scale you can also simulate depth.

Meanwhile for things like cars, its a little more tricky, since there are 4 distinct sides and depending which side of the street you're on you expect to see the appropriate side. So you'll need to ask yourself, how important is it to accurately render things vs can you get away with just billboarding them.

Image

Ryue
Miko-Class Veteran
Posts: 745
Joined: Fri Nov 02, 2012 8:41 am
Projects: Red eyes in the darkness
Contact:

Re: Looking for a programmer as discussion partner

#5 Post by Ryue » Thu Jun 25, 2015 2:08 am

so that would be the classic variant with just 1 image displayed for such objects? (if I remember that correctly you had to position it in the center of the "image" as much as possible so that it doesnt stand out too much if viewed from specific angels)

User avatar
citizen6350
Newbie
Posts: 8
Joined: Tue Jun 23, 2015 1:25 am
Organization: Order of Chaos
Github: keless
Skype: zearclepirates
Contact:

Re: Looking for a programmer as discussion partner

#6 Post by citizen6350 » Thu Jun 25, 2015 4:44 pm

The individual billboards would be positioned based in their bottom center as origin.

Not quite sure I understand you last question but the image in my last post should have demonstrated what I mean

Ryue
Miko-Class Veteran
Posts: 745
Joined: Fri Nov 02, 2012 8:41 am
Projects: Red eyes in the darkness
Contact:

Re: Looking for a programmer as discussion partner

#7 Post by Ryue » Fri Jun 26, 2015 4:31 am

The bottom center positining was what I had meant.

Ryue
Miko-Class Veteran
Posts: 745
Joined: Fri Nov 02, 2012 8:41 am
Projects: Red eyes in the darkness
Contact:

Re: Looking for a programmer as discussion partner

#8 Post by Ryue » Wed Sep 09, 2015 4:44 am

Got an idea there. How does this instead of a real billboarding sound?:

Taking the lamppost example:
From south the front is a lamp turned right. Sidepic is empty
From north its a lamp turned left. Sidepic is empty
From west/east its a lamp turned to/from you. And a empty sidepic

Similar for tiles
Cave entrace

South/north. Fromt is wall+entrance. Side is just a wall.
West/north has a cave wall as its fromt and the entrance pic as its side pic.


How does that sound? Feaseable?

Post Reply

Who is online

Users browsing this forum: No registered users