Quake3World.com Forums
     Programming Discussion
        Media of what you're doing


Post new topicReply to topic
Login | Profile | | FAQ | Search | IRC




Print view Previous topic | Next topic 
Topic Starter Topic: Media of what you're doing

Señor Shambler
Señor Shambler
Joined: 07 Mar 2006
Posts: 849
PostPosted: 06-05-2012 08:01 PM           Profile Send private message  E-mail  Edit post Reply with quote


Since shifting away from level-making and into coding - I'm sorely lacking a SSOWYD outlet... Even though I know there will be far less traffic through these parts - why not! :up:

I'm building a geometric algorithm visualizer this summer using Qt:




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44136
PostPosted: 06-05-2012 10:45 PM           Profile   Send private message  E-mail  Edit post Reply with quote


What does it do? Try to find the outer most points? Isn't there a faster way than brute-forcing that? At least, it looks like that's what it's doing.

Well, here's a very old video of a Geometry Wars clone I've been working on. The project is kind of dead in the water the last few months but I intent to pick it up and wrap it up after my new Q3 map is done and then maybe start on building some new game.

Ignore the dumb sound track on the video, it's some free music file YouTube offers.



Here are some more recent screenshots:








Top
                 

Señor Shambler
Señor Shambler
Joined: 07 Mar 2006
Posts: 849
PostPosted: 06-06-2012 05:47 AM           Profile Send private message  E-mail  Edit post Reply with quote


Eraser, I've always wanted to do a GW clone! It looks pretty similar to the original - what sorts of building blocks does XNA give you? Are you going to work on E+ anymore? :up:

There are much faster ways of computing the hull, but I chose the slowest one because it was easy to implement and I could then focus on visualizing what was going on. Next task is to implement one of the fancy ones ;)




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44136
PostPosted: 06-06-2012 06:00 AM           Profile   Send private message  E-mail  Edit post Reply with quote


Currently I'm building a new Q3 map for EntityPlus and I bet I'll run into some things I want to do that require some coding as well. To be honest, the main driving force behind most of the mod has been my own EntityPlus map because I needed stuff for it, so after this new map is done, I'm not sure how much more time I'm going to spend on the mod. But I will always be open for suggestions.

As for XNA, it's basically a very extensive wrapper around Direct3D. I haven't actually used much of the fancier features of it, but it allows you to do all sorts of 2D and 3D stuff, HLSL, sound effects and music, input (KB/Mouse/XBox 360 controller), XBox Live support and of course you can compile it to Windows, XBox 360 or Windows Phone 7.




Top
                 

Messatsu Ko Jy-ouu
Messatsu Ko Jy-ouu
Joined: 24 Nov 2000
Posts: 44139
PostPosted: 06-06-2012 09:49 AM           Profile   Send private message  E-mail  Edit post Reply with quote


is xna actually available on a dutchee xbl account? i thought it wasnt for a slew of redtaped reasons.




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44136
PostPosted: 06-06-2012 11:26 AM           Profile   Send private message  E-mail  Edit post Reply with quote


XNA is a development framework. All you need is a copy of Visual Studio to use it for developing games. Playing these games on Windows PC platforms is possible for anyone as well, all you need is the correct XNA runtime which you can grab from MS' site.

What you probably mean is the XBox Live Indie Games (XBLIG) marketplace. This is part of the XBox Live market place to which you can submit your games for distribution, to be played on XBox 360 consoles. I'm not sure if XBLIG is available in The Netherlands. If it is, I don't know how to gain access to it.




Top
                 

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 06-06-2012 01:11 PM           Profile Send private message  E-mail  Edit post Reply with quote


Looks nice, Eraser. The things I'm working on aren't very visual-ish, unless you guys like looking at gdb backtraces. Still mainly working on node.js and libuv, hacking on a Lisp JIT VM in my spare time.




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44136
PostPosted: 06-06-2012 10:32 PM           Profile   Send private message  E-mail  Edit post Reply with quote


I read some article about LinkedIn depending heavily on node.js for their mobile app. I'll see if I can find it again.




Top
                 

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 06-07-2012 05:26 AM           Profile Send private message  E-mail  Edit post Reply with quote


Yeah, I know. I spoke with their head of development (I think) a couple of times.

They're not the biggest node user though, that's voxer. They peek at hundreds of thousands concurrent users each day. Pretty good for shaking out obscure bugs. :-)




