• What Are You Working On? May 2015
    1,601 replies, posted
[IMG]http://puu.sh/hXLtn/7fc43f84a4.png[/IMG] [IMG]http://puu.sh/hXLdi/158f3930d5.png[/IMG] [IMG]http://puu.sh/hXLm2/6219f5ef10.png[/IMG] [IMG]http://puu.sh/hXLnD/d7bb2e404e.png[/IMG] [IMG]http://a.deviantart.net/avatars/f/i/fieryroach.gif?2[/IMG] [editline]e[/editline] i had a problem with my dong so i made this little script
I just realised that I can't work much further on my game skeleton, I need to start making a game. But I have no ideas. I would really love to find some classic single player game concept and mutate it into a multiplayer game. [editline]23rd May 2015[/editline] Multiplayer hotline miami?
[QUOTE=FullofCunts;47787468]-snip-[/QUOTE] How does that even run? You have weird indentation on the while loop.
I recently acquired an [url=http://americanhistory.si.edu/collections/search/object/nmah_1214979]Amsler Type 2 Polar Planimeter[/url] from a French antiquarian, for which [url=http://www.andrewmcwatters.com/planimeter/]Planimeter[/url] is named after. The device is roughly 119 years old. [t]http://ids.si.edu/ids/deliveryService?responseType=location&id=NMAH-AHB2010r4646-000001[/t] [t]http://i.imgur.com/7mkR2dT.jpg[/t] [t]http://i.imgur.com/VHCqLev.jpg[/t] I like the chest in which it was sold in in the 1800s. I took the colors from the chest, and designed a rough chest prop for Vertex Adventure from them. [img]http://i.imgur.com/QjA7W7P.png[/img] It needs some work to conform to the art style, and I can't perceive depth with the prop right now. I'm not that great at pixel art, yet, but I'll work on it. Ryan is working on Vertex Adventure right now. He needed to know how payload handlers work for Grid. [url=www.andrewmcwatters.com/grid/api/payload.setHandler]I wrote a method article about it.[/url] I'm writing at least one article a day for Grid's API documentation and tutorials. [img]http://i.imgur.com/1wgEWVY.png[/img] I plan on us being on other game development sites by the end of the year, perhaps in just the next month. I make daily goals for our projects now, and it's helped me continue to grow the projects steadily, unlike HL2:SB which was driven by spur-of-the-moment development for features and bugfixes.
I always had this "game" idea. 2nd stalker zone simulation. No, it's not just Stalker because it's a [i]simulation[/i]. The idea is that the zone is randomly generated around a player city. Players control a stalker each. But not directly. Each stalker is an AI coded in python. Players can access some methods of their stalkers and change it. So the goal is to code parts of AI for your stalker and watch him live in the world with it. For example the player will have access for the function that prioritises stalker's goals. The function receives a list of asorted things he can do and is expected to return a list of things in whatever order the player sorted them. (something like [ doquest, rest, sellloot ]) Players can implement how their stalekrs fight, create their own activities, rules for interacting with other stalkers. Of course it's all done via game API that allows to access stuff that is handled by the server. For example what your stalker is seeing within his range of sight, his current goals etc Also when your stalker finds items like weapons or consumables you gain the ability to manually arrange his inventory. If you equip an item you can access the item's API in your code. For example if you equip a sniper rifle you can use "inventory.primary_weapon.sniper_shot(target)" in your combat code. After you have coded what you wanted you press the play button, the code is uploaded to the server, and you watch your stalker live. Shoot monsters, investigate new lands, trade items, share info with stalkers, drinking vodka. Then you spot flaws in your stalker AI and improve the code. My problems with that idea is that it's hard as fuck and not marketable.
Oh, also Ryan will probably be the lead maintainer for Grid as I step away to work on assets and game code for VA eventually. He seems trepidatious about it, but I'm always there for him as reference.
Those 'shared' and 'version' buttons look so out of place.
Like literally out of place? Or the design doesn't mesh with the rest of the site? I accidentally forgot a style on the shared label, it's suppose to be on the right hand side of the article. Perhaps the labels should be on the left hand side?
[QUOTE=TheEyes;47787719]How does that even run? You have weird indentation on the while loop.[/QUOTE] Don't underestimate the power of the dong. [video=youtube;pENfrmQ4Joc]http://www.youtube.com/watch?v=pENfrmQ4Joc[/video]
[QUOTE=TheEyes;47787719]How does that even run? You have weird indentation on the while loop.[/QUOTE] The while is inside the if block. Like [code] if (...){ while {...} } [/code]
Made Grid/Vertex Adventure chat, it works! [IMG]http://i.imgur.com/gxhXLzg.png[/IMG]
[QUOTE=andrewmcwatters;47787828]Like literally out of place? Or the design doesn't mesh with the rest of the site? I accidentally forgot a style on the shared label, it's suppose to be on the right hand side of the article. Perhaps the labels should be on the left hand side?[/QUOTE] The design doesn't fit, very thick font, gradients (this is probably the worst!) and too many sizes for rounded corners labels, it would look better if all the rounded corner had the same size and style. The 'Shared' looks off in terms of position too imo.
Oh okay, I'll try and come up with something different maybe later today. I know at least the type is a bit jarring for sure, but I had other stuff come up and I haven't gotten to it yet. [editline]23rd May 2015[/editline] Thanks guys
Fixed the fps issue I had, and it's such an obvious thing. The more tiles I had, the more draw calls, so also less fps of course. To fix it upon initialization I'm now drawing all static tiles onto a large texture which will basically be the background for the entire level. Only moveable tiles need to be drawn separately on top of that each frame. Now I suddenly have a 10x performance gain for just 2600 tiles. Running very smoothly with 10k tiles now, just because! I should probably break it down into smaller chunks though. One texture for a million tiles of which you only see ~2k on your screen is overkill. [B]Edited:[/B] With one million tiles it even goes black. The total size for the texture would be almost 1GB :v:
[t]http://i.imgur.com/fD7Wkah.png[/t] help im in hyper space and i can't leave edit: i fixed it, had a stray & where it shouldn't have been
It took me a week, but I finally have finished the bulk of my recent work! I've been working on implementing a [B]Component[/B] based system for my engine objects, so that I could more easily work with a wide breadth of entities and objects in general. This meant that I had to rework the way [B][U]ALL[/U][/B] of my systems worked, but it started paying off right off the bat. The big changes: -Everything spawned in the editor is a base entity -All entities have a render-component -All components are abstract-able and their virtual functions can be easily re-implemented if subclassed -All components support generating visual property widgets that displays a components' properties and allows for them to be edited by the user, which then gets fed into the level editor's Properties Feed, for either objects or the level's properties itself. -Entity rendering logic is deferred to its rendering component, which in itself changes based on different subtypes of said component, and also can depend on what components are "plugged-in" to it I love the way this system works; it allows for such a wide range of flexibility. I've tried to tidy up the interface a bit as well. To contrast, the editor when no level is loaded versus a loaded "level" with every possible tool and tab expanded, and 4 open viewports (can be less than 4) [t]http://i.imgur.com/T5ezlST.png[/t][t]http://i.imgur.com/KnTTUaW.png[/t] World geometry and models both can be independently lit-up ambiently, in addition to whatever global ambient lighting is currently set, while also being lit-up by the sun [vid]https://dl.dropboxusercontent.com/u/95010979/ShareX/2015-05-23_17-18-35.mp4[/vid] Since most of my recent work is under-the-hood stuff, there isn't much to show off yet, except for the way that properties are generated, so I took a couple of screenshots showing the difference between base entity, brick pyramid, and a physics model -> [URL]http://imgur.com/PtYGslp,4QfAAZf,AsZHIBG[/URL] Special thanks to BackwardSpy and NixNax for helping me understand how a component based system should work!
basic modding workshop support is in [img]http://puu.sh/hY1QM.png[/img] took quite a while
[QUOTE=ThePuska;47787464]I implemented Kahan summation with SSE while doing some data processing. It's almost as fast as naive summation using the FPU (Kahan summation in general being about 4x slower, and SSE in turn giving a 4x speedup) -- but it's a lot more resistant to error when you have a lot of floats. ...[/QUOTE] Here are the final versions for both single and double precision: [url]http://pastebin.com/JcdrZdai[/url] I manually unrolled the loop a bit after looking at the assembly generated by Visual Studio and GCC, since they weren't using their XMM registers very well. They should now beat naive summation in accuracy [i]and[/i] speed with a large amount of floats. Though normally I wouldn't even bother with manual unrolling, in this case it gave me a 35% increase in performance for the single-precision floats with Visual Studio. VS 2013 [i]still[/i] insists on not using registers XMM8-XMM15 (probably because the Windows 64-bit ABI says XMM registers from XMM6 upwards are nonvolatile). But the speed difference between GCC's and VS's binary code is pretty small at this point. edit: Whoops I noticed a bug with the double-precision alignment (I should test these things!). There double-precision version has the same alignment code as the single-precision version [cpp] switch((uintptr_t)arr & 12) { case 0: break; case 4: KAHAN_ITER; case 8: KAHAN_ITER; case 12: KAHAN_ITER; break; }[/cpp] doubles are obviously aligned to 8 bytes so it should be: [cpp] switch((uintptr_t)arr & 12) { case 0: break; case 8: KAHAN_ITER; break; }[/cpp]
Is this any better? -snip- Check out below.
Hold up, another update, recast your [del]votes[/del] ratings. [img]http://i.imgur.com/CIsWKh3.png[/img] [editline]23rd May 2015[/editline] I'm still trying to get shared to look okay, since it's a gradient it's a bit more difficult. [editline]23rd May 2015[/editline] Here are the new labels for client/server/shared. Yellow, blue, and green. [img]http://i.imgur.com/JvRLVpm.png[/img] [editline]23rd May 2015[/editline] Hope that's more suitable now!
[QUOTE=KmartSqrl;47786808]Game development bugs = best bugs[/QUOTE] A bug is just a feature you didn't think of
[QUOTE=andrewmcwatters;47789793]Hold up, another update, recast your [del]votes[/del] ratings. [img]http://i.imgur.com/CIsWKh3.png[/img] [editline]23rd May 2015[/editline] I'm still trying to get shared to look okay, since it's a gradient it's a bit more difficult. [editline]23rd May 2015[/editline] Here are the new labels for client/server/shared. Yellow, blue, and green. [img]http://i.imgur.com/JvRLVpm.png[/img] [editline]23rd May 2015[/editline] Hope that's more suitable now![/QUOTE] Much better imo, however the positioning is not aligned, server should sit in the middle of the onPlayerAuthenticated (vertical-axis), same for the version and 'Grid'.
[QUOTE=bunguer;47790065]Much better imo, however the positioning is not aligned, server should sit in the middle of the onPlayerAuthenticated (vertical-axis), same for the version and 'Grid'.[/QUOTE] Yeah, thanks for reminding me, sometimes I forget. I wanna take care of them, but I just recently noticed a [url=https://github.com/Planimeter/grid-sdk/issues]couple bugs[/url] with Grid that I'd like to take care of first. [editline]23rd May 2015[/editline] I think those labels are much better. I'm really glad you guys mentioned it. With everything I have under my belt now, I tend to lose some details. That isn't normally my style. Thanks again!
[QUOTE=Rocket;47790076]I never knew Hammer was so featureful![/QUOTE] Are you saying you [I]don't[/I] want invisible polygons that stretch across the entire level? Remind me to never attempt implementing a carve tool, gotta learn from other people's mistakes.
[QUOTE=andrewmcwatters;47789793]beep[/QUOTE] The paths to files look a little awkward. They need a bit more padding and don't fit the general theme of the rest of the page.
It's a very common style for inlined code, and the markup is generated by [url=https://github.com/chjj/marked]marked[/url] from documentation markdown. I'd normally tend to agree that the padding is very tight, but it seems to end up working out okay in [url=http://www.andrewmcwatters.com/grid/api/Client%E2%80%93Server_Initialization]mass text.[/url]
mass text one looks okay, but the red box is really quite attention grabbing
I could subdue the colors, perhaps, much like Client, Server, and Shared are.
Quick experiment, slicing a mesh along a single plane using a pixel shader [audio warning]. [video=youtube;zEOxG2-zTaA]https://www.youtube.com/watch?v=zEOxG2-zTaA&feature=youtu.be[/video] Any pixel whose worldspace coord is 'above' the plane is culled using clip(). I draw the mesh's exterior normally first: [t]http://kirk.by/s/14d8412b996[/t] Then I flip the backface culling and draw it again (shown here in blue): [t]http://kirk.by/s/14d841858bf[/t] But on this interior pass, I perform a raycast in the shader between the worldspace pixel and the camera position, to establish where the view ray intersects the slicing plane. I then transform this worldspace coord into a 3d texture coord, and render the interior with that texture coord. The normal for lighting is provided by the slicing plane. EDIT: just realised I disabled lighting for the slice plane in that video, whoops! [t]http://kirk.by/s/14d8415c6ef[/t] While the interior pass appears to be on the slice plane, the depth buffer still says it's located at the hull exterior, so I may get some funky depth artifacts if I start adding multiple objects to the scene.
[vid]https://a.pomf.se/naqedz.webm[/vid] Love2d is pretty neat. Now to actually make something with it.
Sorry, you need to Log In to post a reply to this thread.