Blender as a Game Editor (lots of thoughts)

General discussion about the development of the open source Blender

Moderators: jesterKing, stiv

Post Reply
lpetrich
Posts: 3
Joined: Tue Dec 10, 2002 6:56 am

Blender as a Game Editor (lots of thoughts)

Post by lpetrich » Tue Dec 10, 2002 7:55 am

I've given this question some thought, and I've concluded that if it is possible to specialize Blender, then one can make it into an editor for a variety of game model formats. Not only inhabitant model formats, but also world-geometry formats.

I will illustrate with editing Quake-engine games, meaning games with engines from all three Quakes. A map source file (.map) has

Overall attributes, like what sky texture
The walls as a set of convex polyhedra (brushes)
Inhabitant entities as an entity type, a position, and various attributes

For Blender to be a Quake-engine editor, its editing must be specialized to editing the aforementioned sorts of features -- the only models it can edit will be brushes, and it will have dialog boxes for editing inhabitants and overall attributes.

And for Blender to be really useful as an editor, it ought to be able to compile maps; that ought to be simple to arrange -- call map-compilation programs "qbsp", "light", and "vis" for Q1 and appropriate equivalents for Q2 and Q3. Going even further, it may be able to tell a Quake-engine game app to run the compiled map.

However, one may ask what is the point of building all this functionality into Blender. But if one can make Blender specializable, then Quake-map editing can be added on as a plug-in.

Likewise, one can do the same for the various Quake-engine inhabitant-model formats -- one can create an animated model with Blender and then export it in a Quake-model format.

I'm not sure how much can be done with Unreal-engine games, since they do not have much public documentation. However, the Seppuku project is valiantly trying to create open-source Unreal-engine editors.

Or what can be done with LithTech engines, for that matter.

And I'm not sure that it's worth using Blender for extruded-2D engines, like those for Doom, Marathon, or Duke Nukem 3D -- the looking-downward architecture-drawing paradigm usually works fine for them.

Finally, I mention Crystal Space, an open-source 3D-game engine -- with appropriate specialization, Blender could be useful for editing CS maps.

I hope I'm not talking out of my nether regions; if such plug-ins could be successfully implemented, they could make real-time-3D game editors readily available for the MacOS and Linux -- two platforms that have been very short on such game editors.

endi
Posts: 17
Joined: Fri Nov 15, 2002 9:14 am

Post by endi » Tue Dec 17, 2002 9:35 am

We (at the www.humansoft.com (game developing)) use the Blender for level editor in a Gameboy Advance game. Look our website, and search "Jimmy Neutron vs. Jimmy Negatron" title. This is the game that we make its levels with Blender. It is a pseudo-3d game with pre-rendered sprites (in 3dMAX) but the object on level and the exclusions, enemies, power-ups etc. is edited with Blender. Our programmers maked the exporter script that generates a C code that we used in the game.
I hope you can understand me. :) My english is bad...
At our homepage you can find screenshots of the game. The game is published at 2002. sept.

I know, you want to make full-3d games, but I hope, this is interesting. :) I think, our game the first published game maked with Blender.

lpetrich
Posts: 3
Joined: Tue Dec 10, 2002 6:56 am

Post by lpetrich » Thu Dec 26, 2002 8:40 am

So what, precisely, was Blender used for here?

Modeling?

Calculation of exclusion zones and the like?

Generation of model-feature code that would be included in the engine code?

dreamerv3
Posts: 119
Joined: Wed Oct 16, 2002 10:30 am

Post by dreamerv3 » Thu Dec 26, 2002 12:02 pm

If you want an editor for games, I don't see why that functionality cannot be biult into a plugin that imports the maps, includes functions to edit them with the appropriate ui tie-ins and then exports them...

Its always possible to take the blender code and make dedicated editors from it, but if I was to do such a thing I'de stick to adding the editor as a plugin that anyone can download and use in the main blender, this way all the people who already have blender installed can just add the editor to thier functionality.

Its a good idea, I'm currently studying 3d graphics and the programming behind them and its good to know that most of these capabilities can be consolidated as plugins and run from central 3d apps or "kernels" if you will. In this way the 3d application behaves more like an OS sitting ontop of another OS, which it seems the more you study 3D applications the more this pattern can be realized.

