This site uses cookies! Learn More

This site uses cookies!

armedunity.com uses cookies to improve user experience.

By continuing to use this site, you agree to allow us to store cookies on your computer.

OcularCash

AU Core Game Engine

42 posts in this topic

why don't you and OMA create and 3d game engine easy to understand like unity with source code c++ or Csharp?

Share this post


Link to post
Share on other sites

C++ is great, but only maybe a total of 5 people on this forum knows the basics of it, let alone advanced knowledge. C++ is actually my first language, but no sense in making an engine no one on the forum could use.

 

c# on the other hand, nearly everyone here knows. The problem with c# is it's like the bastard child of c. Which means a long time ago it was a great language and there was large amounts of resources available and wrappers. Nowadays, not so much. C++ overshadows c# so much, not because it's better but because it was it was made the "college language", that dx is literally dead on newer windows for it and they're OpenGL is a huge hunk of outdated scrapmetal. Trust me, I looked for quite some time, I wanted to do a c# version for the community but I want to provide a performance upgrade, not a downgrade.

 

java was the best alternative to c# for both me and to release. Even tho it's literally identical c# so much that if I posted code here right now no one would know the difference unless I told them, Java is outside of the c family and there OpenGL api, mainly lwjgl in my personal opinion, is some of the best out there. And since the release of mine craft, Java apis have been getting massive love by API developers.

 

when it comes down to making something as large as unity and faster than unity, yes we can can make it faster (unity is actually slow as snails), but user friendly and sack wise, 2 men cannot achieve that. Also, besides myself, and I'm not aware of any other forum member that has tackled making a 3D game engine on the forum and making a game engine is a lot different than making a game. 

1 person likes this

Share this post


Link to post
Share on other sites

actually i dont think translatin the engine from java to c# is the way to go.

-none of both can be translated in to native code directly 

-syntax of both languages are basicly the same 

-performance (on windows) is basicly the same on unix systems c# is defenitly slower (cause of mono/wine) 

-c# depends on .net (windows only) / java depends on jvm (nearly all os supported) (that makes porting the engine to another os extremely easy) 

 

i dont know if its just me but i think you should at least keep the java source since i really dont see any advantage in coding it in c# (exept already existing liberies, wich could also be translated in to java within days)

 

p.s. i do really support your effort and of cause you are free to do whatever you want with your engine. Also according to your previous posts you made on this forum im sure the engine will turn out to be really well done.

      All i want to say is: Keep up the good work (Y)

Edited by Erarnitox

Share this post


Link to post
Share on other sites

Thanks erarnitox.

 

Just finished scene file importing. It's pretty basic but it does the job for the moment. It will be more complex in the future initializing new classes ON classes and blahdy blahdy blah, but don't really need it just yet. Here is what it currently looks like:

 

Please login or register to see this code.

 

"&" Tells me the name of the gameobject to be instantiated in the scene. The first 3 lines after tells me the position, rotation and scale of the transform. ">" Tells me that there is a component attached. "engine/camera" Tells me the script I want to add is in the engine package and it's name is camera. "engine/MeshRenderer/Cube,Default" Tells me that I should add a MeshRenderer found in the engine package with the a mesh named "Cube" and a material named "Default". At this current moment, The only way to create a scene file and edit it is by hand and typing it up. Once I get around to it, I will make a scene exporter for Unity so you can use Unity as a scene builder and export the scene file and run it in DevEngine. There will also be an editor in DevEngine but it won't be at the scale of Unity, basically just to add components to objects and change there variables and so on. Here is the importer in Java so you can see how it loads in code:

 

Please login or register to see this code.

Pretty simple to understand but like I said, at the moment, it's still quite basic.

 

I've also go most of the primitives class done, so primitives are generated by code on start and stored into memory. As you can see in the scene file, the mesh "Cube" is actually using the Cube primitive that is now built in. The gui is still barebones and non operational tho. I will not begin GUI until I finish the PostProcessing Pipeline because the gui will participate at the end inside of an fbo (Frame Buffer Object, same buffer type as what postprocessing uses).

 

Edit: Finished adding loading variables in custom game scripts. You will need to add a function like this to your script:

public void Set(String[] v){}

