Fishbowl effect correction in raycasting engine suggestions (pseudo 3d projection)

I’m writing a simple raycaster in golang and I have some problems understanding perspective correction. The code is simple, the main rendering loop is this:

    curVector := playerVector.NewRotated(-curFov / 2)     rotateStep := curFov / float64(screen.Width()) // Angles per screen row     // Traverse each row of our screen, cast a ray and render it to screen buffer     for i := 0; i <= screen.Width(); i++ {         curVector.Rotate(rotateStep)          hit, distance, tile, tileP := rayCast(curX, curY, curVector, viewDistance)          if hit {             // distToHeight is basically linear (screen.Height()/distance)             drawTexturedWallColumn(screen, tile, i, distToHeight(distance, screen.Height()), tileP) // Project walls on screen         }         // drawSpritesColumn(screen, i, curVector, distance) // Project sprites on screen     } 

So I just cast rays with even angle intervals and get this fishbowl effect: enter image description here

So, I understand that the problem is with angle intervals and sphere projected rays with the same length. I found this question How can I correct an unwanted fisheye effect when drawing a scene with raycasting? and tried to implement the same logic:

leftVector := playerVector.NewRotated(90)     // Traverse each row of our screen, cast a ray and render it to screen buffer     for i := 0; i <= screen.Width(); i++ {         progress := float64(i)/float64(screen.Width()) - 0.5 // -0.5 to 0.5         stepX := (playerVector.X + progress*(leftVector.X*2)) // *2 to make 90 FOV         stepY := (playerVector.Y + progress*(leftVector.Y*2))         curVector := Vector{X: stepX, Y: stepY}          hit, distance, tile, tileP := rayCast(curX, curY, curVector, viewDistance)          if hit {             // distToHeight is basically linear (screen.Height()/distance)             drawTexturedWallColumn(screen, tile, i, distToHeight(distance, screen.Height()), tileP) // Project walls on screen         }         // drawSpritesColumn(screen, i, curVector, distance) // Project sprites on screen     } 

But the result is almost the same (FOV variable is not used here but it’s around 90, it’s not important at the moment). The difference is that this one has a more “linear” fishbowl effect because of evenly spaced intervals (progress variable): enter image description here

So, I don’t know how to fix this, I also tried to use perpendicular distance (distance*cos).

Few updates suggestions

Hi! I have few suggestions if added to ser , they will be too much helpful
1) Select verified links based on country. 
Project->right click->show urls->verified->select->links based on country
2)Export unused accounts from projects.
If we upload accounts to a project and run the project but decide to stop the project before all the accounts gets processed. So the leftover accounts can be exported and used in the same or in any other project. It helps in lots of ways. First all of the accounts will be used evenly . Links overwriting will be avoided. Same accounts getting used again quickly can lead to deletions.
3). Add engines selection so that selected engines verified links from the project can only be added,

I hope these can be worked out. Hoping for the best.
Thanks again,

Suggestions for show how many days? Passing the International Date Line

Little background Let’s say you fly from the United States to Japan and suppose you leave the United States on Tuesday morning. Because you’re travelling west, the time advances slowly thanks to time zones and the speed at which your aeroplane flies. But as soon as you cross the international dateline, it’s suddenly Wednesday.

Below image from google flight, which is +2 means taking 2days gap. this +2 doesn’t make a sense for me.

enter image description here

D&D high-difficulty / technical character build suggestions

I have always been a huge fan of D&D style derivatives, but I have never actually played D&D itself. (Baldurs Gate (I & II), Final Fantasy VII+, Magic the Gathering, Oblivion, Fallout 3+).

My friends have convinced me to play my first campaign with them (I don’t know much more than that), I told them I wanted run-of-the-mill D&D (3.5), no cheesy gimics when possible. (I want it to be hard)

I know this is a very open question, with a few parts, so try not to blow up at me after the first sentence(I am only 1/5 through the 3.5 core “manual”):

What are some general character genres that might be typically reserved for mid-high level veterans?

I want a D&D character that is going to give me a hard time, but can achieve functional synergy if played correctly. I don’t want the strongest class, or the most brokenly powerful . I am looking for something that requires careful balance and tactical execution. Doesn’t need to be fun (the harder I have to work, the more fun I have).

After overviewing the manuals, my attention is first drawn to Bards and Rogues. But I start getting lost in the specialization/multiclassing decisions. And while I’m sure I could mash together a crippled Thief/Bard on my own, I don’t want to be an jerk to the other guys.

- I like sneaking - I like traps/poisons/buffing/debuffing - I like micro-managing my strategy and execution at all times 

My favorite playthough in Fallout New Vegas was: sneak, unarmed, and explosives (with lockpicking and science as minors). I ran around naked with a backpack full of mines and a handful of grenades. (even then it was still easier than I had hoped, even with a difficulty modpack!).

My last playthrough of Skyrim was: sneak, alteration/conjuration, and alchemy (with minors in destruction and daggers). Ran slim on armor (so I could swing my dagger while quickly running backwards), using glyphs and summoned creatures to stage my ambushes. Boss battles would require crazy amounts Master Health Regen and Master Magic Regen.

Neither of the previous descriptions were particularly powerful, and in the hands of most casual gamers would have led to many rage-quits (only because a winning synergy took more patience and discipline than they were willing to put forth).

