This is a Casual project! - it will probably not be done speedily! Nor regularly!
All Help is Welcomed! - I’m going to need it. My C is terrible and that will be the first challenge.
Anyone who wants to take part is welcomed!
This will be open source as per usual.
Help (how to) documents will be made to streamline new feature additions (I.E. actuators)
So there are considered to be 3 major branches of blender;
1: 2.8+
2: 2.5 to 2.79b
3: 2.49b and earlier
Each of these branches has distinct characteristics which define it as a completely different software package to the other branches.
This project is something I’ve been thinking about for years upon years since the fateful day 2.5 was in development and saw a rethink of the majority of the user interface, and hotkeys etc.
In my perspective 2.49b was never finished. It had more to go before it was finalized, and it was definitely culled before it’s progression was exhausted to the point it should be cast aside and re-envisioned.
For that reason I would like to put out this thread as a project to develop Blender3D 2.49c
Some features to be developed will be:
Simple (249c 1.0):
Upgrade to the newest python 2.7 as the default install version for scripting.
live modification of Emit in GLSL in the GE via IPO.
live modification of Object RGBA channels in GLSL in GE via IPO.
live modification of Material RGBA channels in GLSL in GE via IPO.
live modification of textures’ mapto values and other mapto buttons in GE via blender-python and Logicbricks. - Map To Actuator
Shape keys allowing addition and subtraction of verticies, edges and faces at different shape keys (to allow mesh splitting).
Live mesh editing/creation and live image loading in the GE. (Program a game from nothing but code, this will be done by changing the way meshes and objects are collected by the GE, at start AND when a flag is raised to notify the program there has been a change to scene data in memory)
including support for blender 2.63 N-gons.
Advanced (later versions):
A UV actuator, and UV IPOs and UV Vertex Groups in the game engine (for moving UVface/Vertex selections around in game).
A Texture actuator, to allow selection/copying and pasting, rotating, scaling and translating of defined rectangles of pixels in a texture channel.
ray traced shadows to be added to the game engine. (instead of just spot lamp buffered shadows which are drawn over the entire window). [a modification to color calculation on render by calculating ray direction to a lamp and recording +shadow color if a ray touches a shadow caster between the point and the lamp]
Ray Traced reflections to be added to the game engine by similar means.
a digital sound creator/editor based on user designed sound wave beziers to be added to the sequencer.
Text and other 2D curve objects to be auto-rendered in the GE and detected by shape/character for mouse-over and collision for word wrap.
Text actuators for text settings, left, right centered and justified, text selection, and bold italic and underlined +linking by character number in string to character number in string.
.blend opener to look for Scene/collection, object, mesh, material, UV, Texture, armature and key formats from newer blender versions and translate accordingly. Save to have forwards compatibility selections.
procedural game engine particle effects to be added to actuators. including clouds, mist volumes, fire, and liquids (able to be modified by object name and axis direction, intensity and viscosity).
Even more advanced (Even later versions):
a Hardware Detection Sensor will be added, and blender specific game python for detecting key presses and joystick input from any hardware when given the port, as well as sending info back to the device at a given port additionally a Hardware Actuator for the same function. - possibly even game logic controlled robots (aim is to be able to control a Rob the Robot (NES) style game apparatus with python scripts)
Finally (at some point):
A Game Archive export function, all objects, images and sounds, scripts etc. Will be exported to a simple line and script ordered archive, to be run directly with python if possible in a TK window (unless rendered by the potential web addon, or fullscreen).
Just to name a few core updates I’ve really been craving for it. I plan to eventually (with help if possible) make this into a stand alone game engine.
Future ideas (not possible without manually converting 3D coordinates to 2D coordinates in a TK canvas): (may be used to instance procedural fire before it’s available as a standard object to users)
3D Vector Curve Volumes(meshes). - it’s all just math of scaled intersecting angular curves based on proximity in the end. You know simple 3D Trig. (it’s not really simple, but explaining it is…)