Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411276 Posts in 69323 Topics- by 58380 Members - Latest Member: bob1029

March 28, 2024, 11:36:14 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Writing an engine without an editor
Pages: [1]
Print
Author Topic: Writing an engine without an editor  (Read 823 times)
RalenHlaalo
Level 0
***



View Profile WWW
« on: February 19, 2017, 03:09:33 AM »

I'm making another attempt at writing a game engine, but I want to focus mainly on developing the runtime component, so I want to leverage existing asset creation and map editing tools as much as possible to avoid having to write my own offline tooling.

Is this possible to do, or should every engine provide at the very least an editor for positioning game entities and setting their properties? Can something like blender do all of this? It would have to allow me to create 2D menus, spawn points, camera paths (for cut-scenes, etc.), and basically everything else a game needs. How would I handle custom game objects with their own properties that blender doesn't know about? I will surely need to place objects on the map and tweak their properties. Can blender (or similar) allow you to add custom properties to game objects?

What would be useful is an open source (incl. data) 3D game I could examine whose assets can be viewed and edited using freely available, non-proprietary content creation tools. Then I could use the exact same content pipeline for my games but with my own engine runtime. ALL of the game assets would need to be editable with non-proprietary tools - not just the 3D models. I want a complete content creation solution, basically.

Is this realistic, or does writing one's own engine necessarily entail writing map editors and things too?

Thanks Gentleman
Logged

JWki
Level 4
****


View Profile
« Reply #1 on: February 19, 2017, 04:51:32 AM »

That's an interesting topic I think.

So, I guess it depends largely on what kind of engine you want to build. Is it a general purpose engine? In that case, you'll need general purpose tooling, and that's hard to find outside of established general purpose engines like Unity. I actually worked on a project once where we used Unity's editor as part of our toolchain, with custom editor scripts that would transform Unity's internal representation of assets into our own. I'm actually unsure on whether we violated any usage terms with that.

If you're making a more specific engine, say a FPS engine, you have more choices in that regard - maybe you can utilize the Hammer editor, or some other FPS map editor.

However, I wouldn't recommend using somebody elses runtime format for your assets simply because it's a pain in the ass to do that most of the time. It also limits you a lot in terms of engine design.
So I'd say what you can do is find some nice tool that has some means of writing custom exporters for data it imports or generates and use that. Unity might be a good fit, but I've also seen people use blender as general purpose editor.
Logged
Polly
Level 6
*



View Profile
« Reply #2 on: February 19, 2017, 08:02:49 AM »

How would I handle custom game objects with their own properties that blender doesn't know about?

Use a "smart" naming convention ( in Blender ). For example, when you're placing instances of a enemy goblin in your scene, you can name them something like "enemy_goblin_h4_00", so when loading / parsing the scene your engine knows that it should spawn a enemy of the type goblin with a initial HP of 4 at that location.

When the actual goblin model is in other file ( which it usually is ), you can just use a dummy or quad with a picture of a goblin applied to it.
Logged
rakifsul
TIGBaby
*


View Profile
« Reply #3 on: February 19, 2017, 09:01:01 AM »

Is this possible to do, or should every engine provide at the very least an editor for positioning game entities and setting their properties?

Is this realistic, or does writing one's own engine necessarily entail writing map editors and things too?

There was a game engine called Gamekit(https://github.com/gamekit-developers/gamekit) which depends on Blender as map editor while the developer only make the runtime.

For GUI designing, it was using rocketlib which can be designed with css.

I was once make my own game engine with ogre as rendering component, but it has no editor and the engine cannot be used for releasing any game.
Logged
InfiniteStateMachine
Level 10
*****



View Profile
« Reply #4 on: February 19, 2017, 12:22:09 PM »

Not sure about blender but maya files have a user data section you can put whatever you like in there and then you can code up the custom windows/editors to write/read that data. I'd be surprised if Blender didn't have this.
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic