• Advertisement
  • Popular Tags

  • Popular Now

  • Advertisement
  • Similar Content

    • 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.
    • By Cahit Karahan

       
      Hi, I'm new in this forum. It is honorable to see such communities exist. I would like to share my new game. I did for android with unity. I know the game is a little awkward , but you have to know that this game is from the time when Unity's name is Unity3D  I have made my first game when I was 12. Now I am 22.  I have taken a lot of experience in this process and I can make better games nowadays. I have published this game nowadays but actually this game is very old but also it is very special for me :))
      I have just wanted to retouch and share this game, because it has a very important place for me.
       
      DESCRIPTION FROM GOOGLE PLAY STORE

      It's a special free 3D horror adventure action game for the halloween. Fun with scary sound effects and musics, 3D realistic graphics, you will feel the horror in the deep of your heart. Use your reflex. Totally free adventure. Totally scary horror game. 

      Tamarra, she is a beast from our world. She needs to consume souls from innocent people to stay alive. Story begins, the old Elaris tribe had lost their everything because of this beast who lived in the well. Araknas was the most powerful warrior of the tribe. One day, Araknas's mother was killed by the servant beasts of Tamarra. That's how Araknas's journey to the well begins. Tamara's well is guarded by horrible beasts. Araknas has to pass all servant beasts until he reaches Tamarra.

      Even death at the end is worth the revenge. 
      Are you brave enough to jump into Tamarra's well?

      Survive from witch attacks, clown attacks and many scary creature.

      - Realistic 3D graphics.
      - Scary sounds.
      - Scary musics.
      - Best experience with headphones.
      - A demon cage where you can imprison all the demons one by one
      - The witches do not like help, but they love blood stone. Witch store where you can develop your abilities and get new abilities.
      - Countless beasts.
      - At the end of the well there is a hidden surprise for you.

      *We do not recommend this game to people with clown phobia, spider phobia, or panic attacks.*

      **!!!**Note : This game is an early-access game, we are upgrading new features every day, new beasts, new improvements, as an example online 1vs1 fall on the list, so stay on connect and follow Halloween : Horror Well on Google Play.**!!!**

  • Advertisement
  • Advertisement
Sign in to follow this  

Unity Not all gamed have graphics...

This topic is 412 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

