Jump to content
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

Recommended Posts

After I finish the current game engine I'm working on right now (about 2 or 3 weeks left), AU Core Game Engine will begin development. But like the title says, it is a "core" 3D game engine. It will be developed for my new game so most likely if its not being used in the game, it will most likely not be included in the engine. Features it will include is:

 

fully functional aabb physics engine (not obb is the game does not require it) including "raycast" "aabb cast" "sphere cast" "triggers OnTrigger" "collision OnCollision" and your normal physics stuff. It will be fully component based with getting and setting components. Basic editor UI. Full skeletal animation system. And all your normal everyday components.

 

the engine will be a free, fully open source engine for the community with no restrictions outside of pretending you made it and/or trying to sell it. It will be built in java but release when the game is released, I will port to c# and c++ if there is enough requests. Alphas will be posted every so often but the full engine won't be available til the release of the game.

 

just thought I'd give everyone a heads up in case your looking for your own engine. This will be last time you'll here about it til further in development

 

Please login or register to see this link.

DD3 Model Exporter in Unity 5 to be used for DevEngine v0.01a

 

Please login or register to see this code.

 

  • Like 7

Share this post


Link to post
Share on other sites

Update:

 

GameObjects: full OOP system is complete. All scene objects contain there own transformation and optional meshrenderer containing mesh and texture with custom settings. Each object also contains a list of attached components. GameObject also includes default methods such GetComponent and SetComponent and BroadcastMessage.

 

Components: each component derives from CoreBehaviour that includes default methods such as awake, update, oncollision, OnTrigger and onrender.

 

Collision: sphere, cube and mesh collision are all three completed. Each collision is broadcasted to colliding objects components

 

Triggers: sphere, cube and mesh trigger are all three completed. Each trigger is broadcasting to the players components.

 

Vector: Vector3 class is 95% complete and Vector2 class is 50% complete

 

Mathf: adding as I go. Currently has the most useful float math functions such as Max, Min, Lerp, MoveTowards and Clamp.

 

Input: is 99% complete with adjustable horizontal and vertical axis acceleration and deceleration.

 

Time: 100% Complete

 

Batching: currently batches only textures. Later it will also batch mesh but is not currently that important

 

Physics: spherecast and cube cast is currently done. Linecast will be added later.

 

Current framerate: runs 100k sceneobjects and constant movement with attached components as a full scene at well max fps (aka: runs so fast that if I don't cap it at 200fps or less, it crashes my CPU)

 

and much much more.

 

currently I am doing the modelling which could take a bit to do. And I am not 100% sure if I will be using the engine or unity for my game. I am  currently up in the as I'm not sure which platforms I want. Either way, the engine will still be made, but if I decide unity for this game, the engine might be pushed back on completion for a couple months

Share this post


Link to post
Share on other sites

Hey, if you are still working on this project can I help? Create a github repo so I can contribute because right now it looks like you could use some help mate ;) 

Share this post


Link to post
Share on other sites

Sorry, Idk why I didn't see this before. Until models are finished, the engine itself will sit at a stand still. Most of the basic stuff is finished, hell, could prob even make a simple game with it as it is but wouldn't look too pretty lol I still have awhile before getting back to the coding part of the game as I've only finished maybe 30 models out of around 250 to 300 models. Once I get the get the models done I have to get all the animated ai/players and also have to sit down for a few weeks or so and get the audio tracks/effects finished. The game is looking like it will have 10 playable characters, 9 areas (kingdoms) with roughly 2 normal enemies and 1 boss per kingdom so in total about 27 enemies plus the normal npc's.

 

Once I get back around to focusing on engine specific stuff I'll post it on github, but may be a bit tho

Share this post


Link to post
Share on other sites

So a little change of plan. When I get finished with the models, I will be rewriting the engine in c# and scrapping the java version. The reason for this is because not alot of people are familiar with java and I want to make it an easy transition for people who used to using unity. I will also (eventually) add support for unity js sometime in the future, probably close to release. I want to make it so that users can take scripts they've made in unity and simply drag them over and use them without any modification (besides namespaces, I will be designing my own and not using Mono). Sorry for anyone who was looking forward to a java version

Share this post


Link to post
Share on other sites

Last few engines I've built had all been in java. It's just a language I enjoy programming in. I like programming in both java and c++, but not too many people who use unity have much experience in c++ so that why I chose java, because java is very similar to unity c#. But now I think it would be better to write it in c# so I can have access to custom operators and make it easier for people to transfer from unity.

 