On another point I recently got a PS2 and part of the allure was the linux kit sony is selling which will let me run linux on my ps2 complete with usb mouse and keyboard, and 40gig hdd

I'm in the midst of wondering if blender could be compiled and run on ps2 with the linux kit, and then I thought, if sony continues this trend with ps3 and offers a linux kit, I might just buy it and not get another PC, cause if you think about it, the conecpt is a great idea, mass produce pcs with identical hardware configurations and ship opensource linux with them, think of the distribution potential for opensource software developers if a linux based playstation platform suddenly emerged with pc like capabilities.

One of the problems with pcs are that everyone has different configurations and one of the problems with linux is that device drivers and peripheral support (by manufacturers) isn't golden, I think a playstation 2 level platform with opensource software would be both a win for us linux users and for console users, because they could forgoe $1000 worth of pc purchases and at the same time get solid device drivers and the safety net of having the developers of thier programs know exactly what they are running and thus develop to optimize the applications, the bad part is that this de-commoditizes the hardware which is dangerous, as much as I relish the fear this concept sends blazing through M$ I wouldn't want Sony to become M$ but with an S ala: S$

Still as long as the hardware abstraction is kept to a fairly generic level so that ANSI C and C++ will run without bells and whistles library dependancies then upon the first sign of tyranny a developer could simply frop support of the platform and use the PC architecture.

Still the 3D prowess of the PS2 and the promise of the PS3 coupled with linux as almost irresistable....

How many playstation users wouldn't love to run a 3D program on thier consoles!!!?

I'm gonna follow this....

kattkieru
Posts: 17
Joined: Wed Oct 16, 2002 3:30 pm

Post by kattkieru » Thu Dec 26, 2002 4:22 pm

Lemme respond to the PS2 linux thing first: I've seen it, it's cool, and a friend of mine in Japan has been trying to compile Blender on it without success. If you get it running I'm sure the world will want to hear from you. ^.^ However, the PS2 has extremely limited texture memory (something retarded like 4 meg on the video card), and from what I've been hearing this makes 3D stuff on it using OpenGL a might difficult. I think the real game console promise will be when the xbox linux guys finally get finished. The xbox is a perfect linux machine, and only costs 200$ with the hard drive and ethernet jack. They're closer and closer every day to getting it booting without a mod chip, and they already have it so you can upgrade the size of the hard drive.

On Blender as a game editor:

I think the real thing needed here is a better way of designing Blender python dialogues. Basically, Blender has all the functionality you'd ever need to for extension into other areas, like level editing, through python; the real time-taker ends up being the putting of a nice face on whatever python plug you write.

For stuff like Quake: AFAIK Quake levels are text-based at one point, and then broken apart into BSP trees and run through lighting and visibility programs from the command line. So in theory, you could compile the old Quake tools on whatever platform you like and control the quake tools from inside Blender using python. For special attributes, like doors or skyboxes or animating textures, the you could perhaps give objects special names. (IE, a door becomes DOORUD_01, and if the python script sees this, it makes the object an up and down door on export.) The same goes for crystal space -- I believe the levels are XML now, allowing for an extremely easy export from blender by simply walking through the geometry.

The other thing would be an easier, better way of using python plugins in blender. The current system is somewhat unwieldy.

Hope this all helps answer your question... If not, you can beat me severely. :shock:

dreamerv3
Posts: 119
Joined: Wed Oct 16, 2002 10:30 am

Post by dreamerv3 » Wed Jan 01, 2003 12:45 pm

I totally agree with you on the playation memory point, but things being as they are I'd sooner buy a ps2 (already have one) from sony that is a little bit inferior to the xbox (it is a bit inferior that even I being against M$ will admit) than pay for a microsoft product, now those of you not being biased can go right ahead and try to get the linux for xbox system to work, but I think I'll show my support of linux to sony like others should do as well, and perhaps they'll get it and ship a more mature linux kit with PS3 which will definately have the programmability of the xbox if sony wishes to remain a force to be reckoned with.