[I have marked this as C#, but any info, no matter what language or technology is of interest]

Some background
I have been reading a lot about game programming, game architecture and game design in general, and it seem like almost everything assume all games are centered around graphics in one way or another. And when you look at most game engines they seem to be centered on a game loop that should produce a "display frame" for each iteration.

What if you want to make a game that, initially, has no visual graphic output what so ever?  Or when you don't know what or how the output will be rendered?

I'm looking for an architecture where the actual game is completely decoupled from the visualization. An architecture where the game itself implements a set of interfaces that whatever visualization component is used need to interact with.

This interface that the main game module implements should allow for quite advanced bidirectional interactions, with at least events, observables, delegates, objects and "normal" API calls.

There should be no relationship what so ever between frames per second rendered (FPS) and the speed at which the main game module runs at.

If the visualization module know of an object at position P with a sped of V, then it should update the the display based on that info til it is told otherwise by the main game module.

Sure, there need to be a way to keep the objects displayed in sync with with the actual positions of those objects so things don't get out of hand.

I'm talking about the visualization here, but the same goes for a physics engine and other non core game components.
For example I can imagine a solution where Unity would both handle visualization and physics.

 

The questions

  1. Is there  an established architecture out there that even remotely resembles my ides described above?
     
  2. Are there any game engines out there that could be used (not abused) for something like this?
     
  3. Are there any libraries around that would make a good base to use in the main game module as base classes and types for generic game objects (coordinates, vectors and so on) that are generic enough to work well with the public interfaces that the external modules should interact with?

Share this post


Link to post
Share on other sites
Advertisement

As Kyoltan said, as long as the Game Logic is decoupled from rendering, and sometimes other sub-systems most modern games rely on, it really shouldn't matter.

 

I mean, I've made games before, that up until near the end, used console output. But the fact still remains, you need some kind of feedback, a debugger provides some, but sometimes you can get a different perspective that only the output of the running app can provide.

Share this post


Link to post
Share on other sites

it seem like almost everything assume all games are centered around graphics in one way or another. And when you look at most game engines they seem to be centered on a game loop that should produce a "display frame" for each iteration.

The simple reason for that is because this is how we generally interact with a video game.  It's a feedback loop:  rendered frame -> Player sees it -> Player responds -> Game reads input -> new rendered frame -> player sees it -> etc.

I'm no expert, but I'd imagine there are lots of discussions around regarding how to keep rendering and game logic separate from each other.  Any physics engine I've ever used was designed to be run independent of any sort of rendering, and you usually had control over when, where, how often, etc. you would step the simulation.  I'm reasonably certain that both Unreal and Unity operate in a way that, as much as possible, keeps the rendering and gameplay away from eachother kind of like how you've described it.

What if you want to make a game that, initially, has no visual graphic output what so ever?

Text adventures almost fit that description.  We generally think of a 'game' as being realtime, but it doesn't have to be.  I've run into some games that were entirely audio-based- nothing was rendered and you had to rely on your ears to navigate a space.

Share this post


Link to post
Share on other sites

1. Is there an established architecture out there that even remotely resembles my ides described above?
 
Yes, as mentioned most major game engines decouple rendering and logic from other systems.  
 
Major online games where the server runs the game also follow the pattern, the game clients do the display but it is completely decoupled from running the game.
 
It also includes most games with persistent elements played through a web page. All that matters is they send the right network calls to follow the protocol of the game.
 

2. Are there any game engines out there that could be used (not abused) for something like this?
 
Yes, any of them that include a networking component which means nearly all of them.
 
Don't draw anything and create a network interface for all the things you want to expose.
 

Are there any libraries around that would make a good base to use in the main game module as base classes and types for generic game objects (coordinates, vectors and so on) that are generic enough to work well with the public interfaces that the external modules should interact with?
 
Again, any of them that include a networking component or that allows you to add your own networking components.
 
So basically any programming library developed or maintained through the last 30 years.

Share this post


Link to post
Share on other sites

I'm surprised you make it sound like every game is coupled to the graphics. While that often does happen in AAA development because of time constraints there isn't really any 'good' reason to couple graphics and game logic. Usually it just happens because people throw things together and it started off separated anyway.

 

Most code that isn't written in a rush like that generally IS decoupled from the rendering because often the game needs to support different variants of rendering anyway, so it ends up using a lot of interface code. Probably the best example I can think of this is dwarf fortress, which more or less runs the simulation by itself and everyone has developed different "visualizers" for the game.

Share this post


Link to post
Share on other sites

As someone that has fond memories and still a love of text adventure games, I really find this thread strange. Of course games do not need graphics. Still, you need to provide the player with some sort of feedback or you're left with what? I really don't know. Games are by nature interactive. That requires feedback, both to and from the player(s). The type feedback is arbitrary, but absolutely necessary.

Edited by MarkS

Share this post


Link to post
Share on other sites

I think the tight couple between render and engine started to fall away after Quake3 days, that had strange behavior where you wanted exactly 62 or 92fps (From memory, long time ago) With the right FPS you could pull off a number of jumps and jump higher than people at different FPS. The tight couple effected the physics calcs.

 

As others have said, it is far less common now, doubt any AAA games do and most games built on a high profile engine will not

Share this post


Link to post
Share on other sites

Any game using a client/server model respond to that criteria, all the game logic and calculation is usually done on the server side and the client is just a "controller" with a screen on it.

Share this post


Link to post
Share on other sites

I think the tight couple between render and engine started to fall away after Quake3 days

 

About 6 years off, but yes it has been a long time. In the early to mid 1990s most games had enough processing power that they started decoupling systems. I remember reading the advice back in old BBS systems as early as 1993, possibly before.  

 

That decoupling is what enabled the original Doom to be successful in the way that it was. Carmack and his crew famously described their task scheduling system which many people talked about, and it was immediately obvious how big the benefits could be.

Share this post


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

  • Advertisement