Tag Info

Hot answers tagged

19

I think you will understand their purpose better with a sample. By reading the comments you will understand how VAOs are used. // BEGIN INITIALIZATION // Define some vertex data struct Vertex { GLfloat position[3]; GLfloat texcoord[2]; }; Vertex vertexdata[NUM_VERTS] = { ... }; GLubyte indexdata[NUM_INDICES] = { 0, 1, 2, ... }; // Create and bind a ...


18

Language: C was predominant, but C++ was around and used. Dev tools: Development environments included those from Borland and Watcom (almost unheard of today) among others. Both Borland and Watcom had their own compilers and their own IDEs. Borland was by far the most popular in general, though Watcom had a reputation for producing faster compiled ...


12

In most cases these problems would fall into the category of "undefined behavior" (not in the C++ sense, but in a more broad understanding). What you'd be doing is essentially circumventing the abstraction provided by MonoGame (as an example, this of course applies to basically any such higher-level API). In doing so, you can cause class invariant ...


11

We have a similar situtation in our project, and we solved the problem by saving components (not functions) to LUA metatables. Basically, when we are creating an entity (or game object as we call them) on LUA side, code looks something like: function createShip() ... self.transform = registerToComponent("transform") self.sprite = ...


10

Java is the default language to develop on Android, although you can use NDK (native C) for performance issues on specific parts. But basically, Java + OpenGL is fast enough for most 2D games. One of the best (in my opinion) development environments for Java/Android is Eclipse : you can download plugins for Android from the official website. You have ...


10

A good framework - or actually a toolset - is Unity3D. It's somewhat less flexible than "engines" that are focused only on rendering, but then it can save you enormous amounts of time by taking care of a lot of common tasks. You don't have to worry about render, physics, sound, resource importing, terrain engine (if you need one), it has passable GUI system. ...


10

Here is a decent writeup about VBOs. Performance Here is a good overview of the calling semantics. Here here is another good overview of performance issues; in it we see that VBOs are more performant than arrays. The reason we prefer VBOs is that the data is loaded onto the card, and so you don't have to transfer it every frame. Depending on the type of ...


7

I personally would not bother targeting anything below Windows XP. Writing something that works on XP/Vista/7 will get 99% of people on Windows and allow you to use modern technologies. Direct3D is definitely an option, and so is DirectX. Another option is OpenGL. I would personally recommend DirectX 9. There are a lot of great resources and tools that ...


6

I'm not a fan of the least-common denominator approach. If you do that, you may end up with crippled features and poor performance. Instead, what I've done in the past, is to provide slightly higher level functionality in a library. That library is (mostly) API agnostic and can be used anywhere, but the implementation of the library is completely different ...


6

The Android developer site doesn't make it clear anymore that the SDK uses the Java language, but that's the official language. Compiled languages can be used through the Native Development Kit, allowing for languages like C or C++ to be used; however, this is for augmenting Java code rather than replacing it. The supported IDE is Eclipse, and Google ...


6

All I can say is take a look at Ogre3D. It's written in C++, Open source (MIT License now) and runs on every major platform out of the box. It abstracts out the rendering api and can switch from using DirectX to OpenGL with just a couple of settings. However, I do not know enough about the differences between feature sets of DirectX and OpenGL to say that ...


6

I'm not sure about OpenGL but DirectX allows you to over write the default left-handedness therefore it wouldn't matter. As you've said, it's "nothing but" a convention, and at least DirectX allows you to work with both. Conventions do not matter by themselves, the only problem is that you need to be consistent with your choice. Mixing two such systems leads ...


5

This is aimed at the path of Counter Strike more than Second Life, but the game Cube 2 is a fully open source FPS which has been used in lots of research projects that need a fully modifiable multiplayer game. This is the one paper I know of that uses it for its ease to mod. For a more MMO type game, you could always try finding private servers of popular ...


5

WoW does have an external API with the Armory. It is read only through. Unless you access the pages with a bad browsers, it returns a clear xml structure. According to various blue forums posts, automatic querying of those pages is okay, unless too many requests are sent. The Glider Lawsuit was about a bot that linked to the original game client in memory. ...


4

