Katie

Members
  • Content count

    924
  • Joined

  • Last visited

Community Reputation

2244 Excellent

About Katie

  • Rank
    Advanced Member

Personal Information

  • Interests
    Programming
  1. Is there a reason they have to be OpenGL textures -- can you share the data in the regular system memory before it's uploaded? That's a lot easier.
  2. I believe NV_copy_image won't do this.   GLX_copy_image, on the other hand, explicitly will -- It takes a source & dest context as well as image IDs, XY, width and height. It may not be massively efficient though.   What are you trying to achieve?
  3. "This is a bit presumptuous" Not really, I read you using the words "for profit" and presumed that by that you meant you were developing a "for profit" system which used other people's IP -- their brands, trading names, representations and designs -- to make YOU money not them... Game Vault will likely be running with a plan of using a "fair use" defence -- note that while "fair use" doesn't require a not-for-profit basis, court decisions based on it favour those usages which don't derive money from the use.
  4. Yes. Nintendo will be along with a C&D letter as soon as they find out.   You can either plan to swap out the designs at that point, do it to start with or you can ignore the desist and have very expensive and tearful conversations with lawyers later.   Why are ALL the questions in this forum along the lines of "Someone else did a bunch of hard work building their neat brand/designs/logos/IP... I want the results of that but without the hard work bit, can I just steal it instead?"
  5. MMO means hundreds of thousands of users -- how are they all going to fit on the road? Networks mean lag. Lag means some people are behind others in the information they have; and in racing that's going to be a problem -- however fast you make your code, anyone on the wrong side of an ocean is looking at the world a tenth of second or more behind other people. And in racing 1/10th second is a long time... you'll need a solution for this if you're going to make it work. "Most probably rip" And you're instantly in trouble... "me no care." So the problem is that the law doesn't quite work that way... it can MAKE you care.
  6. The controls form a tree. A dialogue contains a couple of panes, the panes contain controls, the controls contain some static text and an entry box and so on on. If the outer control completely contains the inner controls, it can check if the redraw is within its bounds and if not... doesn't propagate it to the contained controls.   This is how most real-world UI rendering systems operate -- boxes within boxes within boxes. It's common to Windows, MacOS, X11. It's happening inside web browsers and it's also the case for most mobile phone UIs. It's not the only solution, but it's a well worked one. Most UIs with non-transparent elements can optimise further (because it's only the top-most opaque object which needs to paint). You'll have to exhaustively run through ALL the nodes and paint them in reverse stacking order.   The other solution is to use several drawing layers. You draw each UI elements to one as if opaque and composite the outputs together afterwards. This needs more memory and more GPU power but less CPU work.
  7. "only redraw the controls (and their parent controls as well) if they intersect" The GL renderer is *already* doing that work (because it can't know you pre-clipped everything). Possibly it can even do it in hardware.. Just throw your geometry at it, let it sort it all out. Don't worry about it unless it's actually a problem.
  8. 1. How sure are you that you're ACTUALLY being a power drain? Reason -- this is how all the rendering code on phones works and so the OS and GPU designers are really, really good at making them use very little power. Implement your basic version and use GPU debugging tools to see what workload you're actually generating.. 2. Clip to the smallest changed area. Draw everything as you otherwise would. The clipping will cull out the areas that don't need rendering. Most mobile devices use tile-based renderings; the screen is rendered in squares, each of which accumulates its own processing list of primitive operations and they're rasterised/fragment processed independently. Draws which don't touch a lot of the tiles because they're clipped out incur no cost; the clipping ensures you're touching as few as possible. This is really all you should need to do. This only works for polygon clipping though, not stencil buffers. (You're after being able to discard geometry portions, not fragments). 3. There's a BUNCH of other "tricks" which *could* be used depending on exactly the drawing architecture you've got -- however, the last time I actually used any of them was on 8-bit micros where brute-force solutions like "redraw the whole screen" just weren't happening[1]. TBH, given that mid-range phones have **six to seven orders of magnitude** more processing power... you shouldn't need to be going there. Seriously -- trust the machine developers, measure your impact and only optimise later. Heck; if it comes to that -- 4. Does your caret really need to blink? The cheapest geometry is geometry you don't draw at all...   [1] As an example, you grab a copy of the area under your caret. Now you can erase it to make it blink without needing a full redraw... Once you have a copy of the area without it and the screen buffer containing a version with the caret, you can just swap the memory areas over and save doing any drawing at all... See how strained that's all going to get?
  9. I've had a play with it -- mostly just experimenting with the language at the moment but I'll have a bash at answering stuff -- I've at least got a handle on how all the structures hang together. There's a reasonably active place over at http://www.intfiction.org/forum/viewforum.php?f=7 The inform community seem to be generally really nice people and there's a big tradition of helping out -- there's a lot of public domain code to look at and so on. Bits of advice I would offer; don't get over-ambitious. While you CAN do nifty things in Inform, getting it to happen can sometimes be fiddly and since this is a college project that could suck up a lot of the time you have -- the systems are sometimes a bit counter-intuitive. On the other hand, writing simpler stuff is VERY quick. Have an idea of where you're going; and in the context of IF, you want to have a sort of "tree" model with branches off the "solution". Obviously using the shovel in the graveyard lets you dig up the skeleton as part of the game solution -- but it helps to have an idea of what should happen in other places as well; it shouldn't just be a boring "no"... maybe it levers up a slab to get into the sewers... and in the gardens, it just leaves piles of earth everywhere... Do some design up front. It's handy if, for example, every location has a short, snappy, unique name to call it by and you know them all when you come to start typing. You don't necessarily need all the descriptions of the locations, but a diagram of how they connect prevents confusion later. And I would recommend avoiding conversation systems if you can -- they're one of the aforementioned fiddly things....   Find a revision management system. Inform files do actually work properly in them, and there will be a day (sooner than you think!!) where you'll really really want to go back to this mornings working version of the files.. I personally use Mercurial, "git" is more commonly used these days. And it's the sort of thing that looks good in the report at the end if you can say "the git repo contains XYZ commits totalling ABC lines of code.."
  10. Question and Tips on creating a game

    3. Anything between tuppence ha'penny and all the money in the world based on that spec. You need a tighter spec with harder numbers in it. How many users, how many zones, how much duplication resilience between the zones. How much data and bandwidth and computation per user.   How many SREs do you want looking after this? Do you need dedicated machines or hosted VMs? How many points of presence? Do you need to peer with major networks to be close to your users? So you need dedicated links? What kind of failover do you need? Is any downtime acceptable?
  11. Question and Tips on creating a game

    "2). Since I want my game to be an online multiplayer that means I would need to get servers. Do servers prices differ country? (BTW Im from the USA)"   Yes. Why? Because datacentre space is cheaper in the US than in Europe. Why? Land and power are both more expensive here. 4. Yeah. Probably. But that's not actually your problem.   Your problem is the OTHER pictures they'll upload to use as avatars. Dicks, basically. A lot of dicks. Dicks if you're lucky. Child porn if you're not.   Now you're an illegal pornography distributor.   You don't need the aggravation that user generated content like that causes -- you won't be able to screen it all. And people get amazingly creative about getting their penis imagery through filters. Basically if your UGC can be made to be pornographic, horrifically offensive, illegal or any combination of those then it will be.
  12. There's a couple of things like this -- the obvious one is the first two parts of "The Fourth Protocol". I'm sure I recall seeing a review of something 16-bit with a similar approach but it was some years back.
  13. There's a military principle of "reinforce success not failure". The application of this is feeding resources into successful actions -- so you could abstract the resources out as being bought by "victory points" for taking map areas and enemy unit kills.   "Major! Your success is being noticed by division -- you're to press on towards Foosville by nightfall! And they've asked if you would like a tank or armoured infantry battalion to assist you?"
  14. I was first made aware that C was dying by a series of adverts seriously talking about its eventual replacement; here's part of one...   "Used in 26 countries... you can afford to let your copy of C gather dust and switch to a useable language"   "a better language with a richer function set and it is much easier to learn and use than C"   I ignored the compelling warnings and invested some of my career in the obsolete C regardless -- and people still call me about C development roles. The advert is from July 1989 and C doesn't seem to have died the predicted death yet.     Calend's PCL which promised so much? Died so hard the only references I have to it are on paper...
  15. " I'd like to see if there's any kind of test I can take to become a certified programmer at a bachelor level."   Well, in the UK you could just join the BCS at associate level. Presumably there's an equivalent out there in America.   No need for a pesky degree with all that associated "learning stuff". You just fill in where you gained 5+ years of industry experience as a software engineer and they hand out a certificate that, for the rest of your life, you can explain is the same as a degree to a HR recruiter who doesn't care.