Looking for C# programmers

What's new in the world of FRONTIERS

Looking for C# programmers

PostPosted by Railboy » Thu Dec 05, 2013 2:42 am

Hear ye, hear ye!

This post will be shotgunned all across the web very shortly but I'm posting it here first so FRONTIERS folks have first dibs. I've had really amazing luck working with you guys on game art - here's hoping I can repeat that experience with game programmers.

I'm looking for C# programmers to help with a variety of odd jobs for part-time contract work. Familiarity with the Unity engine is a plus but not required. Familiarity with any one of the following packages also a plus, but again these are NOT required:

  • PlayMaker
  • NGUI
  • TNet
  • Programmatic manipulation of Unity Terrain
I could post a lot of boilerplate stuff about wanting self-motivated types, etc. etc. but let's just skip that nonsense shall we? If you think we would get along send me an email at frontiers.game@gmail.com that includes the following:

  • A code sample or demo of your work - doesn't have to be pro, just robust and functional.
  • Your hourly / daily rate
  • Your working schedule / availability over the next 2 months
I'll be pairing people up with tasks that best match their skill sets and rates so don't be shy about telling me what you're good at and how much your time is worth.

Looking forward to hearing from you guys. Feel free to post questions below.
Language is to the mind more than light is to the eye.
User avatar
Railboy
Developer
Developer
 
Posts: 1733
Joined: Mon Jul 15, 2013 10:46 pm
Location: Seattle, WA

Re: Looking for C# programmers

PostPosted by postnjam » Thu Dec 05, 2013 11:59 am

Just wondering, what kind of tasks are you looking for us to do? I know a fair bit of C#.
User avatar
postnjam
Dungeon Crawler
 
Posts: 117
Joined: Thu Jul 18, 2013 8:36 pm
Location: Sawbridgeworth , UK

Re: Looking for C# programmers

PostPosted by Railboy » Thu Dec 05, 2013 12:36 pm

postnjam wrote:Just wondering, what kind of tasks are you looking for us to do? I know a fair bit of C#.


Almost anything you can think of, really. There are so many little tasks clogging up my to-do list I hardly to know where to start.

One mundane example: I have a data management class that needs to be made safer - error checking for empty path strings, setting default data paths reliably, etc. That one's pure C#, but other tasks get into more Unity-specific territory. One is loading a raw 16 file from disk and dumping it into a 2D float array for Unity to use as terrain heights. Another is helping me finish the ambient audio manager. Oh, here's a fun one - figuring out a (simple) way to change the Ocean's tide level beneath the Player controller without causing the controller to fall through the ocean collider, which is a trickier problem than you'd imagine...

If someone has a skill then I'll look for a task that aligns with that skill and find a way to hand it off to them. As long as they can write clean, robust code odds are they'll be able to save me some time.
Language is to the mind more than light is to the eye.
User avatar
Railboy
Developer
Developer
 
Posts: 1733
Joined: Mon Jul 15, 2013 10:46 pm
Location: Seattle, WA

Re: Looking for C# programmers

PostPosted by yarnevk » Thu Dec 05, 2013 2:34 pm

Railboy wrote:One is loading a raw 16 file from disk and dumping it into a 2D float array for Unity to use as terrain heights.

I could do that but then I would be ripping you off because I based my code off a bloggers code
Creating seamless terrain tiles in Unity
http://scrawkblog.com/category/terrain/

This project demonstrates how to use a editor script to automate the process of loading up a series of RAW file containing height data and creating a grid of terrain objects.

Can I use the code on your blog in my game?

Yes. You will need to sort out any problems you encounter with the code yourself however.

though it is done in as editor code it was easy to convert to a startup code since his .raw reader does exactly what you want though I found his tiling convention odd. He might accept a donation if you use his code, but he intends his blog posts to be more of ready to try project howto tutorials as he learns things himself. I also wrote a Morrowind terrain to .raw so I could use this which is something I can never release but that was fun exploring it again in Unity. I realized the guys doing OpenMorrowind are actually reading terrain incorrectly, I spent a long time reverse engineering the format, got it finally right, verified later by finding the proper code on one of the morrowind .esm utilities.

dynamically synthesizing, tiling, and editing terrain in code is much harder, some hints on that website but you need to read a lot of blog and forum posts to figure it all out. I thought you decided to go with your artists handcrafted terrain?
yarnevk
Pathmaker
 
Posts: 142
Joined: Tue Sep 17, 2013 2:48 pm

Re: Looking for C# programmers

PostPosted by Railboy » Thu Dec 05, 2013 5:20 pm

Well, that's handy! But even with this shortcut in tow there's still plenty to do - the code has to be incorporated, then tested six ways from Sunday on our terrain tiles to make sure they all work (especially with the byte order thing, ugh). Maybe trivial but it still takes time. There's also the next step of loading and adding the splatmap png to the terrain, and a few other steps as well. Again, all trivial but writing and testing each one is more time.

dynamically synthesizing, tiling, and editing terrain in code is much harder, some hints on that website but you need to read a lot of blog and forum posts to figure it all out. I thought you decided to go with your artists handcrafted terrain?


Given is still generating the terrain by hand; this just enables us to load raw terrain data from outside the program instead of relying on prefabs or the Resources folder. That way the data can be modded or replaced by players.
Language is to the mind more than light is to the eye.
User avatar
Railboy
Developer
Developer
 
Posts: 1733
Joined: Mon Jul 15, 2013 10:46 pm
Location: Seattle, WA

Re: Looking for C# programmers

PostPosted by yarnevk » Thu Dec 05, 2013 7:50 pm