One thing I would like to clear you up on - don't expect to find one library that does all that. Or even some of it. Robust, sturdy libraries exist for large things (SDL for 2D graphics, OGRE3D and Irrlicht for 3D, FMOD for sound, etc), but don't expect to find a well documented RPG engine. Also, there is going to be little difference if you choose DX over ...


4

To give proper advice we need to take a step back. 1) What are your goals. 2) What is your experience level. If your answer to #1 is "I just want to make an RPG/tell a story/bring my characters to life" and #2 is "little to none", then I recommend you read this thread: Recommended RPG game that can be used to learn game Modding? There's no reason to ...


4

The problem is more complex than simply exchanging out EGA for VGA. In fact, the VGA interface is what grew out of the EGA interface, which grew out of the CGA interface, which grew out of the MDA interface, which is why you see the interrupt call schemas as so similar. Basically the idea was "here's interrupt 0x10... and a few simple functions for setting ...


4

As Thomas McDonald noted, while your (one) API key is bound to a domain, your requests do actually not need to be made from there. So, no proxy service is necessary. Since I already do have a blog, I registered an API with that site, and now I can happily consume the API without resorting to scraping.


4

You could try setting up your own server running one of the open-sourced MMO codebases. PlaneShift is one such game, and WorldForge has (last time I looked) several games with simpler rulesets. Ryzom is a formerly closed-source MMO that released both their code and their assets as open source. Setting up your own server from these codebases will probably ...


4

As a completion to Sean's post, since you mentioned Doom: there is a nice blog by Fabien Sanglard, who made a review on the part of code used for making Doom (the one from 1993). The review is here: http://fabiensanglard.net/doomIphone/doomClassicRenderer.php PS: The blog has a lot of Doom/Quake-related code reviews, and it's a nice read for a game ...


3

Here are some quotes from the END USER ACCESS AND LICENSE AGREEMENT (Part 2-B) you probably signed as it is required in order to play the game. Except to the extent permitted under applicable law, you may not decompile, disassemble, translate, derive source code from, create derivative works based on, or reverse engineer the Software by any means ...


3

From some old (2006/2007) presentation on MSN Games... RAPID! Integration Test Tool Allows developers to test that the MSN API is correctly implemented It does not: Verify client requirements Doesn't test the game play Links to the main site is here MSN Games and the developer resources are here To get access to the developer libs you'll need to ...


3

It doesn't matter in the sense that the handedness is arbitrary; either way works fine so they just picked one. They only "force" their way on the user in the sense that they had to pick something so they went with that way. However it does matter in that you need to be consistent about what the numbers mean; it doesn't matter what decision was made ...


3

I agree with Josh's answer fully but I'd like to add some thoughts. The purpose of MonoGame is to bring the XNA API to many platforms. If you are using OpenTK directly you are restricting yourself to only those platforms that support it. Therefore, you could loose one of the main benefits of using the abstraction. If you find yourself wanting to do ...


2

The API in question is, I believe, the MSN Games GDK for developing games for the MSN Games portal (or Live Messenger). The SDK itself is not readily available to the public; I believe you need to contact developer support to get it. Check out this page at the MS Casual Games portal.


2

If you really do want to write a 3D RPG (a goal I highly support, by the way) I think Ogre3D is going to be your best bet for a starting framework. It's OpenGL-based and C++-based and can just get a lot of the "busywork" of making a basic renderer out of the way. Plus, it's released under the LGPL, which means that, should you decide to make this a ...


2

FMOD is practically an industry standard. Wwyse is also gaining a lot in popularity. They both support a wide variety of platforms. You can get high-quality 3D sound and advanced sound effects on every single worthwhile platform today, with hardware acceleration when available. There are close to no large commercial games that lack 3D audio and effects. ...


2

1) The aiNode struct is defined in the Assimp library. Here you can find it its definition on the official documentation: Public Attributes aiNode ** mChildren // The child nodes of this node. unsigned int * mMeshes // The meshes of this node. aiString mName // The name of the node. unsigned int mNumChildren // ...


2

I think Ogre might have what you are looking for, check out the Skeleton class, and the section on Skeletal animation in the manual. I'm not sure if it goes to as low a level as you like, but seeing as Ogre has its own .animation and .skeleton formats, I think it does. However Ogre is for C++, so what you would want to use is Mogre which is the official ...



Only top voted, non community-wiki answers of a minimum length are eligible