MarkoeZ
arr matey?
Tempel said:Eniko has stated that GM's will be able to edit the world in realtime, which certainly helps with content.
Ah, i missed that post, thanks
Last edited by a moderator:
Tempel said:Eniko has stated that GM's will be able to edit the world in realtime, which certainly helps with content.
Ah, i missed that post, thanks
I suggested helping with quest content as well, but Eniko wants to keep this a solo deal.MarkoeZ said:hmm, sounds nice, but this got me thinking about user created quests inside the general area as well (submitted for approval ofcourse ; ) Might increase the gameplay overall. That's the biggest challenge with small projects, (original) content takes a lot of time to develop. If users could submit their own, it would be more hours of single player enjoyment. And there might be some interesting/hilarious/genius entries as well
BenT said:Not sure what libraries you are using for TTF support. I don't use SDL (at the moment) so if it's natively supported, ignore me. I personally use the "freetype2" library in my engine - which works very well
I'm using Pygame's font object which I'm pretty sure uses SDL's text rasterizing which I'm pretty sure uses freetype2.
Anyway. There's something I would like some opinions on, especially from people who have worked with Qt, but anyone will do. Before I started working on implementing my own GUI a little over a week ago I'd spend an entire day researching various libraries to do my GUI for me. None particularly stood out (I'm picky, what can I say?) save for Qt. Of course with the licensing and having to buy the software per platform that was right out the window.
Well, as you may have read in the general forum, Qt is going to be licensed under LGPL. Which means I could use it after all! The big advantage to Qt is that it supports rendering widgets into an OpenGL scene. What this means is that I can (possibly) integrate Qt for GUI inside my game, and not have to spend god knows how many hours writing my own GUI behaviour.
There's bound to be drawbacks though. I've personally never worked with Qt, so I'm not sure how cumbersome integrating it would be. Since this isn't a normal case of integration, I'm afraid it might be very hard. On the other hand, writing your own GUI library isn't exactly easy either.
The other drawback is that obviously Qt's GUI isn't made with my game in mind. It might not look pretty, and destroy immersion. Also I'm not sure about theming, Qt can be themed but I somehow doubt it'll be quite as easy as creating a TGA file and editing an XML.
So, thoughts? Opinions? Anything?
EDIT: I've created a poll for this over on the Purple Pirate forums. Feel free to comment here, or vote there.
etchasketch said:edit
Its up to you, but in my opinion having the game at its current diagonal eagle eye point of view, but allowing 8 directions of movement (Think Diablo 2). And allowing touchscreen (point and click command) as an option for movement would have a great impact in various aspects of the game (mostly PvP)
CODE
\ | /
<- ->
/ | \
Allowing 8 directions of movement instead of only 4 is still up in the air. One reason I chose isometric view is that you only need two directions per frame of animation. Compared to top-down thats a 33% workload gain. Adding in 8 directions of movement would mean increasing from 2->5 directions per frame of animation, a workload increase of 250%.
There is the possibility of allowing it without adding additional artwork though, and support for moving 8 directions is already in the engine. I just need to figure out whether that looks okay enough to be desirable, and stuff like attacking would still be only in 4 directions.
Admittedly I'm much more green in Python than C, but I've had a really hard time squeezing performance out of Python. I'm running on a Quad Core system with loads of memory and things seem sluggish, so I'm really worried about a disaster once I move my code Pandora-side. Think I'm better off just sticking with C?Eniko said:Can't give you more advice than that, since I don't actually know yet myself. I figure I'll figure it out when I get there.
AireTamStorm said:Eniko said:Can't give you more advice than that, since I don't actually know yet myself. I figure I'll figure it out when I get there.
Admittedly I'm much more green in Python than C, but I've had a really hard time squeezing performance out of Python. I'm running on a Quad Core system with loads of memory and things seem sluggish, so I'm really worried about a disaster once I move my code Pandora-side. Think I'm better off just sticking with C?
Not necessarily. While Python can be a bit of a pain because you need to know how some things work to get optimal performance it does - once you get into it - let you rapidly develop stuff. Way faster than, IMHO, C does.
For one thing when I just switched from Pygame's 2D rendering to OpenGL my rendering slowed to a crawl. Why? Because I was building the vertex array every loop through. I use the struct module to pack the vertex/uv/etc data into a cStringIO object, which is about as good as it gets (I think) but it still had overhead. But then, you hardly ever need to do that every loop through, just keep what's static.
I was also calling glVertexPointer and glTexCoordPointer for every quad then calling glDrawElements. The former two are incredibly slow and there was no real reason to set them for every quad, that's when I started writing everything to be drawn into a cStringIO object as explained above before making these calls once. Major speedups.
Similarly glBindTexture was being called for every sprite. This is also slow. Using sprite and tile sheets, or like I did runtime packing of the images into one large texture, greatly reduces how many times you have to call glBindTexture. If you turn on the depth buffer and add a depth value to every quad you write into the StringIO object you can use glBindTexture once per texture you have then draw all the quads that use that texture in one go.
And so on and so forth.
Of course, there is just stuff you can't get away with. Something like iterating over every pixel in an image and analyzing and changing colors just never will be fast enough in Python. Of course, why would you even want to do this? Additionally, if you do need to do this you can create a C extension to do it.
Long story short, there's no reason why you should be pressed for performance on your rig using Python unless you're doing something highly computationally intensive that it just isn't suited for. I suggest reading up on how to get performance out of Python, because knowing what might be slow and what probably isn't is definitely the key to your problem.
Logokas said:Yes, it does mean you'll be creating twice as many sprites if you use 8 angles, but the results will be more satisfying.
Oh I'm sure it'll be more satisfying. But what's satisfying isn't the key issue here, what's realistic in terms of workload for me to be able to get done is. Just pointing that out here, if there is only 4 way movement then it won't be done because it's better, it'll be done because it'll let me get things done.