[QUOTE=Dr. Evilcop;45828944]guys guys stop arguing
[I]COBOL[/I] is obviously the best language for all purposes.[/QUOTE]
[url=http://facepunch.com/showthread.php?t=1160557&p=45689684&viewfull=1#post45689684][I]Ahem.[/i][/url]
haskell 24/7
1 space per tab nstead of tabs
brackets on doublenewline
get rekeed
hey guys i'm trying to implement unicode but it's not working at all, any suggestions?
[QUOTE=Greenen72;45830386]hey guys i'm trying to implement unicode but it's not working at all, any suggestions?[/QUOTE]
Ask Jookia.
[QUOTE=Greenen72;45830386]hey guys i'm trying to implement unicode but it's not working at all, any suggestions?[/QUOTE]
� �� ���� ��� ������ �� � ���� ��� ��������
[QUOTE=Greenen72;45830386]hey guys i'm trying to implement unicode but it's not working at all, any suggestions?[/QUOTE]
Unicode refers to at least five different distinct concepts. You're going to have to be more specific.
[QUOTE=Cold;45828977]Oops. (Working in 4 language at a time can be a bitch at times)
Please push the changes to GIT if you can be arsed.[/QUOTE]
Here you go: [URL]https://drive.google.com/file/d/0B7WVEytp6DPTX1VnNVM5VW1NcU0/edit?usp=sharing[/URL] (I never used git, sorry)
Using pointers instead of [] turned out to be exactly as fast so I removed it again.
There are some data-related optimizations that really made it faster.
I guess there's still room for more drastic improvements but it depends entirely on your usecase...
If someone has tips on how to speed things up even more I'm all ears :)
My guess is that the C compiler can use SMID, advanced loop-unrolling and other stuff that the .NET Jitter doesn't do currently (or only seems to do in very special cases).
[QUOTE=Greenen72;45830386]hey guys i'm trying to implement unicode but it's not working at all, any suggestions?[/QUOTE]
I went back a couple threads and turns out the whole unicode shenanigans took place like 3 or 4 years ago, there goes anyone getting my jookia joke
[editline]28th August 2014[/editline]
[QUOTE=Bumrang;45830537]Ask Jookia.[/QUOTE]
<3
[editline]28th August 2014[/editline]
it just hit me how much stuff went through waywo in these last few years, you guys are awesome
You have Jookia's Unicode fetish and Layla's sourcemod being so good he was taken in by Facepunch Studios to work on JBmod.
[QUOTE=Felheart;45830575]Here you go: [URL]https://drive.google.com/file/d/0B7WVEytp6DPTX1VnNVM5VW1NcU0/edit?usp=sharing[/URL] (I never used git, sorry)
Using pointers instead of [] turned out to be exactly as fast so I removed it again.
There are some data-related optimizations that really made it faster.
I guess there's still room for more drastic improvements but it depends entirely on your usecase...
If someone has tips on how to speed things up even more I'm all ears :)
My guess is that the C compiler can use SMID, advanced loop-unrolling and other stuff that the .NET Jitter doesn't do currently (or only seems to do in very special cases).[/QUOTE]
~23% performance increase when defuse and viscosity are enabled.
Almost 100% performance increase when they are disabled.
Thanks for the help.
[QUOTE=Darwin226;45828668]So, since you have NOTHING to worry about when writing assembly, shouldn't that be the most elegant?[/QUOTE]
Well, yeah ideally so, but I can't be fucking arsed to do that. I mean I'll go *some* of the way (hence C), but all the way with assembly is a bit extreme. Besides, OpenGL is a C API, so doing it from assembly would make me hate myself even more than inline assembly in C already does :v:
[QUOTE=Map in a box;45831463]to work on JBmod.[/QUOTE]
Yes please.
Verilog is confusing, and I can't work this out, the former uses 18 more logic elements than the latter. Why the hell would it do that?
[IMG_THUMB]http://i.imgur.com/dWNqvvd.png[/IMG_THUMB]
[CODE]assign vga_ram_read_addr = schip_enable ?
( vga_nx[9:2] ) + ( ( vga_ny[9:2] ) << 7 ) :
( vga_nx[9:3] ) + ( ( vga_ny[9:3] ) << 6 ) ;
[/CODE]
[IMG_THUMB]http://i.imgur.com/OJnl7bj.png[/IMG_THUMB]
[CODE]assign vga_ram_read_addr = schip_enable ?
( vga_nx[9:2] < 128 ? vga_nx[9:2] : 127 ) + ( ( vga_ny[9:2] < 64 ? vga_ny[9:2] : 63 ) << 7 ) :
( vga_nx[9:3] < 64 ? vga_nx[9:3] : 63 ) + ( ( vga_ny[9:3] < 32 ? vga_ny[9:3] : 31 ) << 6 ) ;
[/CODE]
The schematics are what Quartus synthesis to.
EDIT:
That said, rainbows make everything better.
[IMG_THUMB]http://i.imgur.com/K7Hc23N.jpg[/IMG_THUMB]
I remember doing something like that and I ran out of ideas for games :v:. Looking ossom so far!
[QUOTE=Ziks;45837417][url]http://www.facepunchstudios.com/2014/08/29/arcade-devblog-1/[/url][/QUOTE]
Technologically impressive, really. I really like the test game you posted on the blog. I love how you can make your own custom games with scripting language. Do games run on virtual machine? I guess it does.
But I don't like the idea very much. I mean the whole concept in front of arcade box.
Something is missing.. action maybe?
Just an idea, you know the control points from Battlefield (and dozens of other games)?
Imagine taking over enemy control point with the session of game. Now you don't just have to sit and wait to take control point, you have to actively finish the game to gain % (percent) of control point before it is captured.
Btw, somebody will have to physically defend player that is capturing point.
[QUOTE=Fourier;45837575]Technologically impressive, really. I really like the test game you posted on the blog. I love how you can make your own custom games with scripting language. Do games run on virtual machine? I guess it does.
But I don't like the idea very much. I mean the whole concept in front of arcade box.
Something is missing.. action maybe?
Just an idea, you know the control points from Battlefield (and dozens of other games)?
Imagine taking over enemy control point with the session of game. Now you don't just have to sit and wait to take control point, you have to actively finish the game to gain % (percent) of control point before it is captured.
Btw, somebody will have to physically defend player that is capturing point.[/QUOTE]
I think the idea is more of an explorative sandbox kind of game where the point of the game is kind of similar to Garry's Mod in the way Valve phrased it: A game about generating UGC.
I also like that it can be used as a social game too, like if you just want to use it to chat to your mates and watch people try and get a high score on a game.
It's a completely different experience playing a game while people are watching you.
There are a ton of sites/mods for watching videos or listening to music with others over the internet. I think games are the logical next step.
I guess this idea just hadn't come up much because we already play games with each other over the internet, just not with this perspective.
I'm thinking that if it is to be a social experience, then perhaps spectators should, not unlike OnLive, be able to give thumbs up and such to the person playing.
[QUOTE=reevezy67;45837713]There are a ton of sites/mods for watching videos or listening to music with others over the internet. I think games are the logical next step.
I guess this idea just hadn't come up much because we already play games with each other over the internet, just not with this perspective.[/QUOTE]
Actually I am thinking about this concept a lot of time for quite a bit already. It is just really hard to implement.
[QUOTE=mastersrp;45837729]I'm thinking that if it is to be a social experience, then perhaps spectators should, not unlike OnLive, be able to give thumbs up and such to the person playing.[/QUOTE]
Layla's working on voice chat as the main way players can communicate to each other as they play, but we'll think about gesture animations and such too.
[QUOTE=Cold;45831724]~23% performance increase when defuse and viscosity are enabled.
Almost 100% performance increase when they are disabled.
Thanks for the help.[/QUOTE]
Heh. I just had some ideas to improve performance much more.
- convert all calculations to integral datatypes. Should give up to 50% more speed.
- improve cache coherence by mixing buffers like it is done with images. RGBA instead of 4 seperate arrays of each channel. Should give an improvement of up to 20%
- using SIMD ([URL]http://www.yeppp.info/[/URL]). Combined with the above this could easly give ~400% improvement.
Maybe, if I have the time, I will implement all those changes.
edit: Maybe some other pros here could take a shot at this. It's a fun exercise and maybe we could even learn from each other.
[QUOTE=layla;45837621]I also like that it can be used as a social game too, like if you just want to use it to chat to your mates and watch people try and get a high score on a game.
[/QUOTE]
It is quite social, true.
[QUOTE]
It's a completely different experience playing a game while people are watching you.[/QUOTE]
That is completely true. It is more intense (not necessarily better if you suck at game) experience, because of social pressure I think.
------------------------------
Just one wonder. Is it possible for those virtual games to communicate with each other?
I mean, it would be awesome to be able to make chat clients or virtual multiplayer games.
[QUOTE=layla;45837621]I also like that it can be used as a social game too, like if you just want to use it to chat to your mates and watch people try and get a high score on a game.
It's a completely different experience playing a game while people are watching you.[/QUOTE]
Add Oculus rift support and it'll be really awesome, similar to RiftMaxCinema.
I love programming so much sometimes. Actually, what I love is abstraction and functional programming makes abstracting things a combination of LEGOs and puzzle solving.
This is a multiline comment parser for Haskell comments (they are pretty much like any other multiline comment but they can be nested like {-{--}x-}; x is still inside the comment)
[code] let multilineComment =
StateParse.withStateFunc ((+) 1) (Parse.string "{-")
|.|| StateParse.withStateFunc ((-) 1) (Parse.string "-}")
|.|| (fun state str -> if state > 0 then StateParse.any state str else None)
|> StateParse.oneOrMore[/code]
Reminds me a bit of the Gmod Cinema game mode in the social aspect of things.
[QUOTE=Kybalt;45837889]Add Oculus rift support and it'll be really awesome, similar to RiftMaxCinema.[/QUOTE]
We're defo going to take advantage of VR.
[QUOTE=Felheart;45837836]Heh. I just had some ideas to improve performance much more.
- convert all calculations to integral datatypes. Should give up to 50% more speed.
- improve cache coherence by mixing buffers like it is done with images. RGBA instead of 4 seperate arrays of each channel. Should give an improvement of up to 20%
- using SIMD ([URL]http://www.yeppp.info/[/URL]). Combined with the above this could easly give ~400% improvement.
Maybe, if I have the time, I will implement all those changes.
edit: Maybe some other pros here could take a shot at this. It's a fun exercise and maybe we could even learn from each other.[/QUOTE]
I installed [URL="http://blogs.msdn.com/b/clrcodegeneration/archive/2014/05/12/ryujit-ctp4-now-with-more-simd-types-and-better-os-support.aspx"]RyuJIT CTP4[/URL] and [URL="https://www.nuget.org/packages/Microsoft.Bcl.Simd"]Microsoft.Bcl.Simd[/URL] and tried to vectorize the algorithm last evening, but I didn't succeed (SetBnd was especially hard).
I also merged your optimized version with my multithreaded version and got the frametime to around 4.5 ms.
Sorry, you need to Log In to post a reply to this thread.