Top
                 

Messatsu Ko Jy-ouu
Messatsu Ko Jy-ouu
Joined: 24 Nov 2000
Posts: 44139
PostPosted: 06-07-2012 08:42 AM           Profile   Send private message  E-mail  Edit post Reply with quote


Eraser wrote:
XNA is a development framework. All you need is a copy of Visual Studio to use it for developing games. Playing these games on Windows PC platforms is possible for anyone as well, all you need is the correct XNA runtime which you can grab from MS' site.

What you probably mean is the XBox Live Indie Games (XBLIG) marketplace. This is part of the XBox Live market place to which you can submit your games for distribution, to be played on XBox 360 consoles. I'm not sure if XBLIG is available in The Netherlands. If it is, I don't know how to gain access to it.

indeed. I thought the XNA license was also only available in the countries that had access too the XBLIG. I also thought it required a fee, tho that might be only applicable if you're publishing content.
RBN also uses XNA and it's content isnt available in the Netherlands, which bums me out.
so your talk of devving for XNA made me confused and also a tad hopeful for a minute :)




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44136
PostPosted: 06-07-2012 11:48 AM           Profile   Send private message  E-mail  Edit post Reply with quote


Yeah sorry mate, strictly Win32 stuff here. Publishing games to XBLIG does indeed require a subscription with the obvious fee attached to it. But as I understand it, XBLIG is slowly dying. Devs are retreating from it because the revenues they get there pale in comparison to Steam, for instance. Also makes me wonder how long MS will keep supporting XNA. Then again, they're pushing it for WP7 as well, so who knows. Either way, my bro pointed out the Unity engine, which I'm eyeing as a possibility for my next project somewhere down the line.




Top
                 

Señor Shambler
Señor Shambler
Joined: 07 Mar 2006
Posts: 849
PostPosted: 06-15-2012 05:24 PM           Profile Send private message  E-mail  Edit post Reply with quote


Here's one of the cleverer CH algorithms. It takes as input a simple polyline (chain of edges, no self-crossings) and computes the hull using a deque for storage in O(n) time. The code for this is actually much simpler than the brute force O(n^3) one! Unfortunately my visualization doesn't tell the real story about what's going on quite yet.




Top
                 

i like to program
i like to program
Joined: 16 Dec 1999
Posts: 6899
PostPosted: 10-15-2012 01:39 PM           Profile Send private message  E-mail  Edit post Reply with quote


Just finally started making some solid progress on this project that I'm excited about:



I've been line by line porting the Q3 engine to JS. Just got the first pass at networking done - people can run around and see each other in the maps.




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44136
PostPosted: 10-15-2012 11:45 PM           Profile   Send private message  E-mail  Edit post Reply with quote


Cool stuff. How does it perform though?
The colors you chose for syntax highlighting really hurt my eyes :p




Top
                 

i like to program
i like to program
Joined: 16 Dec 1999
Posts: 6899
PostPosted: 10-16-2012 12:01 AM           Profile Send private message  E-mail  Edit post Reply with quote


Eraser wrote:
Cool stuff. How does it perform though?
The colors you chose for syntax highlighting really hurt my eyes :p


It's rendering each frame in sync with the browser, so 60 fps in Chrome. It's solid there.

I don't foresee any obvious problems related to JS performance in Chrome/V8 at least (what I've been primarily testing on).




Top
                 

i like to program
i like to program
Joined: 16 Dec 1999
Posts: 6899
PostPosted: 10-23-2012 12:32 PM           Profile Send private message  E-mail  Edit post Reply with quote




Progress made on models, menus and loading/saving of user configs in the browser :cool:




Top
                 

Señor Shambler
Señor Shambler
Joined: 07 Mar 2006
Posts: 849
PostPosted: 10-28-2012 10:38 AM           Profile Send private message  E-mail  Edit post Reply with quote


:up: Seems like it'd be a huge undertaking to port all of that to JS, but neat nonetheless! Wish I had time to do stuff like that >:(

I spent last weekend playing around with Bullet and Awesomium - something inherently great about having jQuery UI in an OpenGL app. Here are some flying Utah teapots.




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44136
PostPosted: 10-29-2012 12:29 AM           Profile   Send private message  E-mail  Edit post Reply with quote


Plans are forming to create a game using Cocos 2D-X. Anyone have experience with this? It's a 2D game engine with a write-once-run-anywhere approach. Build the game in C++ for the PC platform and then you can relatively easily compile that to iOS, Android, WP7 and other platforms. There's also HTML5 and XNA ports of the engine.




Top
                 

i like to program
i like to program
Joined: 16 Dec 1999
Posts: 6899
PostPosted: 11-08-2012 12:00 PM           Profile Send private message  E-mail  Edit post Reply with quote




Still chugging along - last week saw animated models and light grid data being used for vertex lighting the models.

This weekend I'll start implementing weapons so you can do something other than run around looking at other players :up:




Top
                 

Messatsu Ko Jy-ouu
Messatsu Ko Jy-ouu
Joined: 24 Nov 2000
Posts: 44139
PostPosted: 11-09-2012 12:34 PM           Profile   Send private message  E-mail  Edit post Reply with quote


i'd love to take a look at the source <3




Top
                 

i like to program
i like to program
Joined: 16 Dec 1999
Posts: 6899
PostPosted: 11-09-2012 01:34 PM           Profile Send private message  E-mail  Edit post Reply with quote


MKJ wrote:
i'd love to take a look at the source <3


Large portions (e.g. physics, collision, cg/gm code) are direct ports of the q3 source, so it's not very exciting.

I'll make the source public in another week or two, it still needs a few core features (patch collision, delta compressed packets), docs and the correct licenses plastered all over (I know nothing about those things). Also, on the server-side node.js has to currently be built from the latest dev branch for one small feature, so I'd like to hold off until 0.9.4 hits.

Pending that, everything is starting to come together - I'm so stoked about having a solid FPS engine available natively in the browser :drool:




Top
                 

Immortal
Immortal
Joined: 12 Mar 2005
Posts: 2205
PostPosted: 11-12-2012 03:09 PM           Profile   Send private message  E-mail  Edit post Reply with quote


Eraser wrote:
Cool stuff. How does it perform though?
The colors you chose for syntax highlighting really hurt my eyes :p


I use the exact same color scheme in Sublime Text :paranoid:




Top
                 

I'm the dude!
I'm the dude!
Joined: 04 Feb 2002
Posts: 12498
PostPosted: 11-12-2012 04:44 PM           Profile Send private message  E-mail  Edit post Reply with quote


It's the default scheme and also the one I use too.

(I think Eraser just hates rainbows and seeing colours makes him angry.)



_________________
GtkRadiant | Q3Map2 | Shader Manual


Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44136
PostPosted: 11-12-2012 11:34 PM           Profile   Send private message  E-mail  Edit post Reply with quote


The default? Really? Those colors just seem very hard on the eyes. It makes me angry. Very, very angry.




Top
                 

Messatsu Ko Jy-ouu
Messatsu Ko Jy-ouu
Joined: 24 Nov 2000
Posts: 44139
PostPosted: 11-13-2012 04:04 AM           Profile   Send private message  E-mail  Edit post Reply with quote


tis also the default for VS12 now.
i turned it off posthaste.




Top
                 

Señor Shambler
Señor Shambler
Joined: 07 Mar 2006
Posts: 849
PostPosted: 11-23-2012 12:51 AM           Profile Send private message  E-mail  Edit post Reply with quote


Working on putting some different motion planning algorithms into Q3 - here Sarge randomly hops around... :)

inolen: Should do D3 in browser next!




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44136
PostPosted: 11-23-2012 02:57 AM           Profile   Send private message  E-mail  Edit post Reply with quote


Heh, so what's your goal here? Are you talking about implementing different movement physics or client side prediction thereof or bot movement?




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44136
PostPosted: 11-23-2012 03:00 AM           Profile   Send private message  E-mail  Edit post Reply with quote


