Open CelloCodez opened 9 years ago
I kind of stopped working on it when the Java version stopped, since the editor is based on Java. The editor itself is supposed to eventually have its own file format for levels (the java parser for which sort of made). If someone with better C++ skills came along and helped make a c++ parser, then I would definitely want to continue this thing - I have intentions to keep it in Java, but I think it would be a good idea to try rewriting it in C# .NET, since it recently went cross platform.
As far as I know, the Java version went dead, after Benny stopped work on it, me and a couple other people kept it chugging along a few videos, but then we couldn't figure out normal mapping, and gave up after Benny couldn't really help us - it's still in good working order, just lacking features.
If Benny showed some interest for this to be a thing, and someone would help with making some c++ parsers, then I would gladly restart, even though I have stopped following the main series now.
Ok. Do you mind if I make my own, not an extension of this, but using some of this code as a reference? Basically copy the idea, but not the actual code. I would like to do this with the updated engine on Benny's github page.
Also may I use the .planet file thing?
What do you mean by Benny's updated version? This uses the last java engine to work 100% correctly. If you want to use it in the newer java engine or c++ engine, all you need to do is make a .planet parser, and add saving (which answers your 2nd question, yes, you may). If you want to remake this, I would like to be involved, and feel free to use this as a reference. If you do remake it, you could just use this, and change some of the code so it for example opens up the engine loading a temp file or something, because I heavily modified some rendering/window code for it to work in window panes properly.
I'm surprised you found this actually, and if you seriously want to remake it (the code is damn messy), to support new versions etc, I'd be glad to help.
(whew I wrote a lot. Just trying to give an idea of my goals, and remember: I know that I won't be able to accomplish Unity3D or UDK haha in 3 days, this is just for a basic engine editor)
Yes, in Java, and I am getting started adding physics to the latest and last Java version of the engine (I am using JBullet, the main pain is the conversion between javax vectors and Benny's vectors). You could be involved, just this will be a fork of Benny's engine, will use Apache 2.0 like his, etc. and will be modded for physics. Also, I want to try and make the engine and the editor two different repos, but the engine is built into the editor every time the engine is updated. Lastly, here are the things I had in mind of adding (besides physics, and in no specific order, some may take a while anyway):
Sound Prefab objects (scalable cubes, spheres, etc.) Some sort of 3D picking (necessary for an editor) Scripting (Preferably simple for sake of easy coding)
If you don't want to try use the c++ engine, feel free to try update it in java (does it even have shadows, bump mapping etc?). I'm going to do some research and see if I can force a java program to open in another ( hard to explain right), then the editor and engine could be completely separate, and load each other from a .jar. If you make a repo for your engine I'll pitch in and help with things, (it will be a continuation of some of my previous efforts after all). As for the editor, I think I'll remove the engine stuff, and just create some basic unlit rendering, in the style of Unity's editor.
With scripting, I looked into it before, you may want to have a look at Mozilla Rhino
I've heard of Rhino. Also, I did start the physics already, yes, but that was on another computer and something happened to the project, but I am modifying the main engine right now. I am trying to make some prefabs so later I can test other things quicker, but my DefaultMaterial (using the bricks2 in the textures) and my PlanePrefab (using the DefaultMaterial) glitches up. The bricks render, lit and all, but they have tons of black lines on them, like one of the mappings is glitching. I am using the same Material initialization currently as the other flat plane that had this texture, and I have a correctly set up plane that I made sure was right. Must be the shader, the addition of another light, improper game engine initialization, or normals. ugh I have always been sucky at figuring out lighting problems, but other code is always easier. Here is the picture:
By main engine I assume you mean c++ right? Anyway, maybe try initializing a second identical material and see if that fixes it. If you make a repo for this (since you already want to make a fork of the project) I could have a look if you can't find it.
Sorry, Java. Am about to update the fork, then go to bed. I'm pretty tired.
Okay, pushed the whole project because of some mistakes with Github and me forgetting to set up the repo on my computer before doing some other stuff. Now you can see the glitch if you run it, just make sure the LWJGL natives are set and the Java version doesn't glitch and set the core library to like some old Java version (that rarely happens, messing everything up).
For me I can't even see that plane, I see the one big one, then a gray square in place of #2
Hmm...strange. If you look at my code in my repository, the PlanePrefab is just a GameObject extension that initializes itself with the data of a GameObject with a MeshRenderer for a plane, using my DefaultMaterial prefab, which is the same as "material" in the original TestGame in Benny's repository. Also, I remembered to use AddObject. Maybe a material glitch? I would make sure the textures are there in the res folder. I honestly don't know why.
Ok, I fixed the issue. I had accidentally set the scale of the plane to 0 in the Y axis (What was I thinking?!). After setting it to 1, the problem was resolved. I am now working on physics, and playing around with the (sadly not updated in a long time) JBullet physics library.
Almost done with JBullet physics integration! Just some glitches, then raycasting and triggers. Once I am done with physics, I am going to split the engine into two branches: one for the engine, the other for the editor (the editor needs physics for 3D picking, everything else will be gutted out, things like gravity). Once physics is over, I am going to add sound to the engine, and a sort of Event system, like OnTriggerEnter, then play a sound, or move an object, which could be used to make a game even just in the editor (probably something like a puzzle level using Events and physics). I am going to look into Mozilla Rhino and probably make some separate tests with that, then later either add JavaScript support, or add scripting through a weird custom language (I really am hoping for JavaScript). Once that is all done, one could say that this is a basically complete game engine (without anything fancy: 3D, sound, physics, scripting)! I am a happy coder.
I would like to see this continued, and maybe someone could add a physics engine to it. (That's the one thing I could never figure out the math for - 3D collisions!) If someone did that, then I would gladly see what I can do. Heck, all this needs is some prefabs, physics, and SOME sort of scripting or control and you could make a game with it!