just think if playstation 2 could be bought for $200 or later prhaps $149 and then a year into the lifecycle a linux PC kit becomes available to turn it into an internet capable PC with all the faculties of a PC, then you have tremendous value instilled into the product, couple that with the hardware uniformity of a console and you have a developers' paradise.

Linux would instantly get household name status, and the recognition would spread like wild fire. Recognition means people will think about and then they'll think about buying it, then you have customers and a market is created, suddenly hardware developers for usb devices have an incentive to develop drivers for the ps2 periperals they will want to sell, this means developers of peripherals for the commodity PC systems running linux will see a potential viability for linux peripherals and then drivers would be needed, this would close one of the voids of linux --- driver support. With blender being cross platform and heavily supported on linux poeple would finally have a decent 3d application to use for linux and the game studios already creating games for linux ps2 or later 3 would have next to nill porting effort required to sell to linux pc's.

Thats reason enough for me to support linux ps2.

Plus everytime someone hears that the ps2 can be used as a PC they go "Wow it not just for games?" Thats tells me peoplewould like nothing better than to please the kids with a ps2 for only $200 then later on turn that same ps2 into a pc for $200 or less if a later linux kit is shipped. Do I smell value or what?

Microsoft would hate for that to happen... They would rue the day...

karri
Posts: 1
Joined: Thu Jan 02, 2003 7:23 am

PS2 or XBOX or self-bootable Linux?

Post by karri » Thu Jan 02, 2003 7:44 am

There is an even cooler and easier approach for making self-bootable game CD's.

The gentoo-project can make your PC work as a game-console without a need for a hard disk. Read this old news clip from September from the www.gentoo.org -site:

"Epic Games' much-anticipated Unreal Tournament 2003 Demo is now available on a self-booting Gentoo Linux-based LiveCD, allowing you to play the Unreal Tournament 2003 Demo using any modern PC with an NVIDIA GeForce 2 or greater graphics card and a CD-ROM drive. Full networking, OSS sound and Creative Soundblaster Live! and Audigy support included, allowing for the full gaming experience including LAN/Internet play, EAX environmental audio and of course 3D accelerated OpenGL graphics. The CD also serves as a fully-functional Gentoo Linux installation CD."

I also checked the way a gentoo-cd is built and I LOVE IT :D

It is the best packaging system I have seen so far. It combines the best parts of Debian and BSD. The idea is that the entire operating system is compiled from scratch and you can add all the configure options you really need. If you don't want kde-support then it is removed from all the packages. So there is no garbage floating around just a minimal system with everything you really need. The resulting image loads fast and it supports already Sparc and PPC targets too. Who knows when XBOX and Playstation will be supported...

If somebody has time it would be a very very good thing to make our configure compatible with gentoo's Portage packaging system. I wish I had more time so I could do this myself...

--
Cheers,

Karri

dreamerv3
Posts: 119
Joined: Wed Oct 16, 2002 10:30 am

Post by dreamerv3 » Thu Jan 02, 2003 1:34 pm

I think that demo cd is a really good idea.

1.) It separates the software developers from the os vendor which means less risk with regards to os lock-in

2.) It lets anybody boot up a game, this could be the beginning of something cool...

On the console issue, I still prefer a sony product over an MS because sony is an industry giant and yet hasn't been as empirial as M$ has been...

Snatch
Posts: 0
Joined: Thu Jan 02, 2003 2:20 pm

Post by Snatch » Thu Jan 02, 2003 5:36 pm

I think that it is possible, to create game with blender even if we don't wants to launch blender to start the game. I have created all graphics part of my games with blender : http://cinag.sf.net , it is really simple to write a python export script to an ascii file and read it at the startup of the game ! For Quake models i think that it is possible but just somebody who know really the quake engine can make it !

Mohij
Posts: 0
Joined: Wed May 04, 2005 8:12 pm

Post by Mohij » Mon Oct 10, 2005 3:56 pm

lpetrich, your ideas to make blender more game editor like are cool. I have thought about that, too. Look here, the points 9 - 12 and the last post.
Even a fool is thought wise if he keeps silent, and discerning if he holds his tongue. Proverbs 17,28

Post Reply