Oh so this game I was talking about in this thread in June, I've picked it up again. Had kind of lost interest in it, but I've wrapped some things up, fixed a few lingering bugs and implemented IndieCity's achievements system and global leaderboards, which kind of means I'll be distributing it via IndieCity (although I'm keeping a non-IndieCity branch around as well).

I expect the game to up available for download somewhere before the end of the year.




Top
                 

Señor Shambler
Señor Shambler
Joined: 07 Mar 2006
Posts: 849
PostPosted: 11-25-2012 02:15 PM           Profile Send private message  E-mail  Edit post Reply with quote


Eraser: doesn't Steam have similar functionality to IndieCity? why not use that?

I want to be able to approximate the time it takes a player to move between pairs of locations in a level. That way, you can report timings for pairs of items, or even display the "time reachable set" for a given location, which would be useful for placing items (and potentially other things). Computing the timings requires solving a robot motion planning problem, where you're trying to minimize time. You can't hope to compute "the" minimal time, but you can come reasonably close in practice using various heuristics to guide the bot toward the goal.

I just finished implementing a first version of Rapidly Exploring Random Trees. The plasma bubbles represent recent states from which the algorithm chooses to move the bot one frame. I'm coming up with a better way of visualizing this because really the bot has explored much more than is shown (the local entities are being sucked away by CGame).

The bot starts out planning from an initial state:



Over time, more and more space is covered by selecting random vertices from which to expand:



Finding narrow passages is a problem for naive sampling based planners, so I was excited to see this happen:



Once it gets through the passage everything works great!:




Top
                 

Señor Shambler
Señor Shambler
Joined: 07 Mar 2006
Posts: 849
PostPosted: 11-25-2012 04:55 PM           Profile Send private message  E-mail  Edit post Reply with quote


Actually here's a better shot of what's happening - unfortunately I hit the entity limit almost immediately :(. Is there any easy way of upping the max entities, or is that going to be the pain in the ass I think it is? Edit: I think I just just add polygons directly to the scene instead of creating a bunch of entities...




Top
                 

i like to program
i like to program
Joined: 16 Dec 1999
Posts: 6899
PostPosted: 11-26-2012 10:31 AM           Profile Send private message  E-mail  Edit post Reply with quote


The localents are stored in one big pre-alloced linked list, the max is defined at the top of cg_localents.c - pretty easy to up it seems. I don't think there is a restriction on their resulting refents.




Top
                 

Señor Shambler
Señor Shambler
Joined: 07 Mar 2006
Posts: 849
PostPosted: 11-26-2012 12:15 PM           Profile Send private message  E-mail  Edit post Reply with quote


inolen wrote:
The localents are stored in one big pre-alloced linked list, the max is defined at the top of cg_localents.c - pretty easy to up it seems. I don't think there is a restriction on their resulting refents.


I upped the localent limit to 4096, but then I hit the overall entity limit and get an error message stemming from the engine. The comment mentions something about if you want to increase it you have to re-order bit packing... :(

http://wiki.ioquake3.org/Entities




Top
                 

i like to program
i like to program
Joined: 16 Dec 1999
Posts: 6899
PostPosted: 11-26-2012 01:02 PM           Profile Send private message  E-mail  Edit post Reply with quote


Ahh, yes, the engine uses the entity number as part of the int32 sort key for the draw surfaces.

You could fiddle with removing some bits used by the shader number (SHADERNUM_BITS is 14) and adding them to ENTITYNUM_BITS (which is 10). 16384 shaders sounds rather generous.




Top
                 

Señor Shambler
Señor Shambler
Joined: 07 Mar 2006
Posts: 849
PostPosted: 11-26-2012 10:20 PM           Profile Send private message  E-mail  Edit post Reply with quote


inolen wrote:
Ahh, yes, the engine uses the entity number as part of the int32 sort key for the draw surfaces.

You could fiddle with removing some bits used by the shader number (SHADERNUM_BITS is 14) and adding them to ENTITYNUM_BITS (which is 10). 16384 shaders sounds rather generous.


Thx for the suggestion... I'll look into that if MAX_POLYVERTS isn't any easier to increase, but it sounds like they should be:

Code:
// these are sort of arbitrary limits.
// the limits apply to the sum of all scenes in a frame --
// the main view, all the 3D icons, etc
#define   MAX_POLYS      600
#define   MAX_POLYVERTS   3000




Top
                 

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 11-27-2012 02:53 PM           Profile Send private message  E-mail  Edit post Reply with quote


inolen, how's the project coming along? I confess to being a teensy weensy intrigued.

Kaz, is https://github.com/freemancw/Q3Plan your project? I'm guessing yes.




Top
                 
Quake3World.com | Forum Index | Programming Discussion


Post new topic Reply to topic


cron
Quake3World.com
© ZeniMax. Zenimax, QUAKE III ARENA, Id Software and associated trademarks are trademarks of the ZeniMax group of companies. All rights reserved.
This is an unofficial fan website without any affiliation with or endorsement by ZeniMax.
All views and opinions expressed are those of the author.