Advertisement

3D game design with no engine / code orientated

Started by January 29, 2019 06:00 PM
10 comments, last by JTippetts 5 years, 7 months ago

For Computer Science, i must work on a project that explores a field within computing in detail. i have decided that i want to make a 3D game. My teacher informed me that using game engines are allowed, however they must be mostly code based, meaning that sprites etc cannot just be automatically generated just by graphically designing them. which language would be best suited for a project like this, and which engine would be best to use, if any.

I am not quire sure what you mean by "sprites etc cannot be automatically generated just by graphically designing them", but as far as game engines for making 3D games go Unity and Unreal are probably the two most popular ones right now. I personally use Unity and I have found it does a great job of offering you enough tools to get you started quickly, the learning curve is not steep (especially if you have C# programming background), it's very widely used and because of that there is no shortage of tutorials (YouTube and others) out there on any topic you can imagine, and support for it is good. It is code based as well, you can program in C# and JavaScript.

As for sprites, I think you can create them in Unity, though I am not sure about that as I always use external ones for my game project.

 

Advertisement
52 minutes ago, SinewyDamion said:

3D game design with no engine / code orientated

Your question is not about game design, so it has been moved here from the Game Design forum. 

-- Tom Sloper -- sloperama.com

5 hours ago, SinewyDamion said:

which language would be best suited for a project like this, and which engine would be best to use, if any

For first try to detailed figure out what you want to do. i.e. what functionality your project have to have exactly. Then compare list what you need to do with list of wich engines can to do. As results you will have a list of engines that good for you needs and list of features that you need to make yourself. Similar with language. First  determine what same you have to compute. Then it will be clear what same language best fit development needs.

#define if(a) if((a) && rand()%100)

Welcome. You're wanting to do 3d but mention sprites, which is normally associated with 2d. But I assume this is just a slip :)

A few questions. Is this university or school? How long have you got? What language/s do you already know?

If you're going to explore 3d in detail, I'd suggest you don't use an engine at all, and especially don't do a game. It seems like this would distract from your stated goal: "explores a field within computing in detail". 3d games are not a field within computing, but 3d graphics definitely is (this is my opinion). So you'd want to maybe focus on some 'basic' 3d that you implement yourself, from 'scratch', for fuller understanding. edit: From scratch could be either from the lowest level, matrices, etc. or probably use a simple 3d library (not engine) where don't have to reimplement the entire wheel; depends on your real needs.

I'd also suggest you choose a language that you already know, or if you don't know any suitable ones, choose something like Python. https://www.pygame.org/tags/3d Otherwise the learning of the language will also distract from the main task of exploring the chosen field. And no, I'm not a Python user so I'm not pushing my own bias here.

But please give us more info, and good luck.

Developer since 1994. Programming since '80. Still like it.

44 minutes ago, duke_meister said:

If you're going to explore 3d in detail, I'd suggest you don't use an engine at all, and especially don't do a game. It seems like this would distract from your stated goal: "explores a field within computing in detail". 3d games are not a field within computing, but 3d graphics definitely is (this is my opinion). So you'd want to maybe focus on some 'basic' 3d that you implement yourself, from 'scratch', for fuller understanding. edit: From scratch could be either from the lowest level, matrices, etc. or probably use a simple 3d library (not engine) where don't have to reimplement the entire wheel; depends on your real needs.

I agree. 3D from scratch (matrix math and rasterization, using something like SDL to get pixels on the screen) is great fun and highly educational. Depending on how much time you have, you could either do wireframe, solid color triangles, or textured and shaded.

But if you really want to do gameplay code (making characters move around and interact), you might consider going 2D so you're not either using an engine that has all the code done for you, or spend all your time just trying to get up and running. There's surprisingly little difference between 2D and 3D gameplay code, so most of what you learn should be applicable to 3D in the future.

Advertisement
21 hours ago, SinewyDamion said:

which language would be best suited for a project like this

JavaScript or TypeScript

21 hours ago, SinewyDamion said:

which engine would be best to use, if any.

For 3D - Babylon.js or Three.js

I'm not sure what the requirements mean.  I take it that Unity and Unreal are out -- JMonkeyEngine is a little more code-requiring / programmer oriented (if you don't mind Java) but the rendering is already in the engine.  Then, any actual 3D engine is going to have rendering as part of the engine, so maybe something like JME3 would be OK.  If you are planning to code the actual rendering that might be more a matter of writing an engine than an actual game, either as a software renderer or using OpenGL or DirectX, or Java + LWJGL.  It's tricky when to say when you don't know the requirements.  Writing a renderer either way can be a good learning experience.

As for language, I'd go with either C++ or Java as my own preference -- for a non-professional game its really just going to be about preference.

If you will decide to use C# with modern OpenGL, you love Linear Algebra, Trigonometry, math for shaders then I advice you this excellent book: C# Game Programming - For Serious Game Creation - Daniel Schuller (source code for the book here).

About the Author:

Quote

 

Daniel Schuller is a British-born computer game developer who has worked and lived in the United States, Singapore, Japan, and is currently working in the United Kingdom. He has released games on the PC as well as the Xbox 360 and PlayStation 3. Schuller has developed games for Sony, Ubisoft, Naughty Dog, RedBull, and Wizards of the Coast, and maintains a game development website at http://www.godpatterns.com. In addition to developing computer games, Schuller also studies Japanese and is interested in Artificial Intelligence, cognition, and the use of games in education.

 

 

Someone gave me this link : https://urho3d.github.io/

Looks like all code based, only i can not tell if it is any good.

You can sell and change everything you like with this one, unlike unreal-engine and unity.

This topic is closed to new replies.

Advertisement