Homeā€ŗ Coding, Scripting, Shaders

Tech Artist - What are you working on: FOREVER Edition!

1356756

Replies

  • JohnnySix
    Offline / Send Message
    JohnnySix polycounter lvl 16
    ... double post..


    Edit - May as well make use of the glitched double post.


    Made a wireframe tutorial with mental ray - been using this a while so thought I'd share with anyone who hasn't yet discovered the material override thing in 3dsmax.

    [ Link ]
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    isometric camera projection engine for a web game:

    I had 2 days for this proof of concept thing: kind of my way to convince other members of the team to go for a certain engine direction without them understanding anything at all before. It was the same with Magnum Force 10 for which I took a few days as well just to create a proof of concept to convince the rest of the team to go with that technology. And its something I really enjoy doing at work.
    This idea is a bit related to stuff I did for curing colors as well.

    anyway check out the demo (click anywhere to switch to the debug mode)
    online demo:
    http://renderhjs.net/bbs/polycount/iso_project_engine/

    soap_iso_engine_concept_01.jpg

    I basically have 2 representations of the level similar to normal mapped 3d models these days. One is the high poly and beauty shot render version, the other a super low poly model with only the faces you can go behind, under and see.
    The low poly model is used to calculate in 3d space the depth towards the view and with that mask out parts of the interactive and moving objects that are covered.
    The game (will reveal more as soon as the team starts on it) will have static isometric views but moving characters. The characters will probably be rendered in 3d as well but in 4 directions and with a set of animations.
    Maybe the background will have some loop animations later like some waterfall for example, rotating vans or other stuff that could be nicely embedded in the background rendering - it could even overlap a simplified 3d low poly face with a transparent animation adding some impressive effects not seen in many other isometric games before.


    edit:
    Although already posted and news from last week but I have been working a bit again on TexTools:
    textools_3.5_context_menus.gif
    Namely re organizing the interface and adding context menus, link to the post:
    http://boards.polycount.net/showpost.php?p=1092697&postcount=83
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    extended some of the level editing scripts to support escalators or lifts and spawning points
    iso_projection_engine_maxDev_02.gif
    A maxscript generates in a dirty way right now some source files that are getting compiled within the swf file of the engine.
  • Harry
    Offline / Send Message
    Harry polycounter lvl 13
    so fucking pro renderhjs. forever an inspiration
  • Spatz
    Offline / Send Message
    Spatz polycounter lvl 13
    Harry wrote: Ā»
    so fucking pro renderhjs. forever an inspiration

    agree...
  • commander_keen
    Offline / Send Message
    commander_keen polycounter lvl 18
    I have been prototyping a simple space RTS game off and on recently:
    Unity Web Player

    Its inspired by Homeworld, but I want it to be much simpler. The focus is on unit buildup for defence VS unit attack orders and very simple resource management. The user only directly controls the Mothership and gives generic attack/defend orders to x percentage of their units.
  • SimonT
    Offline / Send Message
    SimonT interpolator
    looks really cool. the ships have a really nice movement!
  • Peris
    Offline / Send Message
    Peris polycounter lvl 17
    that's so cool!!!
  • Harry
    Offline / Send Message
    Harry polycounter lvl 13
    I have been prototyping a simple space RTS game off and on recently:
    Unity Web Player

    Its inspired by Homeworld, but I want it to be much simpler. The focus is on unit buildup for defence VS unit attack orders and very simple resource management. The user only directly controls the Mothership and gives generic attack/defend orders to x percentage of their units.


    fuck yeah ramming attack
    6996421e4480ec57500b6fba7469f384.png
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    worked on a UVW to spline converter script that supports 2 modes:
    textoolsuvsplines.png
    In one of the modes it only generates splines for the outline of the UV shells which I find convenient if I block out the vector in Flash using the paint bucket per shell. I am still playing with a few ideas on how to use this data in other tools besides Photoshop (import as paths for example).
    Possible tools could be: Illustrator, Flash but maybe even some mix stuff in 3dsMax as well like using the UV as a base to create a cloth simulation using the garmet maker. Possibilities will certainly increase with this option.
  • rumblesushi
    Interesting stuff render. What kind of game is it going to be?
  • Eric Chadwick
    Have you seen PSD path unwrapper? Very similar idea.
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    RumbleSushi: A web game for a big US company, I am a the developer for this game. The project starts in 3 weeks but I prototyped in advance to convince the directors on the project to go with tech solution instead of a tile based iso engine. My main reason for this was to have more unique graphics (no tile patterns, long casting gradients / shadows, free choice in style and execution).

    EricChadwickYes I am aware of that plugin (really nice one) but I want to create a workaround because I want to avoid additional plugin installations so that I can bundle it with TexTools.
    There is always the options to install that one in addition to TexTools and other tools. Oh and mine can be useful for experimental stuff inside max or other tools. Currently I have a project that uses vector graphics as a texture source so this comes in handy for me atm.


    Started working on a UV canvas resize script:
    textoolsresizecanvas.png
    Similar to the stuff in Photoshop it lets you extend the UV canvas so you can easily extend or decrease back a Texture size.
  • rumblesushi
    Is that project freelance or for the company you work for?

    I don't blame you for using 3D framework even if it's isometric though, I hate isometric 2D ;)

    The style of the game, it's hard to decipher what genre the game is going to be, is it action or puzzle or adventure?

    I'm surprised this thread isn't bigger already, this forum is techier than I thought it would be.

    I'll post my 3D engine here in a bit.
  • rumblesushi
    A few months ago I started building myself a 3D engine from scratch, geared 100% towards making games.

    Well - the engine is almost complete, and this thread would be a good place to post some demos.

    I joined polycount to learn more about the level design and modelling side of game development by the way.

    My engine has been built for speed from the ground up, I've worked tirelessly getting things running as quick as possible. Not just rendering speed, but also very fast culling routines and deferred rendering/processing, per model and per polygon - not only so I can have a lot of enemies on screen, but so I can have big levels.

    Not only culling, but very fast per model transformations and movement. In a proper low poly environment like this, I find it more impressive to have a lot of very low poly objects, rather than just a few slightly less low poly objects. I love games that have hordes of enemies etc.

    I'm pretty sure it's the fastest Flash 3D engine around actually.

    http://rumblesushi.com/snowscape.html - this demo has some basic per polygon collision detection, some low poly terrain generated from a heightmap, 1000 trees, and 12 ice boulders. Use W or the up key to accelerate, and the mouse to steer.

    Here are 2 demos showing a lot of objects on screen at once, with basic collisions and physics.

    http://rumblesushi.com/katamari_baldwin.html

    http://rumblesushi.com/hachi_roku.html

    Here's some older stuff, running on my F9 build that is not as quick overall, but does a good job of showing the fast handling of multiple moving objects.

    http://rumblesushi.com/city_F10.html - This demo has 150 basic buildings, plus 500 moving flowers, and mip mapping (I had to use mip mapping to get rid of the nasty moire effect from the striped textures). WASD or arrows keys to move, mouse to look. Press V to enable vertical look.

    These next demos show my super quick flock code -

    http://rumblesushi.com/sea.html - An underwater scene.

    http://rumblesushi.com/flock_01.html - some undulating flowers. Press C to switch to a rollercoaster cam.

    http://rumblesushi.com/flock_02.html - 360 six polygon spaceships, flocking.


    I talked mainly of the speed in the above paragraphs, because that's what I've worked on most, every day, for a few months. But I've also put a lot of effort into cameras - I think that's a very important part of 3D games. I've got a first person cam, and also a slick tracking cam and replay style cam that you can see in the flock demos.

    Now the engine is nearly complete, I'm taking a bit of a break from programming at the moment, and focusing on learning modelling and level design.

    But engine wise there's only 2 major things that need doing before starting work on my first game. First, I need to develop the collision detection, to collide with multiple polys simultaneously with a fast broadphase, and also, to import animation. The first one is up my street, and should be fun, the second one not so much. My fort
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    Is that project freelance or for the company you work for?
    I don't blame you for using 3D framework even if it's isometric though, I hate isometric 2D ;)
    I don't blame you for using papervision either ;)

    Its filed under R & D for my company for a project that is about to start later. Its part of the concept phase before we hit with a more detailed concept to the client and I don't freelance.
  • pior
    Online / Send Message
    pior grand marshal polycounter
    Rumble : this makes me all kind of excited!!!
  • commander_keen
    Offline / Send Message
    commander_keen polycounter lvl 18
    Did a little more work on the space RTS, but still no real gameplay.
    Unity Web Player

    shot01.jpg
  • rasmus
    Keen: Looks lovely, now make some gameplay!
  • pior
    Online / Send Message
    pior grand marshal polycounter
    Hey keen, just wanted to let you know that in its current state the game is not really compatible with macbooks touchpads. I understand that it is a small part of the target but anyways here goes : the zoom kinda works, but it goes crazy very fast and eventually ends up reloading the page (conflict between what the game expect, and the gesture based browsing in opera)

    The cool thing is, if you do manage to make it work for touchpad based navigation, it means itll also work perfectly on all those new tablet/touch devices appearing these days.

    Hope this helps!!
  • rumblesushi
    I don't blame you for using papervision either ;)

    Its filed under R & D for my company for a project that is about to start later. Its part of the concept phase before we hit with a more detailed concept to the client and I don't freelance.

    I take it you mean for not using Papervision ;)
  • rumblesushi
    pior wrote: Ā»
    Rumble : this makes me all kind of excited!!!

    Good, you'll be more excited when I start making proper games, running at 60 fps ;)

    Also, I obviously can't compete with Unity graphics wise - to put it simply, Unity uses the GPU, my engine is 100% software. But the great thing about choosing to do this in Flash is of course the userbase, and the fact that a proper 3D game in Flash is a big deal.

    Keen - out of curiosity - what's the rendered poly count per frame on your demo, roughly?
  • SyncViewS
    Offline / Send Message
    SyncViewS polycounter lvl 13
    Did a little more work on the space RTS, but still no real gameplay.

    Are you sure? After ramming all three enemy motherships at full speed, mine blew up! :D

    By the way, it is really interesting, I'm eager to see how it develops.
  • piippo
    Did a little more work on the space RTS, but still no real gameplay.
    Unity Web Player

    I'm totally loving this, even as is - it's great fun ;) :thumbup:
  • Szark
    Offline / Send Message
    Szark polycounter lvl 12
    Did a little more work on the space RTS, but still no real gameplay.
    Unity Web Player

    Really nice work, keen!
  • Ged
    Offline / Send Message
    Ged interpolator
    thats so cool keen! is it gonna be a bit like homeworld?
  • commander_keen
    Offline / Send Message
    commander_keen polycounter lvl 18
    I added a lot of gameplay related stuff in:
    Unity WebPlayer

    nullspace_01.jpg

    I created a pretty hacky event driven mission scripting system. Heres the mission code used for this demo:
    	MEC.BeginAutoAdd();
    	//Main Thread
    	MEC.CurrentThread("GettingStarted");
    	MEC.ShowDialog("WelcomeDialog1", "Oh hi there, welcome to Null Space. Lets start with a basic overview of the Null Space world...");
    	MEC.ShowDialog("WelcomeDialog2", "Null Space is filled with lots of mean unpleasant, and downright ornery lifeforms... You must be prepared to deal with them when the time comes...");
    	MEC.ShowDialog("WelcomeDialog3", "Lets get friendly with your ships controls...");
    	MEC.ShowDialog("WelcomeDialog4", "Left Click and hold somewhere in the world to move your Carrier ship... Remember you can move your Carrier ship up and down too...");
    	MEC.OnTriggerExit("MoveTriggerTest", "[[MOTHERSHIP]]", "StartTrigger");
    	MEC.ShowDialog("WelcomeDialog5", "Hmm... Hmm... Pretty good! To rotate your camera around your ship hold Middle Mouse button and drag the mouse... You can also zoom in and out with the Mouse Wheel...");
    	MEC.ShowDialog("WelcomeDialog6", "Move over to that group of asteroids... They contain shiny green crystals which you can use to build more ships...");
    	MEC.OnTriggerEnter("MoveToAsteroids", "[[MOTHERSHIP]]", "AsteroidGroup1");
    	MEC.ShowDialog("WelcomeDialog7", "Coolbeans! Right now you cant collect these pretty chrystals because I havent implemented it yet... But thats ok because you have infinate resources to build ships :)");
    	MEC.ShowDialog("WelcomeDialog8", "Collecting resources is not the only way to make big bucks though... Infact destroying enemys will give you cash too!");
    	MEC.BroadcastMessage("SpawnSet1", "EnemySpawner1", "Spawn", 0);
    	MEC.WaitForTimer("SpawnDelay1", 0.25);
    	MEC.BroadcastMessage("SpawnSet2", "EnemySpawner2", "Spawn", 0);
    	MEC.WaitForTimer("EnemyMessageDelay1", 1.0);
    	MEC.ShowDialog("WelcomeDialog9", "Oh no! Looks like some blue ships saw you getting too close to their asteroids... This is a good opportunity to tell you how to build stuff...");
    	MEC.ShowDialog("WelcomeDialog10", "Notice the buttons on the upper right of the screen. Click them to start building some ships. Build some fighters and go take care of those blue guys.");
    	MEC.OnDestroy("WaitForEnemysToBeKilled", "IncomingShip");
    	MEC.WaitForTimer("EnemysDestroyedDelay", 1.5);
    	MEC.ShowDialog("WelcomeDialog11", "Good Job!! Right now you only have access to 1 of the fighter class ships, but when you progress through Null Space you will gain access to much bigger and better ships. Thats the end of this test tutorial demo :)");
    	
    	//Crazy Spawn Thread
    	MEC.CurrentThread("CrazySpawnThread");
    	MEC.WaitForEvent("CrazySpawnWait1", "WelcomeDialog11");
    	MEC.WaitForTimer("CrazySpawnInitialDelay", 2.0);
    	MEC.BroadcastMessage("CrazySpawn1", "EnemySpawner2", "Spawn", 0);
    	MEC.WaitForTimer("CrazySpawnDelay1", 3.0);
    	MEC.ReturnToEvent("ReturnLoop1", "CrazySpawn1");
    	
    	MEC.EndAutoAdd();
    
  • SimonT
    Offline / Send Message
    SimonT interpolator
    so great! i play it :D wow! great progress!
  • Funky Bunnies
    Offline / Send Message
    Funky Bunnies polycounter lvl 17
    oh man, that's very badass!
  • Eric Chadwick
    Keen that is indeed really cool, nice work.

    I just got a signoff from my former employer to post this.
    Technical Artist Guidelines
    It lists what we expected from our Technical Artists, what TAs did for the studio at large, etc. There's also a bunch of links at the end for more info on the subject.
  • Xoliul
    Offline / Send Message
    Xoliul polycounter lvl 14
    Hey Eric, I was just talking about this: wonder what you (or others here) think about it; how rare are good TA's? Are they hard to come by? Seem to be quite a few on Polycount here, but you can't really go by that.
  • Eric Chadwick
    I think these days they're a bit more rare than in the other disciplines... good artists, good programmers, etc.

    Takes a particular mindset to make a good one, a mix of the visual and the technical. Tech Artists still have to be practicing artists, not just coders with a creative bent, so they can design tools that artists can use. But they also have to enjoy coding, they can't be just artists using off-the-shelf tools.

    Some TAs are being hired from the job pool, but I think most TAs are still developed internally. That's just a hunch though.
  • SyncViewS
    Offline / Send Message
    SyncViewS polycounter lvl 13
    Hey Eric, that's the job I'd really like and feel I'm cut out for, but one of my major issue is I don't know how to make it acknowledged: I mean, in big studios like Blue Fang Games, it seems to be a well defined professional position, but I'm afraid, with my current knowledge, to look neither a good artist (I've got a few good but not superstar assets) nor a good programmer (I haven't coded UnrealEngine 4 yet), because it seems a high degree of specialization pays off these days. How do you sell TA skills without looking like a "not over the top" person at art and code? As an example, I applied for a job near home and never got a reply, while they seem to be in real need of people by all levels. Right now I'm in a deep review of C++, but that cuts away every effort in the "artistic department", and vice versa when I decide to make some new asset. How to deal with this job-wise?
  • Eric Chadwick
    Well that doc has a fair bit of idealism in it, what we aspired to.

    I for example am not fluent in any scripting language, I just pitter-patter here and there. So my role as Lead TA was mostly a managerial one, helping the two TAs manage their efforts and helping them communicate better with the rest of the studio, all the while creating and fixing art assets.

    Anyhow, in the last year Blue Fang laid off the entire console/PC game dev team. Now they only do Facebook-style social games. No 3D TAs there anymore. :(

    I'd advise just keeping at it. Focus on the core TA skills: rigging and scripted tools. Showing a visual arts aptitude is a plus, but nowhere near as important as scripting/rigging ability.

    In general though the TA role is not well defined. Most commonly it's a firefighter role, the Fixer.
  • Harry
    Offline / Send Message
    Harry polycounter lvl 13
    keen i advise more stylised geometric particle effects to support the awesome feel of the prototypes :D

    and i think im ready to post in this thread now
    I know there are probably 50 scripts which do this already, but i'm learning and i'm happy with the progress i'm making

    [ame]http://www.youtube.com/watch?v=QjnBOpmzRoE[/ame]
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    Harry and I were developing things at the same time :) been chatting the whole evening about our stuff :poly142:

    Texture Ripping tool

    textureRipper_04.gif

    Online demo (without clipboard support)
    http://renderhjs.net/bbs/polycount/textureRipper/dmo1/demo.swf

    drag 2 line to create a shape, after that you can tweak the white and orange boxes. Del key to remove the current shape, backspace to remove all shapes.


    thread:
    http://boards.polycount.net/showthread.php?t=54694
  • kodde
    Offline / Send Message
    kodde polycounter lvl 18
    renderhjs> Nice, looks sweet.
    I don't really get how the first example with the rounded corner on the lattice is useful? Seems like some undesired stretching. Whats the idea there? Having bendy options like that is probably useful for rounded/spherical shapes you want to sample of, but that surface seems quite flat to me.
  • commander_keen
  • Neox
    Offline / Send Message
    Neox veteran polycounter
    hm its completely black for me :/
  • SimonT
    Offline / Send Message
    SimonT interpolator
    For me too :,(
  • leslievdb
    Offline / Send Message
    leslievdb polycounter lvl 15
    must be black voxels :p
  • commander_keen
    Offline / Send Message
    commander_keen polycounter lvl 18
    hmm strange, worked on my macbook.

    EDIT: fixed now:
    http://www.keenleveldesign.com/pimp/voxelrenderer/VoxelRenderer_Wip_02.html

    it uses a volume slicing technique which is desribed here at t the bottom of the page. I have an idea for a seemingly better method without rendering many overlapping planes.
  • Pedro Amorim
    So many awesome things in this thread :D
  • Spatz
    Offline / Send Message
    Spatz polycounter lvl 13
    works here > macbook with windows 7
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    although I wrote already in seperate threads, some stuff I did recently:

    updated and released TexRipper a adobe AIR (mac, win, linux support) app that rips textures out of anything within your clipboard.
    gingerbeer.jpg
    release post:
    http://boards.polycount.net/showthread.php?t=54694&page=3#52


    Fixing up a working script for TexTools that lets you relax existing UV's with ABF and or LSCM by using the free RoadKill as a hook in Max.
    http://boards.polycount.net/showthread.php?t=71230 and http://boards.polycount.net/showthread.php?t=72045
    I just need to solve the merge imported OBJ UV's somehow on the stack of the selected object - but that should be done by today or tomorrow.
    So its just selecting a object that has already UV's, run the script and it unwraps and relaxes the UV's based on the open edges in the UV. That way no additional seam marking or wrapper is needed.


    I was invited at DrD studios here in Sydney (about 200 people doing FX and char animation) talking about rapid game development at soap. I wrapped up some demonstrations of current stuff I work on to show, maybe I can show the one or other piece online as well.
  • Neox
    Offline / Send Message
    Neox veteran polycounter
    ginger beer :O
    i want some here

    very cool stuff!
  • Michael Knubben
    Neox: I found a few places in holland where you can get it, are there any export-shops around there?
    Actually, thanks to the multi-cultural area I live in our local supermarket even has it, woo. Not cheap, but totally worth it.
  • rooster
    Offline / Send Message
    rooster mod
    *waves hand* also a bundaberg fan, from the nice sandwich place down the road..

    @ keen: fantastic stuff so far man :). When you build up your ai, i would maybe add some stuff to gauge the threat to your ship, as i noticed every fighter went after a couple blue on one side while my ship was approaching a whole bunch of blues, and i really would have chosen 90% of my ships to get over there and protect me but they stayed back fighting the 2
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    been playing with some voxel scripts:
    voxelrenderscripts01.gif

    The idea is to generate voxel data (for a flash engine) based on 3d mesh/poly geometry with per voxel texture colors.
    One script creates a volume of voxels, the other one uses the render mechanic in max to read out the g-Buffer of a rendering and extracting the zDepth values and uvPosition values.
    Maybe I will end up mixing the 2 techniques to get a full 360 deg. voxel object. A guy at maltaanon.com has a nice working script though not released so far:
    post.jpg
  • commander_keen
    Offline / Send Message
    commander_keen polycounter lvl 18
    I have also been looking at vector to voxel conversion. I have an idea for one method which would only work correctly with a closed or almost closed mesh, unless you dont care about filling out the inside of the volume.

    The idea is to do a raycast in the -z and +z direction for each x and y voxel row between the mesh bounds. The raycasts would gather every point they hit and then sort them by distance to the -z start position. From those 2 sets of sorted points you could figure out the volumetric row.
1356756
Sign In or Register to comment.