Appropriate button label suggestions

I’m building a suggestions system to provide assistance to course providers when uploading their course advert. We provide assistance around spelling and grammar, language and structure and content. Unfortunately, due to technical constraints, we have been forced to create a system that has to be triggered by the user.

If the user enters some text into the course description field, they have to click a button to see the recommendations. The problem I’m having is finding an appropriate label for this button.

enter image description here

Currently, the label is ‘Check’ but I don’t think this is clear enough. Any help would be greatly appreciated.

nautilus/nemo/other file manager – suggestions for more accessible GUI-based owner management?

Short version

TL;DR – When running nemo/nautilus with elevated privileges*, there are a TON of users/groups on the permissions tab… they’re all jammed in non-searchable drop-downs that don’t have any hotkey support. Looking for tweaks/alternate file managers/chmod gui-wrappers so I can change ownership from GUI without the accessibility nightmares. Any suggestions?

More Info

I have several versions of Ubuntu 18.04 installed in Virtualbox. I have primarily been using Cinnamon desktop/nemo up to this point.

Mostly, I am extremely happy with this desktop. But GUI-based ownership changes (from root) are frustrating because a TON of entries are jammed into a drop-down that I can’t search and can’t use hotkeys from (e.g. to press “r” to jump to “root”, etc). Launching terminal is reliable but slow to type out names when I’m in a hurry.

Note: That this isn’t really an issue when running the file manager from non-root accounts as the owner is not editable and only a few groups are displayed.

I generally run into this I am trying to fix botched ownership perms on shared folders that the current user doesn’t own. And it’s generally never as quick and easy as running a single chown -R command.

I have encountered this same accessibility design in:

  • nemo v.3.6.5 (ubuntu 18.04/gnome+cinnnamon)
  • nemo v4.2.3 (in a popular sub-distro that I’m apparently no longer allowed to mention here)
  • nautilus v3.26.4 (ubuntu 18.04/gnome).


I am interested in finding a GUI-based solution that meets these criteria:

  • Works on some flavor of Ubuntu 18.04 / bionic (bc I prefer LTS editions)
  • Decent user accessibility for lists of 50-100 users/groups (e.g. at least attempts to deal with non-trivial list size such as by having hotkey support, search filters, option to hide service accounts, or something else)
  • No issues running under root (e.g. via pkexec or whatever). Only mentioning this because I’ve run across a handful of apps before that flat-out refuse to run under root.

At this point, I’m just hoping somebody knows of an option that I don’t… I don’t particularly care if this is a nemo-specific tweak, a system configuration, some obscure build option, a different file manager/desktop environment, some external app that wraps a gui around chown (as long as I can throw it in a nemo-action and pass it the path), etc. Mostly just looking to avoid the extra runaround of launching terminal and typing out longer names by hand when I’m in a hurry.

* Also, when I say I am “running as root” / “running with elevated privileges”, I mean the option that appears in the nemo/nautilus UI rather than me launching directly with sudo / pkexec / etc.

Steps to view dialog issue:

  1. Create a folder named “test” on desktop or wherever that is owned by non-root account
  2. In Nemo, right-click > “Open as root” > enter password. Or for nautilus, run pkexec env DISPLAY=$ DISPLAY XAUTHORITY=$ XAUTHORITY nautilus to open with admin privileges.
  3. With the admin instance, right-click on the “test” folder > Properties > Permissions tab
  4. Observe that ALL the service accounts and groups are displayed with no means to filter them / no checkbox to hide them. Observe that pressing “R” in the drop-down does NOT jump to or select “root” (or whatever the first account starting with “R” is). In my case there’s something like 50 users displayed (3 of which are non-service accounts) and something like 80 groups displayed (8 of which are not related to service accounts). For me, this is an accessibility nightmare and it makes searching things out almost as painful as needing to launch the terminal and type it out by hand.

What I’ve tried:

I’ll follow-up if I find discover anything that works but so far, I have tried the following:

  • Permit was almost exactly what I am looking for except that it appears to require typing out the names instead of picking from a list/drop-down/etc. Unfortunately, I have absolutely zero GTK skills at the moment (although I might revisit this when I have more time if nobody has better suggestions).
  • Ubuntu 18.04.2/gnome – Couldn’t figure out how to run as root initially but pkexec env DISPLAY=$ DISPLAY XAUTHORITY=$ XAUTHORITY nautilus eventually worked. Not surprisingly, this seems to have the same issue as nemo.
  • Ubuntu 18.04.2/cinnamon – after installing cinnamon and running nemo as mentioned above, this doesn’t do what I am looking for.
  • Kubuntu 18.04 – Couldn’t find a way to launch dolphin as root so not able to test. User/Group fields were grayed out for me when running as the default non-root account on livedisc.

I have not yet tested other file managers (planning to test thunar but not really familiar with what all is out there).


The non-searchable drop-down with lots of entries and no hotkey support that appears in (admin/root/pkexec) nemo and nautilus > properties > Permissions tab.

Non-searchable drop-down with lots of entries and no hotkey support

Character development suggestions for a low Dexterity character?

I read in some book (forget which) that players should use a low ability score as an opportunity for character development; for example, a low Con character could have insecurities and be very defensive about always getting tired/weak, and as a result seldom asks for help.

Similarly, how could you turn a low Dex score into an interesting character trait?