Domain: flipcode.com
Stories and comments across the archive that link to flipcode.com.
Comments · 39
-
Re:Software-rendered API wrappers through OpenCL
Or is there something I'm missing?
Yeah, the whole API and software rendering thing.
The advantage of early API's like glide was that it was much lower level than opengl/d3d, allowing for very efficient hardware-assisted software rendering.
As a simple for-instance, the transition between those lower level API's and software rendering into those higher level API's and fully-hardware rendering was that things like landscapes suddenly used polygons and their datasets ballooned enormously. There was nearly an entire decade of fixed-function-pipeline where the quite-negative artifacts of that transition such as LOD popping and disconnected seams on landscapes were common place, and even to this day its difficult to get a landscape renderer correct at LOD transitions (most engines have just pushed the LOD transitions further away and covered the ground with instanced-foliage to hide the problem.)
The advantage of the software rendering ray-surfing methods were that there werent any LOD transitions with regards to landscapes if you didn't want there to be. Hell, they were rendering seamless and popless landscapes on 80386's in the demo scene but these days its the norm for there to be pops and seams. -
Re:Coders fault - Not the language
So you don't have 10 levels of inheritance, 'creative use' of STL, etc, etc
C++ is an obfuscationists dream, especially when people start to do clever "tricks" with templates. If you've ever peeked into the boost:: libraries, you'll see what I mean. But I don't want to do away with it because let's face it, you can do that with any language (to me Perl looks like an utter mess). If you use a good coding style (lots of whitespace) and patterns like dependency injection, smart pointers, RAII etc. it generally works well.
-
I have to say that....
It's possible to write crap code in any language. C++ just gives you more rope to hang yourself with. For example, I was googling the other day for fast vector classes and I found this gem. I see this kind of "trickery" all over the place. The ability to obfuscate your code like this is positively encouraged in the C++ community, at least among those who do not have to maintain their own code, or other people's.
-
Re:Journalists
Probably just time to write a book.
;-)The canonical Web 2.0 response would be to create your own programming website, with your own personal slant and some advertising to pay the bills.
One of my old favorites was FlipCode (since discontinued), which seemed to have moderately significant following.
-
Silly Mods...
MODS!
I can't believe you guys gave this joke an "Informative" rating... of course, I fully expect to be modded down as a Troll for criticising the moderators, but here's some info for you clueless newbs...
Lempel-Ziv compression
Huffman compression
As you can see, these are forms of data compression, not the compression of gasses, as would be used in a ramjet engine. Please, please have an idea of what you're reading about before marking something "informative". This may deserve a "Funny" mod, but it's not "Informative" - at least, not about the topic at hand. -
Re:Timetable
They do use a portal engine. Pretty much everything since Quake 1 uses portal rendering, even some Doom sourceports have it now.
Portal effects and Portal Engine are not the same concept. Portal Effects are merely the ability to render through a warp in space. (e.g. Create a jumpgate that shows through to the other side.) A Portal Engine, on the other hand, is built with Portal Space (4 walls and two ceilings, even if there's no physical object at that location) at its core. Portal Engines allow for things like modifiable/destructable terrain and zero-cost for invisible polygons.
Everything from Quake to Doom 3, however, is still based on the concept of pre-generating level information inside a BSP tree. If you try to modify or destroy the terrain in real-time, you run the risk of rendering objects incorrectly. Worst case, you could slow the engine to a crawl.
There's a good article on building a Portal Engine here. I think you'll find that it's stupidly easy to grasp once you understand the basics, but very difficult to build a complex engine on top of. -
You sure you want to do the math?
I looked at 3D rendering quite a while back (about 15 years ago). Believe me -- you probably don't really want to built this up from scratch.
It sounds like you just need some sample code that doesn't rely on OpenGL or DirectX. To that end, the following (open-source) projects may be useful:
- Freshmeat listing of 3D Rendering Projects is probably a good place to start. The first few projects look promising already.
- Flipcode game development website listing of software may also be helpful. The Toxic Engine and SW-Shader (now SwiftShader, under Transgaming) projects seem to be pure software renderers that may be suitable.
-
Re:Narbacular Drop
Prey had 10 years to show off their portal tech. They couldn't do it.
This is blatently incorrect. Prey DID show off their portal tech. (To just anyone and everyone they could!) What they couldn't do was make an actual game out of it. Cool tech, but it ended up being nothing more than a research project.
Fast forward to the 21st century. Any game maker who wants to implement Portal Technology is going to study 2 examples. The first one is Descent's 360 degree engine. The second is the Prey portal technology that allowed worlds to collapse in on themselves. Once you understand how portals work (it's a bloody easy concept), creating those effects follows quite easily.
So again, it's impossible to say that Portal and its predecessor were not influenced by Prey. -
Good Links
Disclaimer: it is my website. I'm not plugging my website's links collection; I just think it might be useful to starting developers. I have a pretty collection of websites useful for game programmers.
Click here and under 'Game Development'...
I highly recommend FlipCode and GameDev.net for game-programming-related content. They have tons of stuff for beginners.
With the information you provided, it is pretty hard to direct you to *the* website you need because we don't know if you wanna do 3D or 2D, Ogl or DX, game genre?
There are also some crappy 'game toolkits' but if you know how to write C++ code, I'd recommend you stay away from these things.
-
Re:Open Source
It's been my experience that Indie developers are, as you say, eager to share resources that benefit the game development community. This might include marketing strategies, source code, or tools. However, as businesses, small studios have to have something to sell; traditional business models suggest that it makes sense to retain control of certain assets.
One scenario where a business might open source an entire product is an MMOG where the client and server are under an open license, and revenue is generated by unique, pay-for-play quests. I'm sure that the optimal level of open-sourceness varies from project to project.
(As a sidenote, /. did a thread about all 81 IGF submissions earlier in the week.)
________________________________________________
Inago Rage - An Independent Game About Building and Shooting Things -
Re:more tutorials?
-
Re:Video Game Author: My dream job.
Offtopic: What in the hell do I do with my game, assuming I do finish it?
Assuming you want to get a job as a game developer, read through Tom Sloper's Game Biz Advice site.
If you just want people to play it, I'd try places such as freshmeat, or the forums at gamedev.net or flipcode.com. -
Re:Carmack's Engine Code Delivers Again
Actually, Carmack is pretty supportive of object orientation and higher-lever languages. In fact, he considered Java for Quake 3. Ironically, he gave up on it for portability reasons--not performance.
-
Does it really say "flashlight"? Can't be right
"That's the display department."
"With a flashlight."
"Ah, well, the lights had probably gone."
Surely that's not right? I don't recall seeing that in the book and nor can I imagine Arthur Dent saying "flashlight". Surely he'd have said "torch"?
Is it possible the publishers did a translation for the US market?
Ahh: These links (a, and b) tend to agree with me.
-
Realtime raytraced games
Many modern 3D games are raytraced, except that they use a shortcut called a "portal engine." In a portal engine, a cone of rays is traced through several convex "rooms." Normally, rooms are linked to adjacent rooms, but if a room is linked to itself, you can make a mirror, and you can do teleporters in a similar way.
Learn more about portal engines
And yes, it's possible to simulate sound sources in real time. Often, all you need is a delay line and an FIR filter, and the result is called "waveguide synthesis" or "Karplus-Strong synthesis."
-
Buddhist concepts
There's a discussion going on flipCode about Buddhist Concepts in games.
-
Buddhist concepts
There's a discussion going on flipCode about Buddhist Concepts in games.
-
Only Indy until your successful!
The Irony of Indy Games
Outside of the handheld ( PalmOS, PocketPC ) markets, or cell phones... many indy games are either crap... or sales pitches to publishers! Im not saying all... there are probrably dozens of exceptions, but on the whole this remains true. Its funny though, when you look at "past" indy games...
HomeWorld
Doom
FlashPoint
Really... by definition, an indy game is self financed, without a publisher in site. Its funny that that moment you have success in the indy market, you tend to get picked up by a publisher... then your no longer indy! ;) Than again, there are a few companies that are going from commerical projects to more of an indy style. Once you see the amount that publishers take... you start to see the value in online distro's!
For anyone really interested in learning more, check out:
Garage Games Misc resources, plus a licensable engine
FlipCode Great gaming related site
Gamedev.net Like flipcode, but less mature ( you'll see! )
Gamasutra The site for game developers! Must see
CrystalSpace LGPL 3d Engine. Very impressive
WildTangent Cheap game engine (web based), plus online publishing
Auran Jet Affordable 3d engine, flexible licensing
OpenGl The site for OpenGL info. Lots of useful links
From the above list, you should easily be able to find anything else your looking for! ;) Enjoy the world of game development for zero cash! -
Code snippets & Examples
If your interested in games or not, both FlipCode.com and GameDev.net have alot of reference material for common algorithms.
They aren't exactly repositories as such, but there is alot of code snippets deposited in various sections throughout both sites.
- Gef -
3D Math
There is an interesting use for templates in 3D vector math:
http://www.flipcode.com/tutorials/tut_fastmath.sh
t ml.It's a kludge, but it provides some real performance benefits.
-
Maybe, but why?
To be honest, I have no idea if this is true, but I see no reason why it should be. Just go back to gameplay. Make the games cheap and good fun. They may not last for as long as a fully cinematic, bump-mapped, Radeon-stretching, blah, blah, blah, but they'll pass the time.
Just look at the quality of work turned out by amateur game developers in their spare time on GameDev and Flipcode and the like. The coders are there. A simple game doesn't need much in the way of level designers or artists. So where are the big costs?
Whatever. Feel free to flame me - I know shit about the industry - and I am probably missing something big. -
Generally:
http://www.bluesnews.com/
http://www.shacknews.com/
http://www.slashdot.org/
http://www.linuxgames.com/
http://www.icculus.org/
http://www.flipcode.com/
http://www.google.com/
http://www.gouranga.com/
http://curmudgeon.linuxgames.com/
http://icculus.org/fingerdigest.html
http://kerneltrap.org/
No doubt this will be buried into the mass of similar posts before long, but it is a decent format for listing where people generally go... -
Re:This is good
> I once disliked Java for that very reason, but I have since realized that enum is not as essential as you might think in an object-oriented language.
Enums provide a few big benefits in C++
1. They are constants
2. You can't take the addres of them inadvertantly.
3. They are guaranteed to be inlined.
Basically, they are a safe #define replacement.
Plus, the autoincrementing of the value is another big factor. Especially when used in tricks like this sizeof() bitcounting..
-
Re:Understanding
True, but the wealth of information available out there is astounding. A simple google search yeilds amazing results.
Then there are demo specific sites:
OJuice
Scene
CFWweb
General game programming sites help aswell:
Flipcode
GameDev
GameTutorials
The information about karman filters isnt what you should learn first. That type of information will come later, once you develop specific skills, different techniques will come to light. -
Guessing lines
That reminds me of this Flipcode IOTD. It's pretty impressive if you're upsampling something cartoon-ish with not much high frequency detail.
-
Re:Plus,This one does. It was posted on flipcode yesterday.
They explain it was detected by observing the effects the stars magnetic field has on charged particles. With a magnetic field of 10^15 gauss (vs 1-5 for the sun and the 10 - 50 for the Earth), it was mentioned that it won't just suck change out of your pocket, but rearrange the molecules in your body. Sounds like fun, doesn't it.
-
Re:whats best way to begin something like this?
-
Re:whats best way to begin something like this?
As well as NeHe, the guys over at Game Tutorials have quite a few OpenGL tutorials (which nicely complements NeHe's). Their site is at http://www.gametutorials.com/. They also have tutorials on how to program in C++, C, DirectX, Win32, and using Visual C++ (if you are into that kind of thing 8).
You also might want to read some of the good articles at Gamasutra (http://www.gamasutra.com) as they have good game related news and articles. The registration is free and gives you access to all of their articles and web lectures.
You can also read some of the articles at http://www.gamedev.net, http://www.flipcode.com and there is a good resource for stuff like this at http://www.angelcode.com. These are just some of the best sites I have found. Hope that helps. -
until Carmack writes a book ..
for a neato (actually, the best I've found) gaming resource check out Flipcode. Has excellent articles on many other relevant subjects.. check it out. C, C++, etc is well represented and theory too. Dig it.
-
See what some game developers think
-
Better detailsI've submitted this maybe a half dozen times with more linkage. Oh, well.
:)
The ability to program for the GameBoy Advance is *not* Linx or Mac only. The biggest group of developers centers around a partial build of GCC called "DevKit Advance", which has pre-made setups for Win32 and Linux. There are smaller communities each around "HAM", "SGADE", and "GCCGBA" - all Win32 prebuilt only. If you've ever built your own GCC, however, you can build to GBA, and that means you can build from damn near *anywhere*.
Good places to go to learn:
- IRC: #gbadev on EfNet - fairly active channel full of developers, mostly amateur but a few commercial. DO NOT ASK FOR ROMS OR COMPILER DOCS HERE! You would be summarily banned. This is a legit ONLY channel.
- Yahoo! Groups "GbaDev". Many of the same crowd as above, but a larger populace, and by email, not realtime chat. Also, there are archives.
:) Many of your problems - even surprisingly difficult ones - can be answered just by digging through the archives. Moderated. - There are more tutorials than just The Pern Project, but I can only ever remember that one.
:) I got started before that tutorial, so I have no idea of its quality (many people seem to have started with it)
Compilers:
- SGADE - The Socrates GameBoy Advance Development Environment - Good, complete, fairly easy to install, completely unrestricted open source. Developer is tireds and overbusy, and wants someone to take over the development. (Yahoo group also available
- HAMFree for non-commercial development. Has an installer; fairly painless for Win32 people. There are requirements about using is commercially which I personally do not dig.
- DevKitAdvance - The modified distro of GCC that the bulk of us use. You'll see Jason's name on GCC mailing lists from time to time. Thanks, Fenix. (This is the kit I use, though rather heavily modified)
- Someone whined and GCCGBA was taken away from us, because it wasn't a whole GCC distro or something (the discussion was never made public, and I'm going by rumor); the remaining packages don't seem to have trouble, but I'm a little will happen to other compilers over time.
Some interesting stuff that's been done:
- Snap together and play GBA Game Creator
- Quake Level 1 displayed realtime on gameboy: Article and Video
Miscellaneous news sites with links to code and tools:
- GbaDev.org - The canonical news source, especially since AGBDEV.NET died. Most things are covered here. Those that aren't can be found at
- Jeff Froweihn's Devrs.Com. Jeff Froweihn wrote the lnkscript and various other stuff that you're likely using if use use the homebrew community's stuff. Thank him. Also, he maintains an aswesome, if difficult to take in at once, news site.
- GameBoy Land
Anyway, this is by no means an exhaustive list, but it's a start, and you can get to most of the good ones from there by linkage. If anyone needs a hand, my email address at slash should work.
StoneCyph on EfNet, johnisaheadcase / Fatty diZilla on mailing list - IRC: #gbadev on EfNet - fairly active channel full of developers, mostly amateur but a few commercial. DO NOT ASK FOR ROMS OR COMPILER DOCS HERE! You would be summarily banned. This is a legit ONLY channel.
-
Re:Game Industry unwilling to take risks...
Fortunately, the GameCube seems to be cracking this stigma a little. Too bad I can't get it on the net yet.
It's not so much the Gamecube that's "cracking the stigma", as Sega. Chu Chu Rocket, Jet Set Radio, Super Monkey Ball, etc. All Sega games. I'm assuming that you're referring to Super Monkey Ball, and possibly Pikmin, when referring to the GameCube breaking the trend, but look at Rogue Leader (hey, it's a sequel to Rogue Squadron!), Wave Race: whatever it's called (look! sequel to Wave Race on the N64), and Super Smash Bros. Melee (look! sequel to Super Smash Bros.!). The Gamecube is just as "me-too" as any other platform. It's the game developers that have to make the difference. Thankfully, Sega is playing all the consoles (Super Monkey Ball on the GameCube, Chu Chu Rocket and Sonic on the GameBoy Advanced, Shemue II and Jet Set Radio: Grind on the XBox, and I don't remember what they're bringing to the PS2, besides things like the Crazy Taxi series (was that Sega?)).
I miss the days of 'Garage Developers' creating shareware games on BBS's.
Check out Garage Games. If the next John Carmack (mmm
... Commander Keen) is going to be found anywhere, it's highly likely it'll be there. Sure, you can license the Tribes 2 engine (or V12, now the "Torque Game Engine", as it's not completely the T2 engine) for cheap, but there are plenty of other engines, or you can write your own. Also, check out places like FlipCode, GameDev, and GamaSutra (probably need a free registration to read most of the interesting things) to see what's going on in the world of amatuer graphics and games development (the first two more than the third, as gamasutra seems aimed more towards the game development professional). There's some crazy stuff going on, and lots of great little games that you'll never see elsewhere (the games, that is, not always the concepts. You'll see a lot of tetris clones, defender clones, whatever. but every now and then a completely off-the-wall concept shows up). -
Old news...
This has been done quite a few times by quite a few people. Fractal planet 3d engines show up all the time at www.flipcode.com
I've seen some with complete weather and day/night cycles. Some really inspiring stuff. -
Sounds like the SDL website would be more helpful.That's at http://www.libsdl.org. If you're writing games for Linux, it should always be your first stop.
If you want to learn OpenGL, your next stop should be NeHe's tutorials on Gamedev.Net.
GameDev itself is helpful...
As is Flipcode...
If you're interested in writing a good game, you should learn from those that came before you. Check them out using emulators from Zophar's Domain...
Also, no game developer worth his salt can ignore the virtual treasure trove of information archived at GamaSutra...
And finally, you'll want some cool free video game tunes to listen to while you code. The two best sites for video game remixes are Bart Klepka's remixes and Remix at Overclocked.org:
http://bart.overclocked.org/
http://remix.overclocked.org/Go to it. I hope to play your games soon.
-
Memory leaks...
I use a memory-tracker library I found at www.flipcode.com in the "ask midnight section". It works pretty good...
-
Memory leaks...
I use a memory-tracker library I found at www.flipcode.com in the "ask midnight section". It works pretty good...
-
Re:Java is plainly too slow.
I shouldn't add to this Thread from Hell, but I cannot resist...
I am currently working on a 3D game/simulator written in Java, using 1.3 + Hotspot + OpenGL. So far it is performing excellently. I see no garbage collection pauses, no memory thrashing (yet), and get 40-50 FPS without *any* optimization. In fact, the current code base commits several crimes against nature, and uses some incredibly hairly floating-point algorithms. Java chugs right through them.
I am not fond of a lot of Java's *libraries* -- like AWT, Swing, Java3D -- I fault Swing for being too complicated and monolithic, and Java3D for not being OpenGL. Therefore I don't use them. But the language is clean and nice, and now it's fast too. Sure, there is some overhead compared to optimized C++, but I am not competing in the FPS-junkie market.
Some benefits: Supporting the game will be much easier when my users can give me a stack trace + line numbers where the program failed. No need for a separate scripting language. Users can extend w/ their own classes. Patches can be on a class-by-class basis. And so on.
Now don't get me wrong, I'm scared as hell about releasing a Java game and the market accepting it, and trusting Hotspot not to have any show-stopping bugs. But right now, the only way you can tell it's written in Java is the little coffee cup in the upper-left of the window. I think if you don't have to be cognisant of the fact that it's in Java, you won't mind when you find out.
Anyway, my backup plan is ... translate to C++. :-p Should only take a couple of months...
BTW you can read my Tech File on flipcode.com if you want to read about my progress. -
lame game contest
Flipcode has a "lame game" contest, where the object is to make the most laughably inferior game possible. Some of the submissions there are hilarious, for instance "Chicken Racing II". Go check it out, if you have DOS -- most of the lame games are made for this lame OS.
-
Re:How does one learn 3D game coding techniques?
I got websites:
Hexapods 3D FAQ's
This has good source of animation info.
Flipcode features
Go down to the "Building A 3D Portal Engine" section, which will take you from the ground up, even if you don't remember matrix's. CrystalSpace already has matrix operations though.