• Advertisement
  • Popular Tags

  • Popular Now

  • Advertisement
  • Similar Content

    • By Runemark Studio
      Dark Fantasy Environment and Props





    • By bowcox
      Hi guys! 
      I have created a Pong game that has an AI that is almost beatable, changing the speed of the AI can make it ridiculously easy or hard depending on the way you go about it. 
       
      using System.Collections; using System.Collections.Generic; using UnityEngine; public class ComputerMovement : MonoBehaviour { private float speed; private float reAdjustSpeed = 1f; private Rigidbody2D computer2d; public static bool isTwoPlayer; GameObject theBall; Rigidbody2D rb2d; void Start() { computer2d = GetComponent<Rigidbody2D> (); } void FixedUpdate() { if (isTwoPlayer == true) { speed = 5f; if (Input.GetKey (KeyCode.W)) { computer2d.position += Vector2.up * speed * Time.deltaTime; } if (Input.GetKey (KeyCode.S)) { computer2d.position += Vector2.down * speed * Time.deltaTime; } } if (isTwoPlayer == false) { speed = 3f; if (theBall == null) { theBall = GameObject.FindGameObjectWithTag ("Ball"); } rb2d = theBall.GetComponent<Rigidbody2D> (); //Is the ball going left or right if (rb2d.velocity.x > 0) { if (rb2d.velocity.y > 0) { if (rb2d.position.y > computer2d.position.y) { MoveUp (); } if (rb2d.position.y < computer2d.position.y) { MoveDown (); } } if (rb2d.velocity.y < 0) { if (rb2d.position.y > computer2d.position.y) { MoveUp (); } if (rb2d.position.y < computer2d.position.y) { MoveDown (); } } } //Whilst it's not moving at the paddle, let it gain a slight reset by moving with the ball at a slower pace. if (rb2d.velocity.x < 0) { if (computer2d.position.y < 0) { computer2d.position += Vector2.up * reAdjustSpeed * Time.deltaTime; } if (computer2d.position.y > 0) { computer2d.position += Vector2.down * reAdjustSpeed * Time.deltaTime; } } } } void MoveDown() { if (Mathf.Abs(rb2d.velocity.y) > speed) { computer2d.position += Vector2.down * speed * Time.deltaTime; } else { computer2d.position += Vector2.down * speed * Time.deltaTime; } } void MoveUp() { if (Mathf.Abs (rb2d.velocity.y) > speed) { computer2d.position += Vector2.up * speed * Time.deltaTime; } else { computer2d.position += Vector2.up * speed * Time.deltaTime; } } }  
      I have looked up several posts across many different forums in order to create a much better AI. Most of the posts recommend that I use Raycasts to find out exactly where the ball might hit the paddle. I have looked up how to use them and I'm just completely lost, do raycasts consider collisions and go on infinitely or once they hit a wall, that's where it'll end up? Would anyone be able to help me understand raycasts a little better? 
      If you have another solution that enables me to calculate exactly where the ball will end up on the opponents side, I am more than willing to hear it
      Thanks again if you read this!
    • By eldwin11929
      We're looking for a Unity (C#) Programmer for our 2D Project. We're looking for a new lead programmer to continue with an existing project.
       
      Project is an open-world RTS, and is very close to a prototyping (playable) phase. Our existing lead, unfortunately, has no more time for the project, and thus we are in search of a new one who is interested.
       
      Game is purely fantasy based, and we'll be able to give you much more detailed info about the project as we begin to work you into it.
       
      You'll be working with our junior developer, who has been here since the beginning.
       
      Primary skills needed are just being able to work within Unity. But skills within XML are also a plus.
       
      Our list of major goals we'd need you to do is minimal, yet still fairly extensive:
      -Edit our current Pathfinding system to account for a few extra features.
      -Setup our global map system. You’ll be working off an existing random node-map web generator and existing random map generation system and essentially linking the two together. This includes handling random spawns (which has already been semi-setup) unique to each node’s respective map.
      -Further implementation of an existing random spawning algorithm (used to spawn things like enemies randomly across the Map).
      -Making sure to Save and Record all respective aspects of what was mentioned above.
      -Handling our XML database- database is created, but we’ll need to be integrating it. This includes all various things from units to abilities and so forth. Will also need to handle implementing an object’s unique attributes we cannot take care of within XML.
      -Various Content Implementation (to be done once our XML has been integrated).
      -Various Saving and Recording of all respective aspects of the database info mentioned above.
      -Various Performance Enhancements.
      -Potential for various misc things, such as further UI work.
      -Setting up a Menu system.
       
      We have a considerable amount of things done already- however I must warn ahead of time we have quite a bit of unclean code, which may be fairly overwhelming for a new developer on the project.
       
      Let me know your rates per hour, and we'll see if we can work out a good deal between both of us. Royalties are also included.
       
      If interested, send an email to: eldwin11929@yahoo.com
       
      Thanks!
    • By jhocking
      My bestselling and highly recommended Unity book has been fully revised! Unity in Action, Second Edition teaches you to write and deploy games with the Unity game development platform. You'll master the Unity toolset from the ground up, adding the skills you need to go from application coder to game developer.

      Foreword by Jesse Schell, author of The Art of Game Design

      Don't take my word for it being good, look at the sky-high ratings on GoodReads.

      You can order the ebook directly from the publisher's site, or order the book on Amazon to get both the physical book and a coupon to download the ebook!
    • By ThunderTwonk
      Hello everyone, I am working on a game idea and since I am still in the process of learning C# and the features available in unity I was hoping some of you might be able to offer me a little insight on things in general for getting started.
      I guess the basic components of what I'm wanting to create would be a Multi-levels management/city builder/rpg.
      The goal is to provide a framework for players to interact with, build in and affect the world both from a 3rd person action RPG as well as a zoomed out 4x style view (This would be something unlocked through gameplay)
       
      As for my questions go I was wondering if anyone had resources that could help me learn.  I've been on youtube as well as enrolled in an online course for basic unity and C# and will continue those but if anyone has any words of advice, a place that has good information and tutorials etc.
       
      Thanks for your time.
  • Advertisement
  • Advertisement
Sign in to follow this  

Unity Idea about game engine for Linux

This topic is 900 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi all,

I'm a university student in Hanoi, Vietnam, and there is about one year and a half until my graduation day. My plan for graduation project is clear: make a game engine for Linux based system, since Linux has received many positive attraction for gaming now (games for Linux on Steam are more and more, Unreal Engine and Unity Engine have their Linux-port version - although it's not officially).

I chose Ogre as my rendering engine, because writing a complete new rendering engine is a hard and somehow redundant work. Also, I want to concentrate on features that a game developer can use to make his game, and rendering is just one of those features. Furthermore, Ogre was originally developed with Linux, so I think it would be a nice choice. And lastly, Ogre has many plugins, which makes it almost becomes a game engine.

I really like the design of Unity Engine - they focus on easy-to-use ability. For Unreal, it is so fucking powerful but very hard to understand because it's too large (and it requires a beast PC as well). The aim of the project is to combine two approaches: easy-to-use (from Unity), and powerful (from Unreal). I know, this is not an easy work, especially I'm working alone (comparing with Unity and Unreal Engine, they both have a big companies and most intelligent brains behind them). But I will try my best.

I will post my problems and issues here, hopefully you will support me. Every help will be appreciate.
p/s: maybe some of my questions (or maybe, all of them) are stupid, because I'm an inexperience developer. Please, be patient with me.

Regards,

Edited by tongtunggiang

Share this post


Link to post
Share on other sites
Advertisement

So you want to make an engine and an editor? That's a lot of work for a school project so better scope it well. I'd suggest using Qt for the editor.

Share this post


Link to post
Share on other sites

So you want to make an engine and an editor? That's a lot of work for a school project so better scope it well. I'd suggest using Qt for the editor.

 

Actually I'm using the QT Creator as the IDE, one of the reasons is I can create an editor quite easily with it.

Yeah, I know that is a lot of work here, and nothing will guarantee that I'll be successful. But I need to do this. And sometimes failures give more motivation than success. :D

By the way, I have a problem now, I will post it there tomorrow. Let's start working....

Share this post


Link to post
Share on other sites

Why not help improve an existing engine rather than trying to create yet another engine? Urho3D comes to mind...

 

It's my graduation project, so I think I will do something is actually mine.

 

also check out http://www.godotengine.org/projects/godot-engine

Works like a charm on Linux.

Although I wouldn't be opposed to seeing more alternatives smile.png

Good luck!

 

Thanks. Looks great, would be a nice reference for me :D

Share this post


Link to post
Share on other sites


there is about one year and a half until my graduation day. My plan for graduation project is clear .. this is not an easy work, especially I'm working alone

While I appreciate what you want to do, you need a serious reality check.

 

You are likely to find time for 500 or 1000 hours of effort to your project.  The normal scale for comparing work is FTE ("Full Time Equivalent"), which is about 40 hours of week for a full year.  You are most likely going to spend 0.25 FTE on your project, maybe even as high as 0.5 FTE if you work on it extensively but few students invest that kind of time on projects.

 

The projects you list as comparable are not small.  They have development teams from tens of people to hundreds of people and required multiple years.  They are on the scale of hundreds or thousands of FTE hours.

 

You have about 0.25 FTE available for your project.  If you expect the same results as a 2000 FTE project, success is unlikely.

Share this post


Link to post
Share on other sites

I know that there will be a tough works waiting for me.

 

At this time, I'm still struggling about making the design which is independent on the background - Ogre. I need to do this, because when I want to change the background (maybe the newer version of Ogre, or a whole new 3D rendering engine, or an additional 2D graphics library...), the interface that I provide for my users won't be change so much.

Share this post


Link to post
Share on other sites

I know that there will be a tough works waiting for me.

 

At this time, I'm still struggling about making the design which is independent on the background - Ogre. I need to do this, because when I want to change the background (maybe the newer version of Ogre, or a whole new 3D rendering engine, or an additional 2D graphics library...), the interface that I provide for my users won't be change so much.

Not only is it going to be tough work.  Its probably not a good idea for a degree project.  There is very little to be gained from writing a games engines.  Most of your marks for a degree project will be gained from the write up you do about the project.   Creating a games engine is not something that is new or original and there is very little academic merit gained from plugging a few open source components together and creating a QT editor.

 

If you are focussed on Linux you might be better doing a feasibility study on using the most popular Linux games engines (Unity, UT and Godot).  Just create a mini game that you can reimplement in all three engines and then do a write up of the differences in performance, ease of use etc..  It doesn't sound as technical but it is likely to gain you a much better grade than spending your time righting a complete engine.

Or follow TheComets advice and improve or modify an existing engine.  For example you could take Godot and replace its renderer with a real time raytracer.

If you want to write an engine then keep it as a hobby project.  For your degree look at where your marks are going to be achieved.

Share this post


Link to post
Share on other sites

 


there is about one year and a half until my graduation day. My plan for graduation project is clear .. this is not an easy work, especially I'm working alone

While I appreciate what you want to do, you need a serious reality check.

 

You are likely to find time for 500 or 1000 hours of effort to your project.  The normal scale for comparing work is FTE ("Full Time Equivalent"), which is about 40 hours of week for a full year.  You are most likely going to spend 0.25 FTE on your project, maybe even as high as 0.5 FTE if you work on it extensively but few students invest that kind of time on projects.

 

The projects you list as comparable are not small.  They have development teams from tens of people to hundreds of people and required multiple years.  They are on the scale of hundreds or thousands of FTE hours.

 

You have about 0.25 FTE available for your project.  If you expect the same results as a 2000 FTE project, success is unlikely.

 

 

Sorry for a quick OT:

 

 

Funnies aside, I have a smallish engine I've been working on. For 7-8 years now. It started out aimless like most beginner projects and while there have been (literally) countless times when I've gotten sidetracked, the learning curve related to relevant topics has still amounted to well into thousands of hours of time that I've spent reading, planning, writing code, fixing mistakes, replanning and rewriting code.

 

I would hope that if I started from scratch now, I could accomplish something tangible in a year and a half, but this owes a lot to the experience I've accumulated over these 8 years. There are innumerable things I would do differently that would allow me to avoid rewriting large portions of code many times, simply because I've run into unforeseeable complications down the line. If I had ever worked on an actual professional game, I could likely have avoided a lot of dabbling in voodoo and cleaning up after misplaced assumptions. But I didn't have that privilege and I've paid for it with time.

 

That being said, I wholeheartedly support the idea of working on your own engine. I personally love it, because once you nail something down, it's positively awesomely rewarding in the bestest possible way. And more importantly, it's yours.

 

Just be sure to have a goal (an actual game you want to finish) and start with something small. Start with a fully modular implementation of Pong. Treat it like a miniature open world top-down 3D FPS with a fixed camera, two walls, three dynamic actors and no guns. From personal experience - once I realized that if I wanted to do everything the way it would be done in a modern engine, I found myself diving headlong into collision response between fast-moving dynamic bodies. This alone sent me straight back to square one. GJK, SAT, Minkowski space, etc. It was a can of worms I never even knew existed. Yet in the grand scheme of things it was but one of many many roadblocks that tackled me while I though it would be the other way around. The truth is, everyone gets suckered into game development thinking it's the other way around.

 

The thought I want to convey with the above example is that writing an engine per se is not a very good idea. But if you put together a framework that can run Pong from a couple of pages of Lua script attached to your main engine, you'll find that you can suddenly do so much more with it. 

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement