Blooddrunk game engine+editor {Looking for potential users!}

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Blooddrunk game engine+editor {Looking for potential users!}

Post by devsh »

FIRST DEMO (LINUX EXE):
http://blooddrunk-game-engine.googlecod ... .Input.zip

As some of you may know, I rewrote Blooddrunk Engine 3 times so far. Once with irrlicht, horde3d and irrlicht again. Each time for the purpose of creating a game. However this time I am looking forward to create a game editor which will speed up game creation rather a lot with an Engine. The whole toolset will be oriented at realistic 3d games, racing, shooting and sandbox (gta) genres. The creation will enable the game programmers to have low level access to bullet, cAudio, irrlicht and irrnet for convenience if they need to hard code something (why I gave up on horde). A python interpreter (Boost libs) will be used for AI and level designers, the C++ functions will be exported into python functions, and the python script interpreted by the engine will carry out the instructions. These features will enable the toolset to be used for RPG or RTS games, if the game creator will put enough work into modifications. The simple networking system will allow for a simple lobby system without having a central match-making server up 24/7, the innovative approach will only require for you to set up some free website with php and mySQL and the server app will send a request to register, while the client will download a list of servers for it's lobby by just querying the database.

I realize that the most difficult part is getting started in the right direction without getting distracted or concentrate on particular features (very hard for me). Thats why I want to code the editor first and not the game.

The purpose of the whole thing is to bring all my little projects together into one usable thing (SSAO, SSGI, Spherical Harmonics, Water.... ETC).

The only help I am asking for is, if I could use other people's little frameworks.... atmoSphere (need agreement from pazystamo), some point and spot light shadows from XEffects(BlindSide), irrWeatherManager (by cobra), irrBP or irrBullet, irrNet etc.
It would speed up my dev process.

I will keep you informed... with screenshots :)

EDIT: t I want to change the way games are played and made...

Where you can have a dedicated server on your shitty laptop with a mobile gfx card but a powerful processor, or have a junkyard of old computers in your bedroom, you can benefit from pseudo clusters. When playing online your system doesnt handle AI and physics. So why cant we run a single player game on a dedicated server allowing more power for our main "Rendering" computer? Here the engine will be designed as separate modules for AI and physics, the dedicated server design will allow for cleaner, lag-less multithreading which is not just an after thought. For example, I have a laptop with a 2.6 ghz CPU but 512 mb of RAM, my main rendering machine only has a 2.1ghz single core. When I upgrade to a phenom x6 I wont benefit from running physics on that computer because I will have 5 cores free... However I will benefit from running AI somewhere else. This development will make stunning looking games more accessible to people who do not have THAT much money. You will just need 1 good gfx card, the rest you can buy or get for free. There is tremendous potential, cloth and fluids can be done on another computer separately. Even far away physics can be handled by another computer. This will really be interesting to develop.

EDIT: Will adopt newb (c++ knowlesge and being able to solve library linking issues by oneself are required), python knowledge not necessary read post on page2

EDIT: Changed the thread title from "Will adopt noob..." now I'm looking for some people who are going to make a game and they want a deferred renderer for it and are willing to put up with some incomplete engine structure (participating in which features get priority).
Last edited by devsh on Fri Jul 01, 2011 5:22 pm, edited 3 times in total.
userdima
Posts: 22
Joined: Wed Jun 04, 2008 8:30 pm

Post by userdima »

One idea. Why not do it like this: clients will send the server information about computer they run (like cpu info), and server depending on this information will give the most powerfull clients some part of physics (or AI, or anything else) calculations. To avoid cheating, server can check random parts of information, and if it is not valid, kick the client (or never send it calculations again). What do you think about this? It would be really interesting to develop!
And don't kill me please, this is just an idea that came to my head now, it may have lots of disadvantages! :)
Sorry for my english, I'm from belarus!
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Post by devsh »

I'm talking single player only right now...

for online physics only need to be done ONCE for all clients, and should be server-side for cheating reasons especially with opensource games where no cheat/punk-busting can happen.
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Post by devsh »

I wrote a SettingsManager, maybe I will make it extendable so the game developers can save "Custom" settings. Next I will make the GUI and allow "Node" creation via C++. Then GUI initialized from python and XML
Mel
Competition winner
Posts: 2292
Joined: Wed May 07, 2008 11:40 am
Location: Granada, Spain