Better for modders if using .png and .raw, though those formats are not as easy for some to grasp since really only terrain tools generate them, doing by hand or synthesis is not easy to get it right. Isn't this something your terrain program has coded already if they claim to support Unity import? The editor menu imports .raw but not .png splats. Unity has very little example documentation for terrain they assume everyone uses the editor.

I thought that site also did splats, I did a lot of deep unity forum searches trying to figure out how to do it but did not always keep my links. I also did a morrowind splat exporter, then got hung up on vertex colormaps as there is no stock terrain shader in Unity for that and Morrowind relied on on that more than splats to hide mismatched tiles, since splats in Morrowind had a wierd rule of only two neighboring splats despite having eight actual neighbors in the interpolation

I am writing a spherical world terrain synthesizer (earth scale like Outerra), six months in and probably two more years to go, as you discovered yourself before getting Given to use an existing terrain generator that ain't easy. Plan to put it on Unity store if I ever finish (still in Matlab prototyping no C# port yet), but since it is a hobby I get distracted by playing games so that is a long ways away! Giving my code a break over the holidays to play Skyrim which turns out to be even more frustrating....
yarnevk
Pathmaker
 
Posts: 142
Joined: Tue Sep 17, 2013 2:48 pm

Re: Looking for C# programmers

PostPosted by Railboy » Thu Dec 05, 2013 9:54 pm

The editor menu imports .raw but not .png splats. Unity has very little example documentation for terrain they assume everyone uses the editor.


Yeah Unity terrain isn't very well documented. That's partly why I'm looking to delegate these tasks - they're going to involve some groping in the dark. I do know that splatmaps are stored in terrain data in the PNG format and I've got some third-party tools that can swap them out programatically, though I haven't peered under the hood yet. Unity is very friendly towards PNGs in general and makes it easy to load and save them from disk, so that's a hoop I don't mind asking modders to jump through. As for .raw, Photoshop actually handles raw 16 files quite well, though modders will also be able to simply export .raw files from terrain sculpted in the free Unity editor directly.

I am writing a spherical world terrain synthesizer


Best of luck to you, that riverbed is lined with the bodies of better men than I.
Language is to the mind more than light is to the eye.
User avatar
Railboy
Developer
Developer
 
Posts: 1733
Joined: Mon Jul 15, 2013 10:46 pm
Location: Seattle, WA

Re: Looking for C# programmers

PostPosted by yarnevk » Thu Dec 05, 2013 11:32 pm

Maybe they store splats as .png to avoid .dds compression, but the object model is wierd since they are marked as textures you would have to set up the texture properly to make sure they do not get compressed on compile or your terrain will look nasty. see http://WWW.LoadImageIntoTexture (not sure how that would integrate with your server code some qualms on the forum about it). I think someone also posted an unofficial .png reader that reads the files out of the dir more directly.

I tossed my PNG code when I stopping working on Morrowind importing (though it would be damn fun to finish it clearly violates the EULA because I reverse engineered the format for purposes of importing into another game engine) It was actually easier to synthesize the splats on the fly than read them in for what I was really doing, most algorithms are simply height/slope based with a bit of noise maybe some layering.

So you need a array of SplatPrototypes with the texture, size and offset that each splat is going to use (same info as in the editor). Then you have the splat 3D array (setAlphamaps) where you import each splat as a plane in that array, where the plane index corresponds to the splat prototype array index. It is not actually a byte stream array nor RGBA Color or Vector4 that a true .png reader might do . Every 4 splats is a performance hit and each texel across splats must add to 1.0 (do not use Vector.normalize for this which is actually a vector power sum not magnitude sum) It may seem useful to get some 'free' brighter/darker by not adding up, but then distance terrain ignores the splats so it would mismatch. You can use the same texture in different splat planes with different offsets for layered blending to hide tiling and stretching, but there are some custom shaders that do that as well with completely different interface code for talking to the shader code.

Not applying for the gig as I hate interface programming work, I like to play with algorithms and interfaces just get in my way. But hope that points in the right direction.

And don't get my started on rivers, a simple water flow algorithm across a terrain tile is easy, getting water to flow across synthesized terrain that does not exist yet in the tree (I do not use octrees of perlin noise this code is my own unique invention) unless you are there that is also curved depending on where you are like I am doing? My world might have lakes instead of rivers, although people expect canyons and the only way to get those is water erosion. Anyways I am still trying to get spires on my mountains to not be taller than the mountain itself, so lot more dead bodies to step on.
yarnevk
Pathmaker
 
Posts: 142
Joined: Tue Sep 17, 2013 2:48 pm

Re: Looking for C# programmers

PostPosted by SignpostMarv » Sun Dec 08, 2013 2:53 pm

Railboy wrote:One is loading a raw 16 file from disk and dumping it into a 2D float array for Unity to use as terrain heights.


You'll recall I did this in JavaScript already :P
User avatar
SignpostMarv
Alchemist
Alchemist
 
Posts: 287
Joined: Thu Jul 18, 2013 2:28 pm

Re: Looking for C# programmers

PostPosted by oscarkool » Thu Jan 02, 2014 4:49 am

I've been thinking about dabbling into Unity. Is Frontiers using a 3rd party tool to generate the terrain? Just curious how I can go about building something large like you guys have done here. Wish I was good at C#, I'd love to get some experience
oscarkool
Butterfly Painter
 
Posts: 1
Joined: Thu Jan 02, 2014 4:48 am


Return to Announcements

Who is online

Users browsing this forum: No registered users and 0 guests

cron