But when I started looking around this morning and late last night to dip into some directx, It looks like c# is on the vurge of having a stroke when it comes to dx. Everything is either extremely outdated, not finished or terrible documentation. If I go with c#, I might be either stuck with using outdated API or using OpenGL. Biggest problem with opengl API's is they all very low level, which normally I wouldn't mind, but I want to focus more on the game itself and less on tedious engine programming just to be able to do the smallest tasks.

Share this post


Link to post
Share on other sites

Nvm, scratch that. I guess I'm going to stick with Java. Looked into c# and I'm just not liking any of there api and everything seems outdated and a little sketchy. Seems they are slowly fading out c#. So I'm going to stick with Java so I'm spending the next year digging through dump to extract anything useful since i don't have an abundance of knowledge in c#.

 

edit: I will be rewriting what I have done tho bc some of the things I'm planning on adding will require a little different approach. After its rewritten I will start a github repo for it tho

Share this post


Link to post
Share on other sites

Come on man please just release a public repo. I really want to help. At least invite me to a private one. Please.

Share this post


Link to post
Share on other sites

It'll be up in a week or two. I've changed a lot of the core classes and and working on obj parsing dd3m format, my own format that and adds a little more file size wise but reads double to triple the speed. Also splitting reflection calls in half where only add component uses reflection. Also rewrote the vector classes to do mathematical equations using up to 5 times less data than unity and unreal by reusing previous class instances (other engines create 3 or 4 class instances to move toward a vector, mine now uses 1). I'm also adding some new shader support and  split screen options in a couple days. Right now I'm not using shaders or anything in the revamped version bc I'm rebuilding the core, once I get those back up where the window isn't ortho and positions/rotations of objects are going I'll put it up. Don't want to put it up yet until those are working again

Share this post


Link to post
Share on other sites

Here's the new Vector3 class. It's not finished yet, still have a few functions to add but the new methods are there so you can see check them out:

 

Please login or register to see this code.

 

Share this post


Link to post
Share on other sites

I'll be putting the current progress up tomorrow morning if I have time. I'm going to try to get the fit the audio in there before repoing it. I wasn't able to add everything back in yet so it's currently only just a very basic renderer and the demo will only render 1 object with 1 texture (can render more, but demo will only provide that). Here is some of what is done and still to do:

 

ready:

imports DD3 model format

imports png image format

renders mesh with texture

Textures allows transparency

depth testing

scene fog enabled

antialiasing enabled

multiple cameras (doesn't render depth between cameras yet)

full component support

get and add components

camera and object matrixing

enabling disabling components/objects

alot more other stuff

 

not ready:

cameras don't render layer depth masking between other cameras yet

Most scripts have several functions still to be added

 

not implemented yet:

physics

shadows

audio

rigs animating

etc

 

anyone wanting to try it: this is way way way early in development. This is simply to post it for people to see early development. Anyone without prior knowledge is going to be pretty lost looking at the code. User ready version will not be until v1.0a, current version is v0.01a so you can tell it's got a ways

 

 

Share this post


Link to post
Share on other sites

Tomorrow morning at approx. 7:45am American cst is when I'm putting it on github

Share this post


Link to post
Share on other sites

Went ahead and created one and posted it so I can go straight to the audio in the morning. Please login or register to see this link.

 

DD3 Model Exporter can be found in the first post. Just drop this in unity and export your mesh to DD3 format. The reason why it's written for Unity is because unity handles edge splitting so developers with little modelling knowledge don't have to learn how to split edges and seperate UV's, etc... Unity handles this for us when it's attached to a meshrenderer so all we have to do is export it to DevEngine Format (OpenGL Formatting Format)

  • Like 1

Share this post


Link to post
Share on other sites

Will probably be a few before v0.01b. I'm currently building onto the dd3 exporter and making it a dds exporter (DevEngine Scene). The new dds exporter will export entire unity scenes (mesh, textures, audio, game objects, components) into a format DevEngine can read. that way I can use unity to build my scenes without having to program an elaborate user friendly interface and instead, use the engine strictly for running the game.

 

it will no convert scripts to java tho. It will only save component names and variables and match them to the correct java versions

  • Like 1

Share this post


Link to post
Share on other sites

Could you perhaps write some instructions on compiling the Engine in the GitHub readme. 

Share this post


Link to post
Share on other sites

to compile, you just need lwjgl 2 and slick. If you don't know how to add those, go to any java game tutorial and go the setup (like bennybox or thin matrix). It's just adding external jars into your project

Share this post


Link to post
Share on other sites

If your still having troubles when I get home, I'll add to the read me file

Share this post


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

×