Inside this function, you will just need to parse it and add to the corresponding variables. The reason this system does it like this is that unlike normal game engines, I am removing 99% of all reflection calls and setting variables in normal engines indeed use reflection to get and set variables that contain custom (public) properties. My engine will ofcourse not, but will need to add the Get and Set function and tell the parser which variables you want to save and load for a specific class and parse the variable information to set them

Share this post


Link to post
Share on other sites

v0.01b will be available soon. Having some issues getting the right view matrix and/or transformation matrix to match unitys. Everything is working, just have debug the matrices being sent to the shader to get the proper projection axis. Once the matrices are fixed, I will post it. 0.001b will include unity scene exporting for gameobjects, transform, cameras, mesh renderer / filter and exporting if used textures, materials and mesh. Just hit the export button in unity, select the res path and click play in DevEngine, simple as that

1 person likes this

Share this post


Link to post
Share on other sites

Could you perhaps write some instructions on compiling and executing from source (without IDE) the Engine in the GitHub readme.

Share this post


Link to post
Share on other sites

Ya, I'll get around to that eventually. Some of the code itself has to be changed as the code I'm using to to import only works within the ide at the moment. It's not that much more that has to be added to compile as a standalone but I haven't had the need to add it yet.

 

the rest of the stuff is things like compiling to a jar and turning it into an executable, then adding the resources and recompiling to hide them. But I will write up a compiling instructional once I get to that point. Right now I want to focus get the core engine to where it needs to be

Share this post


Link to post
Share on other sites

Added an Apache Ant installer + linux natives as a pull request. Couldn't compile the CoreComponent without a shader error saying:
 

Please login or register to see this code.

 

Share this post


Link to post
Share on other sites

Merged. If the mesh isn't triangulated or there were no included uvs or normals it will throw that error. Basically just saying the format of the mesh is not what's it's expecting

Share this post


Link to post
Share on other sites

Added Travis CI integration as a pull request

Share this post


Link to post
Share on other sites

Merged. Got it to render as it should. Since OpenGL uses left hand coordinates and unity uses right hand with inversed (positive) x (+x, +y, +z) I had to flip the camera, inverse the x transformation (+x) and negate the view matrix (-x) to flip x world coordinates. The model then get flipped inside out once I inverse the x (+x) the vertice positions so I had to cull the front face instead of the back. A lot of fiddling but it's working... hopefully for good. We will see once I add light calculations

 

edit: Even better, just negated the transformations z and inversed (+z) the view matrix. Then inverted the z in the vertex shader and culled the front face. Now I don't have to flip the camera

Share this post


Link to post
Share on other sites

nvm, looks like it's only rendering half the models in the scene correctly. Last night I used a basic cube anchored to left hand coordinates to get it how it's supposed to be. But this morning I tried an entire scene and it seems some models are flipped on the z (as they should be) and some are flipped on the y for some weird reason. Before adding the z calculations everything rendered together, just on a left hand coordinate system. So I'm guessing I messed up somewhere somehow. I'm going to have to step through the shader code later and see which line it is that is flipping some of the models upside down.

 

lighting is working great tho so I guess that's a plus lol

 

edit: fixed. I inversed [+] the z positional coordinates but I forgot to inverse [+] the x rotational matrix. I'll post it later tonight or tomorrow

Share this post


Link to post
Share on other sites

Much better and lighting matches beautifully. I've got directional lights and points lines on the new coordinate system working now. I'll probably start shadows in a week or two, depends on what comes up first

 

Please login or register to see this attachment.

1 person likes this

Share this post


Link to post
Share on other sites

Updated. Also added an extra folder in the src/engine folder by accident and don't know how to delete folders in git

 

i may go ahead and post the next version in the downloads section here on the forum. Don't really feel like dicking with a hit hub or having to do a bunch of fancy stuff just to delete a folder. It's 2017, give me a button to press that does it for me, not 15 command lines resembling pcs from 1975

Share this post


Link to post
Share on other sites

Repo deleted. Only premium members will have access to in development source from here on out and will be exclusive to armedunity.

 

topic closed and will upload to premium downloads later and start a new topic there

1 person likes this

Share this post


Link to post
Share on other sites

Okay invite my email them please ;) 

Please login or register to see this code.

 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.