Untitled Document
Not a member yet? Register for full benefits!

Username
Password
Resource Database > Coding and Framework
Related information is also held in the following Categories:
3D Engines | Codebases | Building Worlds | Artificial Intelligence | Alternate Lives | Open GL | Direct X | Coding for Alternate Lives
 
Coders, those responsible for creating the code, the framework of the world. Your job is long, and ever-more complex. We provide an astounding array of technical articles, how-to resources, distribute code, codebases, and many other resources to help you progress, to keep from reinventing the wheel. To shine.


Sections


Networking (12)

It's a bit pointless having a great virtual world, if you can't take advantage of the network it's connected to. For small worlds, that means the internet. For larger worlds, you are going to be looking at spreading the workload over multiple servers, possibly even multiple clients under a peer to peer or hierarchical infrastructure. To do this, you need to have the best grasp of networking you can get.
Linked resource
How to create a Non Blocking Server
Looks at the winsock creation of a server which can support many hundreds, or thousands of players simultaneously. Includes full code.

Linked resource
Network Game Programming: Part 5
A seven-part series introducing network game programming, from the basics, through to advanced concepts. Winsock based.

Linked resource
Network Game Programming: Part 7
A seven-part series introducing network game programming, from the basics, through to advanced concepts. Winsock based.

Linked resource
Network Game Programming: Part 1
A seven-part series introducing network game programming, from the basics, through to advanced concepts. Winsock based.

Linked resource
Network Game Programming: Part 2
A seven-part series introducing network game programming, from the basics, through to advanced concepts. Winsock based.

Linked resource
Network Game Programming: Part 3
A seven-part series introducing network game programming, from the basics, through to advanced concepts. Winsock based.

Linked resource
Network Game Programming: Part 4
A seven-part series introducing network game programming, from the basics, through to advanced concepts. Winsock based.

Linked resource
Network Game Programming: Part 6
A seven-part series introducing network game programming, from the basics, through to advanced concepts. Winsock based.

At the time of publication, it was the best book on the subject of networking real-time, multiple user, persistent environments. Although it is still on the market today, the problem is, it is almost hopelessly dated, still insisting on a hierarchical architecture, which was perfect at the time, but just cannot cope with large worlds today.



Linked resource
Using Groupings for Networked Gaming
An interesting article, discussing how to group data together, so that all players only get the information essential to them.

Linked resource
WinSock2 for games
An introductory article of using WinSock 2, the windows sockets API.



Scalability (8)

Scalability is a fundamental cornerstone of any virtual world. Scalability is the ability to provide the same level of service to ten users as you would to one. Likewise, providing for one hundred, or a thousand users, should theoretically pose no difficulty for a scalable system.

Theory and practice don't alwways work in harmony though, particularly where virtual worlds are concerned. The resources in this section are here to help you scale your creations so they can handle more and more players, without overtaxing their systems.

Applicable Dictionary Entries:  
Region Rendering
Linked resource
20 issues of porting C++ code on the 64-bit platform
A gamedev article, ritten for programmers who use C++ in particular, but applicable to all languages. Discusses problems in the port of code from 32bit, to 64 bit architectures.

Linked resource
Algorithms for an Infinite Universe
Based more for games on a single machine, this excellent little article discusses generation of a world on the fly, using minimal resources. Parts of this article are suitable for exploitation in virtual worlds.

Linked resource
Enabling Player-Created Online Worlds with Grid Computing and Streaming
The most popular model for modern MMOs is the shard model - small clusters of servers, each running a separate copy of the world, and each world mostly static. To have a truly dynamic world, with content galore, and experience without end, you need a different model. You need a single world, spread across countless servers...

Locally Hosted resource
Podcast: Procedural Content Generation & Spore
A 90 minute long podcast between two of the greats of the procedural content paradigm: Will Wright and Brian Eno. The discussion crosses every aspect of content generation, with generative system basics, SimCity, emergent behaviours in music, DNA strands creating life, and the Sims. The talk culminates in a half-hour run through of the game Spore.

Linked resource
Procedural Content Generation
Procedural Content Generation - using semi-random parsing algorithms to add oodles of cojntent dynamically. Supposed to makje it really easy to create large interesting worlds - that claim is utter nonsense, but that does not mean PCG be useless, it's actually fairly handy...

Linked resource
The Bug Process
Bug tracking is a major headache when you?re shipping any code product. In a MMO or social VR world where the world is persistent, and you have test builds and live builds scattered across several servers, bug tracking can become a major migraine. How then, is best to track and kill these annoying bugs in persistent products?

Linked resource
Using Linked Lists to Represent Game Objects
An introduction to the uses of linked lists, for creating, manipulating, and destroying large numbers of objects at any one time. A very good technique to know for large worlds, or complex situations.



Back To Top

Mobile Phones (2)

The humble mobile phone is no-longer the poor relation of the computing industry. Nowadays your players can keep up to date with events in-world via the streaming feeds, and even continue to participate!
Linked resource
An Introduction to Developing for Mobile Devices Using J2ME/MIDP (Part 1)
The first of a two-part introduction to mobile game development via J2ME and MIDP - two anacronyms you'll get to know by heart. Good, thorough, and includes a lot of source code.

    
The development centre for J2ME, one of the latest, and brightest of Mobile Phone development systems.



Back To Top

Games (8)

Linked resource
Finishing a Game
Whilst as the title suggests, this is written with game developers in mind, because of the similarity of the tools, techniques and development process of creating a new simulation platform or a new VR environment from scratch, this long and detailed article helps you discover why a project keeps on stalling, and the flaws in you and your own approach that are causing this to keep happening.

    
Complete Website: Flipcode.com
A good site, geared mainly towards graphics, it dabbles in some other areas, and has an interesting selection of daily links.

Linked resource
Gamasutra.com
Another game development site, it has several excellent papers, tutorials, and a respectable forum system.

Linked resource
Gamedev.net
An outstanding site, geared for game developers, it also has many applicable resources, and some outstanding forums.

Linked resource
Gameznet.com
General gaming news site, also has many good papers and tutorials relavant to virtual worlds, and a healthy forum.

Linked resource
rec.games.roguelike.development
Rogue-like games are, really, just that, games. However, they share some characteristics of virtual worlds as well, and so, developer's newsgroup is well worth a look.

Linked resource
Top Ten Reasons you are coding on the Wrong Mud
A humourous article, obviously geared for MUDs, but equally applicable to any virtual environment, should you find yourself coding for it, and these things (or their equivalent) start occurring. It may seem silly, but things like this do still occur. Even to so-called commercial worlds.



Back To Top

Console Worlds (2)

Is it possible? Can virtual worlds, those places with demanding keyboard, or sensory input, pinnacle of the entertainment theatre, really be ported over to the console world?
Linked resource
Online Console-ation Revisited
The follow-up article to Three-Dot Issues, looks at the future of online console usage, with some bleak prospects for bandwidth.

Linked resource
Three-Dot Issues
A look at two types of non-PCworlds; a nostalgic look back at the Apple computers, and a look forward at the possibilities of utilising consoles for online worlds.



Back To Top

Codebases (5)

The codebase: a predesigned framework for a virtual world. Codebases take a lot of the hard work out of building a world, with many giving you a bare bones, skeletal world to begin with.
Locally Hosted resource
3D Engines > Vpython
Vpython, short for "Visual Python" is a 3D library specifically written for the open-source, cross-platform language, Python.

With the current surge in uses of the iphone as a distributed computing device, and several industries, most notably medical healthcare taking it up in increasing numbers, there has not been a better time to learn to code this small, sleek device.



Locally Hosted resource
Codebase: ActiveWorlds 3.6
A look at the ActiveWorlds graphical codebase, its extensibility, pros, cons, and its suitability as a base for your world.

Locally Hosted resource
Codebase: ActiveWorlds 4.1
Activeworlds 4.1 Codebase, released in June 2006. An overview of it's capabilities and limitations.

Locally Hosted resource
Vie MUD
Vie MUD was a Multi-User Domain (MUD) based off the DIKU MUD codebase. Vie spawned five versions, Vie 1-5. Each was publicly released, as a separate codebase to build a new MUD off of.



Back To Top

Hardware Interoperability (1)

During the past few decades, there has been a continuing explosion in differing technologies for virtual reality. Hardware of all types has come out and joined different markets, languages have been born, grown and perished, a general cataphony of technologies exist. How do you work in this mess? How do you take advantage of all the technologies the field has to offer when there are so many competing standards?
Linked resource
Java Virtual Environment Device Interfaces
Java Virtual Environment Device Interfaces or JVEDI are specialised driver interfaces, written in Java, to allow VRML based VR worlds to access more advanced interface devices. The JVEDI project was last active in 2000, at the height of VRML usage, however the drivers still exist today, courtesy of the Visualisation and Virtual Reality Group.



Back To Top

Physics Coding (1)

There are a large number of new developers coming into the market for physics engines that need help through this complex process. Current introductory books are inadequate; they don't bring enough real-world programming experience to the task. There is a need for an introductory book on game physics with solid coding guidance but which limits the math content. This book tries to fill that void.