Post by Mel »

maybe I will make it extendable so the game developers can save "Custom" settings.
It would be mostly desirable.
"There is nothing truly useless, it always serves as a bad example". Arthur A. Schmitt
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Post by devsh »

finally, I have added custom settings, eventmanager which splits the information up to InputManager (keyboard, mouse and joystick), GUIManager (joins irrlicht's GUIEnv with a event receiver for GUI events which will handle python scripts interpreted OnEvent). The EventManager can have multiple receivers chained on.

The GUI will use batching to render faster.

I am rewriting the MeshViewer example to use my engine, now I will implement the GUI manager, python interpreter and C++ class&&function exposure to python, next different ways to load python code (xmls, py or pyc files), execution (tests) and compilation at load for faster execution.

I will generally strive towards doing the GUI for the game editor and starting to create a GUI with XMLs too for the first game demo (provided with the engine SDK)

The second demo will show basic online communication, setting up the client-server relationship and implementing some sort of chatbox (via the game, not the engine).

For the third demo we will see a fully functional lobby system (pain in the ass php && mySQL) which will register to a server I will set up online.

The demos will always come in two versions, maximum C++ based and maximum script based. To compare the performance and guide developers which solution is best... Loading routines will be scripts anyway.

P.S. I am getting an AWESOME IDEA for deferred rendering (something not possible in Forward Render), gbuffer Impostors.
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Post by devsh »

Planning on Implementing commands and scripting in the chat box to be received by the server. Also p2p networking will be used to relay private messages and VoIP (if I can find a way to capture audio and a lib to compress it).
serengeor
Posts: 1712
Joined: Tue Jan 13, 2009 7:34 pm
Location: Lithuania

Post by serengeor »

Also p2p networking will be used to relay private messages and VoIP
Some people have router problems(Port forwarding doesn't work) and can't connect to each other properly, what about them ? :)
Working on game: Marrbles (Currently stopped).
sudi
Posts: 1686
Joined: Fri Aug 26, 2005 8:38 pm

Post by sudi »

serengeor wrote:
Also p2p networking will be used to relay private messages and VoIP
Some people have router problems(Port forwarding doesn't work) and can't connect to each other properly, what about them ? :)
You can use NAT punch there. Its basicly fooling the router. You send out a message to the receiver he does to you that way the router thinks you initialized the connection.
We're programmers. Programmers are, in their hearts, architects, and the first thing they want to do when they get to a site is to bulldoze the place flat and build something grand. We're not excited by renovation:tinkering,improving,planting flower beds.
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Post by devsh »

I can announce, the python scripting WORKS!!! I managed to expose most of IrrlichtDevice functions to python and some of the IFileSystem's this means 10 lines of code are gone from the example. Also I am working on the first demo which will show how to use python to do the dirty work of the EventReceiver
serengeor
Posts: 1712
Joined: Tue Jan 13, 2009 7:34 pm
Location: Lithuania

Post by serengeor »

did you do the wrapping by hand, or did you use some automated wrapper, or maybe boost::python?
Working on game: Marrbles (Currently stopped).
polylux
Posts: 267
Joined: Thu Aug 27, 2009 12:39 pm
Location: EU

Post by polylux »

That sounds like a very promising and great project! Can't wait to give it a try.
beer->setMotivationCallback(this);
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Post by devsh »

tried boost:python but did wrapping by hand
serengeor
Posts: 1712
Joined: Tue Jan 13, 2009 7:34 pm
Location: Lithuania

Post by serengeor »

devsh wrote:tried boost:python but did wrapping by hand
Yeah, I tried it too, but It was too hard to set up :lol:
Also did some wrappings by hand.
But then I tried pyBindGen, which worked great for me.

Good luck on your project :wink:
Working on game: Marrbles (Currently stopped).
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Post by devsh »

Managed to get this executed

Code: Select all

import irrlicht
import irrFileSystem
import irrVideoDriver
import video


print "This is a python script initializing the editor.\n"

irrlicht.setWindowCaption("Blooddrunk Game Editor")
irrFileSystem.addFolderFileArchive("../editorData/")

irrVideoDriver.setTextureCreationFlag(video.ETCF_ALWAYS_32_BIT, 1)

irrSceneManager.setAmbientLight(0.3,0.3,0.3);
Post Reply