@Digital Awakening
Ah, when you said "cheap", I thought you meant quality wise.

Thanks though.

And good luck with Simple Game Toolkit as well, I really like it.

I'd donate to it if I had money.
@Lucifer
lol. Sure, you can add some music and such if you like.

However, I can't implement them until I get a new sound card, nor would I be able to listen to them. :/ 8-bit based is fine though.
@Deathead
I'll release/sell the DBP version as version "1.0 - The holy crap wtf is that?" version. Okay, it'll just be called 0.9 actually.

1.0 is when it is actually complete, and as DBP is only for prototyping this, I'll take advantage of it's simplicity, and already existing plugins, and give 1.0 as a free upgrade, as it should be.

In addition, the DBP source to the runtime will be released under certain licensing terms to those who buy it. It'll be used mainly for reference for programmers lookin' to make a game.
Edit
Also, these are the commands currently implemented in my engine.
DWORD twRegisterEntityType(t_UpdateEntity pUpdateEntity, t_KillEntity pKillEntity);
DWORD twMakeEntity(DWORD dwType, DWORD dwParent);
void twSyncEntity(DWORD dwEntity);
void twKillEntity(DWORD dwEntity);
void twPositionEntity(DWORD dwEntity, float x, float y, float z);
void twRotateEntity(DWORD dwEntity, float x, float y, float z);
void twScaleEntity(DWORD dwEntity, float x, float y, float z);
float twGetEntityPositionX(DWORD dwEntity);
float twGetEntityPositionY(DWORD dwEntity);
float twGetEntityPositionZ(DWORD dwEntity);
float twGetEntityAngleX(DWORD dwEntity);
float twGetEntityAngleY(DWORD dwEntity);
float twGetEntityAngleZ(DWORD dwEntity);
float twGetEntityScaleX(DWORD dwEntity);
float twGetEntityScaleY(DWORD dwEntity);
float twGetEntityScaleZ(DWORD dwEntity);
void twShowEntity(DWORD dwEntity);
void twHideEntity(DWORD dwEntity);
void twSetEntityVisible(DWORD dwEntity, BOOL fVisible);
BOOL twGetEntityVisible(DWORD dwEntity);
void twSetEntityAlpha(DWORD dwEntity, DWORD dwAlpha);
DWORD twGetEntityAlpha(DWORD dwEntity);
void twSetEntityParent(DWORD dwEntity, DWORD dwParent);
DWORD twMakeMesh(void);
int twAddSurface(DWORD dwMesh);
void twSetSurfaceVertexPosition(DWORD dwMesh, DWORD dwSurface, DWORD dwVertex, float x, float y, float z);
void twSetSurfaceVertexNormal(DWORD dwMesh, DWORD dwSurface, DWORD dwVertex, float nx, float ny, float nz);
void twSetSurfaceVertexUV(DWORD dwMesh, DWORD dwSurface, DWORD dwVertex, DWORD dwLayer, float u, float v);
void twSetSurfaceVertexColor(DWORD dwMesh, DWORD dwSurface, DWORD dwVertex, DWORD dwColor);
void twSetSurfaceTexture(DWORD dwMesh, DWORD dwSurface, DWORD dwTexture);
void twSetSurfaceColor(DWORD dwMesh, DWORD dwSurface, DWORD dwColor);
void twKillSurface(DWORD dwMesh, int index);
void twdKillCamera(IEntity* pEntity);
void twdUpdateCamera(IEntity* pEntity);
void twdInitCameraEntity(void);
DWORD twMakeCamera(void);
void twSetCurrentCamera(DWORD dwCamera);
void twSetCameraView(DWORD dwCamera, DWORD x, DWORD y, DWORD width, DWORD height);
void twSetCameraFOV(DWORD dwCamera, float fFov);
void twSetCameraAspect(DWORD dwCamera, float fAspect);
void twSetCameraRange(DWORD dwCamera, float fNear, float fFar);
void twKillChecklist(void);
void twMakeChecklist(DWORD dwItemCount);
DWORD twGetChecklistItemCount(void);
void twSetChecklistItemName(DWORD dwIndex, char* szName);
char* twGetChecklistItemName(DWORD dwIndex);
void twSetChecklistValueA(DWORD dwIndex, float fValue);
float twGetChecklistValueA(DWORD dwIndex);
void twSetChecklistValueB(DWORD dwIndex, float fValue);
float twGetChecklistValueB(DWORD dwIndex);
void twSetChecklistValueC(DWORD dwIndex, float fValue);
float twGetChecklistValueC(DWORD dwIndex);
void twSetChecklistValueD(DWORD dwIndex, float fValue);
float twGetChecklistValueD(DWORD dwIndex);
void twMakeConsole(void);
void twKillConsole(void);
void twWriteConsole(char* szText);
void twSetConsoleTitle(char* szTitle);
void twSetConsoleCursorPosition(int x, int y);
void twShowConsoleCursor(void);
void twHideConsoleCursor(void);
BOOL twConsoleCursorVisible(void);
void twSetConsoleCursorSize(DWORD dwSize);
DWORD twGetConsoleCursorSize(void);
void twSetConsoleWaitKey(void);
void twdWndCreate(HWND hWnd);
void twdCommand(WPARAM wParam);
void twdClose(HWND hWnd);
void twdDestroy(HWND hWnd);
void twdSize(HWND hWnd, LPARAM lParam);
void twdKeyDown(WPARAM wParam);
void twdKeyUp(WPARAM wParam);
void twdKillMesh(IEntity* pEntity);
void twdUpdateMesh(IEntity* pEntity);
void twdInitMeshEntity(void);
DWORD twOpenToRead(char* szFilename);
DWORD twOpenToWrite(char* szFilename);
DWORD twOpenToAppend(char* szFilename);
BOOL twFileEnd(DWORD dwFile);
void twCloseFile(DWORD dwFile);
void twWriteByte(DWORD dwFile, unsigned char cByte);
unsigned char twReadByte(DWORD dwFile);
void twWriteWord(DWORD dwFile, unsigned short cWord);
unsigned short twReadWord(DWORD dwFile);
void twWriteInteger(DWORD dwFile, int cInt);
int twReadInteger(DWORD dwFile);
void twWriteDword(DWORD dwFile, DWORD cDword);
DWORD twReadDword(DWORD dwFile);
void twWriteString(DWORD dwFile, char* szString);
char* twReadString(DWORD dwFile);
void twWriteMemory(DWORD dwFile, void* pMemory, DWORD dwMemorySize);
void twReadMemory(DWORD dwFile, void* pMemory, DWORD dwMemorySize);
DWORD twFileSize(char* szFilename);
BOOL twFileExist(char* szFilename);
void twCopyFile(char* szSource, char* szDest);
void twDeleteFile(char* szFile);
void twMoveFile(char* szSource, char* szDest);
void twMakeDirectory(char* szDirectory);
void twDeleteDirectory(char* szDirectory);
char* twFindFirstFile(void);
char* twFindNextFile(void);
BOOL twFileType(void);
void twSetDir(char* szDirectory);
char* twGetDir(void);
void twPerformChecklistForFiles(void);
void twInit(void);
DWORD twGetInternalData(void);
void twEnableAutoError(void);
void twDisableAutoError(void);
void twSetAutoErrorsEnabled(BOOL fEnable);
BOOL twGetAutoErrorsEnabled(void);
void twEnd(void);
void twSync(void);
BOOL twRunning(void);
void twMessageBox(char* szText, char* szTitle);
void twWarningBox(char* szText, char* szTitle);
void twErrorBox(char* szText, char* szTitle);
void twInfoBox(char* szText, char* szTitle);
BOOL twQuestionBox(char* szText, char* szTitle);
DWORD twMakeThread(DWORD dwFunctionAddress);
void twKillThread(DWORD dwThread);
BOOL twThreadValid(DWORD dwThread);
DWORD twGetFPS(void);
DWORD twGetTextureWidth(DWORD dwTexture);
DWORD twGetTextureHeight(DWORD dwTexture);
DWORD twGetTextureDepth(DWORD dwTexture);
DWORD twGetTexturePitch(DWORD dwTexture);
DWORD twLockTexture(DWORD dwTexture);
void twUnlockTexture(DWORD dwTexture);
void twPasteImage(DWORD dwTexture, int x, int y);
DWORD twMakeTexture(DWORD dwWidth, DWORD dwHeight, DWORD dwColor);
DWORD twMakeWindow(DWORD dwStyle, DWORD dwWidth, DWORD dwHeight, LPSTR szTitle, DWORD dwParent);
void twKillWindow(DWORD dwWindow);
void twPositionWindow(DWORD dwWindow, int x, int y);
void twResizeWindow(DWORD dwWindow, int width, int height);
int twGetWindowX(DWORD dwWindow);
int twGetWindowY(DWORD dwWindow);
int twGetWindowWidth(DWORD dwWindow);
int twGetWindowHeight(DWORD dwWindow);
void twSetWindowText(DWORD dwWindow, char* szText);
char* twGetWindowText(DWORD dwWindow);
void twShowWindow(DWORD dwWindow);
void twHideWindow(DWORD dwWindow);
void twSetWindowVisible(DWORD dwWindow, BOOL fVisible);
void twSetWindowParent(DWORD dwWindow, DWORD dwParent);
DWORD twGetWindowParent(DWORD dwWindow);
DWORD twMakeButton(LPSTR text, int x, int y, int width, int height, DWORD parent);
DWORD twMakeImageButton(LPSTR text, int x, int y, int width, int height, LPSTR image, DWORD parent);
DWORD twMakeCheckbox(LPSTR text, int x, int y, int width, int height, DWORD parent);
DWORD twMakeRadiobox(LPSTR text, int x, int y, int width, int height, DWORD parent);
DWORD twMakeGroupbox(LPSTR text, int x, int y, int width, int height, DWORD parent);
int twButtonPressed(DWORD hWnd);
int twBoxChecked(DWORD hWnd);
void twSetBoxChecked(DWORD dwWnd, int checked);
DWORD twMakeCombobox(int x, int y, int width, int height, int list, DWORD parent);
void twInsertString(DWORD hWnd, LPSTR string, int index);
void twRemoveString(DWORD hWnd, int index);
int twFindString(DWORD hWnd, LPSTR text);
int twGetItemCount(DWORD hWnd);
int twGetCurrentItem(DWORD hWnd);
char* twGetItemText(DWORD hWnd, int num);
void twClearItemData(DWORD hWnd);
DWORD twMakeEditbox(int x, int y, int width, int height, int singleline, int type, char* text, DWORD parent);
char* twGetEditText(DWORD hWnd, int lineNum);
DWORD twMakeDateTimePicker(int x, int y, int width, int height, DWORD parent);
DWORD twMakeProgressBar(int x, int y, int width, int height, int rangeSize, int type, DWORD parent);
void twSetProgressBarPosition(DWORD hWnd, int pos);
void twSetProgressBarRange(DWORD hWnd, int rangeSize);
int twGetProgressBarPosition(DWORD hWnd);
int twGetProgressBarRange(DWORD hWnd);
DWORD twMakeLabel(LPSTR text, int x, int y, int width, int height, DWORD parent);
DWORD twMakeStatic(int x, int y, int width, int height, DWORD parent);
DWORD twMakeStaticImage(int x, int y, int width, int height, LPSTR image, DWORD parent);
void twSetWindowImage(DWORD hWnd, LPSTR image, int width, int height);
DWORD twMakeTrackbar(int x, int y, int width, int height, int minVal, int maxVal, DWORD parent);
void twSetTrackbarMinSize(DWORD hWnd, int size);
void twSetTrackbarMaxSize(DWORD hWnd, int size);
int twGetTrackbarMinSize(DWORD hWnd);
int twGetTrackbarMaxSize(DWORD hWnd);
void twSetTrackbarPosition(DWORD hWnd, int pos);
int twGetTrackbarPosition(DWORD hWnd);
void twSetWindowSizeCallback(DWORD pFunc);
void twSetWindowFont(DWORD hWnd, int size, LPSTR family, int italic, int underline, int strikeout, int bold);
DWORD twMakeMenu(void);
DWORD twAddMenu(DWORD dwMenu, LPSTR szName);
void twAddSubMenu(DWORD dwParentMenu, DWORD dwID, LPSTR szName);
void twAddMenuSeperator(DWORD dwParentMenu, DWORD dwID);
void twApplyMenu(DWORD dwWindow, DWORD dwMenu);
void twKillMenu(DWORD dwMenu);
DWORD twGetSystemMenu(DWORD dwWindow);
void twSetMenuCheck(DWORD dwMenu, DWORD dwID, BOOL fChecked);
DWORD twGetMenuClicked(void);
char* twOpenFileDialog(DWORD dwWnd, char* filter);
char* twSaveFileDialog(DWORD dwWnd, char* filter);
DWORD twMakeToolbar(DWORD dwParent);
void twAddToolbarButton(DWORD dwToolBar, DWORD dwCommand, DWORD dwBitmap);
void twAddToolbarSeperator(DWORD dwToolBar);
void twUpdateToolbar(DWORD dwToolBar);
void twSetMenuBitmap(DWORD dwMenu, DWORD dwID, DWORD dwBitmap);
DWORD twColorDialog(DWORD dwWindow);
DWORD twMakeRichEdit(int x, int y, int width, int height, DWORD dwParent);
void twSetEditBackgroundColor(DWORD dwRichEdit, DWORD dwColor);
void twSetEditTextLimit(DWORD dwEdit, DWORD dwLimit);
void twEditUndo(DWORD dwEdit);
void twEditRedo(DWORD dwRichEdit);
void twSetEditDefaultFormat(DWORD dwRichEdit, char* szFont, int iSize, DWORD dwColor, BOOL fBold, BOOL fItalic, BOOL fUnderline);
DWORD twMakeTabControl(int x, int y, int width, int height, DWORD dwParent);
DWORD twAddTab(DWORD dwTabControl, int index, char* szText);
void twSetTab(DWORD dwTabControl, DWORD dwIndex);
DWORD twGetTab(DWORD dwTabControl);
DWORD twGetTabCount(DWORD dwTabControl);
void twKillTab(DWORD dwTabControl, DWORD dwIndex);
void twKillAllTabs(DWORD dwTabControl);
void twSetTabText(DWORD dwTabControl, int index, char* szText);
int twGetGlobalMouseX(void);
int twGetGlobalMouseY(void);
BOOL twKeyState(int iKey);
DWORD twScancode(void);
void twSetJoystickAutoSync(BOOL fAutoSync);
void twClearJoystickInfo();
void twPollJoystick(int id);
int twGetJoystickX(void);
int twGetJoystickY(void);
int twGetJoystickZ(void);
int twGetJoystickX2(void);
int twGetJoystickY2(void);
int twGetJoystickZ2(void);
BOOL twJoystickLeft(void);
BOOL twJoystickUp(void);
BOOL twJoystickRight(void);
BOOL twJoystickDown(void);
BOOL twJoystickFireA(void);
BOOL twJoystickFireB(void);
BOOL twJoystickFireC(void);
BOOL twJoystickFireD(void);
BOOL twJoystickFireX(int index);
float twAbs(float fValue);
float twAcos(float fValue);
float twAsin(float fValue);
float twAtan(float fValue);
float twCos(float fValue);
float twPi(void);
float twRnd(float fMax);
float twSin(float fValue);
float twSqrt(float fValue);
float twTan(float fValue);
DWORD twMakeMemblock(DWORD dwSize);
void twKillMemblock(DWORD dwMemblock);
void twWriteMemblockByte(DWORD dwMemblock, DWORD dwPosition, unsigned char bByte);
void twWriteMemblockWord(DWORD dwMemblock, DWORD dwPosition, unsigned short wWord);
void twWriteMemblockDword(DWORD dwMemblock, DWORD dwPosition, DWORD dwDword);
void twWriteMemblockInteger(DWORD dwMemblock, DWORD dwPosition, int iInteger);
void twWriteMemblockFloat(DWORD dwMemblock, DWORD dwPosition, float fFloat);
unsigned char twReadMemblockByte(DWORD dwMemblock, DWORD dwPosition);
unsigned short twReadMemblockWord(DWORD dwMemblock, DWORD dwPosition);
DWORD twReadMemblockDword(DWORD dwMemblock, DWORD dwPosition);
int twReadMemblockInteger(DWORD dwMemblock, DWORD dwPosition);
float twReadMemblockFloat(DWORD dwMemblock, DWORD dwPosition);
void twKillVideoDriver(void);
BOOL twSelectVideoDeviceDriver(DWORD dwWindow, IVideoDeviceDriver* pVDD);
void twSyncGraphics(void);
BOOL twGraphicsAvailable(void);
BOOL twResetGraphics(void);
void twClear(DWORD dwColor);
void twBeginScene(void);
void twEndScene(void);
void twDrawBox(int x0, int y0, int x1, int y1, DWORD dwColor0, DWORD dwColor1, DWORD dwColor2, DWORD dwColor3);
void twDrawLine(int x0, int y0, int x1, int y1, DWORD dwColor0, DWORD dwColor1);
void twDrawTriangle(int x0, int y0, int x1, int y1, int x2, int y2, DWORD dwColor0, DWORD dwColor1, DWORD dwColor2);
void twDrawPixel(int x, int y, DWORD dwColor);
void twDrawText(int x, int y, char* szString, DWORD dwColor, DWORD dwFont);
void twDrawTexture(DWORD dwTexture, int x0, int y0, int tx0, int ty0, int x1, int y1, float rotation, DWORD dwDiffuse, BOOL transparent, DWORD dwColorKey);
DWORD twGrabPixel(int x, int y);
DWORD twGetFont(char* szFontName, DWORD dwFontSize, BOOL bold, BOOL italic);
void twKillFont(DWORD dwFont);
DWORD twGetTextWidth(char* szText, DWORD dwFont);
DWORD twGetTextHeight(char* szText, DWORD dwFont);
void twDrawMesh(DWORD dwMesh);
void twSetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwDepth, DWORD dwSyncRate, BOOL fullscreen, BOOL vsync, DWORD dwAASamples);
DWORD twGetTexture(DWORD dwBits, DWORD dwLoadingMode);
DWORD twLoadImage(char* szFilename, DWORD dwLoadingMode);
void twKillTexture(DWORD dwTexture);
void twDrawTexture(DWORD dwTexture, int x, int y, int tx0, int ty0, int tx1, int ty1, float fRotation, DWORD dwDiffuse, BOOL fTransparent, DWORD dwColorKey);
DWORD twGetTextureWidth(DWORD dwTexture);
DWORD twGetTextureHeight(DWORD dwTexture);
DWORD twGetTextureDepth(DWORD dwTexture);
void twGetTextureBits(DWORD dwTexture, DWORD dwBitsPointer);
void twSetTextureBits(DWORD dwTexture, DWORD dwBitsPointer);
void twSetCurrentSurface(DWORD dwTexture);
DWORD twGetCurrentSurface(void);
void twGetMesh(DWORD dwMesh);
void twKillMesh(DWORD dwMesh);
IDirect3D9* D3D9GetDirect3D(void);
IDirect3DDevice9* D3D9GetDirect3DDevice(void);
D3DPRESENT_PARAMETERS D3D9GetDirect3DPresentParameters(void);
IVideoDeviceDriver* twGetD3D9VDD(void);
DWORD twMakeD3D9Window(DWORD dwWidth, DWORD dwHeight, DWORD dwDepth, LPSTR szTitle, BOOL fFullscreen, DWORD dwAntialias);
void twInitD3D9Driver(void);
BOOL VDDFUNC D3D9onCreate(DWORD dwWindow);
void VDDFUNC D3D9onRelease(void);
void VDDFUNC D3D9onSync(void);
BOOL VDDFUNC D3D9onCheckAvailable(void);
BOOL VDDFUNC D3D9onReset(void);
void VDDFUNC D3D9onClear(DWORD dwColor);
void VDDFUNC D3D9onBeginScene(void);
void VDDFUNC D3D9onEndScene(void);
void VDDFUNC D3D9onDrawBox(int, int, int, int, DWORD, DWORD, DWORD, DWORD);
void VDDFUNC D3D9onDrawLine(int, int, int, int, DWORD, DWORD);
void VDDFUNC D3D9onDrawPixel(int, int, DWORD);
void VDDFUNC D3D9onDrawText(int, int, char*, DWORD, DWORD);
DWORD VDDFUNC D3D9onGetFont(char*, DWORD, BOOL, BOOL);
void VDDFUNC D3D9onReleaseFont(DWORD dwFont);
DWORD VDDFUNC D3D9onGetTexture(DWORD dwImage, DWORD dwLoadingMode);
void VDDFUNC D3D9onKillTexture(DWORD dwTexture);
void VDDFUNC D3D9onRenderTexture(DWORD dwTexture, int x, int y, int tx0, int ty0, int tx1, int ty1, float fRotation, DWORD dwDiffuse, BOOL fTransparent, DWORD dwColorKey);
DWORD VDDFUNC D3D9onGetScreenWidth(void);
DWORD VDDFUNC D3D9onGetScreenHeight(void);
DWORD VDDFUNC D3D9onGetScreenDepth(void);
void VDDFUNC D3D9onDataUpdate(DWORD pCam);
void VDDFUNC D3D9onUpdateMesh(DWORD dwEntity);
void VDDFUNC D3D9onRenderMesh(DWORD dwEntity);
void VDDFUNC D3D9onKillMesh(DWORD dwEntity);
Edit2
All commands prefixed with "twd" are development functions. They are intended for internal use, and for plugin developers.
All commands prefixed with "tw" are normal commands. These are used by the "game/application" programmer.
All commands using the VDDFUNC are commands for the video device driver, and are used for support across multiple renderers, such as Direct3D 9.0c. Some of those commands can also be used by the "game/application" programmer and plugin developers, to get a better interface to that particular rendering device.
Cheers,
-naota