• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
mychii

Unity
3D Game Engine Design Specifically for Action/Action RPG, Where Should I Start?

11 posts in this topic

Hi,
 
First of all I don't know whether I should put this in Game Programming or elsewhere, but since the demand focuses on the game, so I put it on Game Programming. Mod please move this anywhere appropriate if not.
 
I'm currently trying to create a 3D game engine for web (which is using WebGL) along with its GUI tools afterwards. I really would love to know your opinion on where and how I should start for the design, before I'm starting a wrong design that causes too many big refactoring just because it is stuck or not generic/too tight/repetitive. This could also be because I make a wrong integration, or waste time on some features that is far from requirements/priority as well. It's a big stuff so I want to be very careful at least the first core tasks. So please, if anyone can give advice/opinion about the design steps with these Lego pieces from scratch, I'd love to hear it. wub.png
Note that since this is more about concept/design phase, it doesn't matter if you elaborate your advice/opinion the design in whatever languages/no language at all (just diagrams or steps).
 
 
You might want to read the details:
 
The Goal
I'm not making a for-all game engine, it is primarily for an Action/Action RPG game (Ex.: Kingdom Hearts, Final Fantasy (10+), Devil May Cry). So this won't be going to be FPS (this includes Skyrim and BioShock), RTS/tactics (I include Dota 2, Diablo, Disgaea, FF tactics, Torchlight, etc. here), Casual/Board, Simulation, etc. My point is that as if I'm trying to create the game called Unreal, it was an FPS game that the engine is first focused for that.
The game engine should be real-time in development so it's faster, I suppose you've seen this one http://artillery.com/.
It's with a team in mind, so if the design means I have to open more windows as if it is for other team member's screen, it is fine. It doesn't have to be an all-in-one feature like Unity, but if it does, it's cool.
It's going to be using component-entity system.
 
Specific game requirements (Maybe could give you an idea):
- Single player, probably has an in-game multiplayer mini game.
- 30 FPS is recommended, but if can reach 60 FPS is fine too.
- Action, which probably means real-time user input.
- Physics seem to be a must. (If you have any libraries out there, please refer)
- FX/particles (you know.. aesthetic skills and stuff, probably some texture manipulations as well. Do I need FX editor?)
- Not an open world (so almost as small as Kingdom Hearts per one part of a world).
- 3D sound.
- Dialogue + voice over. I probably need dialogue system, scene system as well.
- Character animation, which probably means I need content loader + viewer, animation tool, and animation state stuff.
- I need it as photorealistic as it possibly could even though it's a little cartoony. Does it sound complex enough that I need to create visual shader editor for this?
- It's an RPG game so it may have lots of item/stats data, I could save it to a simple storage (in web there's localStorage).
- The enemies are randomly spawned (at spawnable place), moving, physically bound to environment, not too smart (so it may stupidly hit a tree or stuck in some stones for one or two). But the random spot is the same. So a group of enemies will spawn at defined place.
- The places may be entirely modeled, so I'm not worry too much about the auto-generated terrain... maybe. rolleyes.gif
- Water and cloth. Doesn't have to be too much realistic though, the cloth simply required to represent the character's personality and dramatic scenes, and the water is to show... water. No splash/waves required except for skills, .. yet. smile.png
- Intelligent cinematic camera. I need it to be able to take cinematic angles when possible during battle/wander, without disturbing the gameplay. Maybe you can show me any great cameras around (functionally, and aesthetically). FF15 is finally a great example of a camera.
 
Don't worry, I may not be alone doing this. So don't hesitate to throw anything to give any advice/opinion. References would be great, but I really want to hear the opinion from professionals/enthusiasts in here. biggrin.png
 
Thanks, it's a long one so please ask if not clear or I'm missing something. smile.png
Edited by mychii
0

Share this post


Link to post
Share on other sites

it depend's on that you want to make a component that use's C++ or software that make's games

i explain boath of them:

component:

in this case, you have to use some librarys for sounds, image loading/saving, physics, math, AI, and more that you need

then write code depend on them

then compile them as static or shared library

software:

in this case, you must have a component, and a scripting library like angelscript or python or lua

then, register the functions and classes for it and compile it as a executable

then, write a script for your software and see it work's or not

0

Share this post


Link to post
Share on other sites

it depend's on that you want to make a component that use's C++ or software that make's games

i explain boath of them:

component:

in this case, you have to use some librarys for sounds, image loading/saving, physics, math, AI, and more that you need

then write code depend on them

then compile them as static or shared library

software:

in this case, you must have a component, and a scripting library like angelscript or python or lua

then, register the functions and classes for it and compile it as a executable

then, write a script for your software and see it work's or not

 

The component one sounds better. But I don't really get the software one, you mean I have to test it using that executable? How does that integrate with the game engine? or do you mean the software is the game engine itself (wraps the component with the script library) and run everything using the script?

0

Share this post


Link to post
Share on other sites
a game framework is a framework that help's you to develop your games with C++! like allegro, ogre, OpenAL, etc the software itself is the game engine only! it use's a framework and a scripting library to implement an engine you write scripts and compile them then your game is ready i recommend to use software instead of framework because: 1. you dont get linker errors 2. the scripting languages are easyer than C++ 3. scripts dont have memory leeks and many more that dirring the development, you will know angelscript has a debugger so, you may debug your games but if you want to know how to write them, i say now first, you have to have a game framework: i recommend to use ogre for 3d renderring for sounds, i recommend to use OpenAL for Artificial intelligence, i recommend to use OpenNN and check artificial intelligence forum i made a topic there and share a library that has a-* algorithm: check it and get that library and use it in your enginne then go [URL="http://angelcode.com/angelscript/"]here[/URL] and get AngelScript then read AngelScript's help then with those libraries, make some functions and register them with AngelScript after that, compile your software, write a game using AngelScript and call your engine's functions and compile your script and enjoy your game! but maybe in your idea, this work is very hard but i say, it's very enjoyable dirring the development, you will know this after your engine has been developed, you can make your games as easy as possible!
0

Share this post


Link to post
Share on other sites

I'm just trying to confirm what you write, sorry about that.

 

That's the idea, I'm not talking about developing a game yet, I'm talking about making the whole game engine from scratch (with a team). the game spec was just an idea of what condition of the engine that might help you to help me in detail. It's just like I'm making a game called Unreal that uses Unreal engine which was specifically made for it (FPS), not anything else.

 

Thanks for the references (and your A*) and I get what you mean now, thanks.

0

Share this post


Link to post
Share on other sites
i said that: you write a script and compile it with your game engine now: you write some functions and use some libraries in C++, to provide your functionality then you register them in your script library using the functions provided by the library that you use after that, you write a script using the scripting language (your game is the script) that use's the functions that you've registered previously in your scripting library then compile your game and run it! the scripting languages is easyer than C++ so, dirring the development of your game, you use that scripting language to program your game it is very easy to write a script! check the AngelScript's website, download the library, compile it with your favorite compiler, use it in your engine and enjoy! i'm using AngelScript now to provide many functions for my engine and after that, i want to write all of my games with it
0

Share this post


Link to post
Share on other sites

Yeah I saw Havok and Unreal Engine use that kind of scripting too, and it sure is far easier than C++ and may boost stuff in terms of development speed. However, I was thinking that only for AI stuff instead of the whole gameplay, thinking that it may reduce performance as a whole.

It's kinda a dilemma though, I want to push the hardware as well, but since I haven't done that kind of stuff, I really would love to know the performance difference if anyone has experienced about it. Have you tested about this? if yes, how significant it was? was thinking if I have to make that scripting language to all parts of the gameplay may be quite overkill, I need someone to prove my assumption wrong in that regard. (saves my time a lot if anyone already did this xD ).

Edited by mychii
0

Share this post


Link to post
Share on other sites

yes, i test it!

it provide's a compiler for you

inside it, you can use havok and any libraries that you want!

but, you have to register all of it's functions

and a request:

can you give havok to me?

i dont have it!

at last:

in order to have performance, your code must be optimized

0

Share this post


Link to post
Share on other sites

Well thank you for your suggestion and reference brightening-eyes, that AngelScript sure looks good.

 

Anyone else has a thought on how this should be done?

0

Share this post


Link to post
Share on other sites

OK, i said that above

but:

1. implement some functions

2. register them with the scripting language

3. make a compiler using the functions provided by the scripting library

4. if you want, use the scripting library(by the functions provided), make a virtual mation to run your scripts

5. build your aplication in debug mode and fix the script errors(dirring the registration, you maybe get some errors that C++ doesn't show and the scripting library show's)

7. write a script(it maybe a simple game) that use's the functions you've provided(dirring the registration), and test the script, compile it and run it

this is so funny

0

Share this post


Link to post
Share on other sites

OK, i said that above

but:

1. implement some functions

2. register them with the scripting language

3. make a compiler using the functions provided by the scripting library

4. if you want, use the scripting library(by the functions provided), make a virtual mation to run your scripts

5. build your aplication in debug mode and fix the script errors(dirring the registration, you maybe get some errors that C++ doesn't show and the scripting library show's)

7. write a script(it maybe a simple game) that use's the functions you've provided(dirring the registration), and test the script, compile it and run it

this is so funny

Yeah I think that integration is gonna be a hassle, but I won't know unless I try it. Maybe I can use it for some parts, but I have to know how far it could help my situation first.

0

Share this post


Link to post
Share on other sites

i have to say you this:

you cannot use another scripting language

just select one

learn it, use it in your engine

but, why i recommended AngelScript?

well, this is because, it's very easy and it doesn't give's any memory leeks

it is fast, has a compiler (on any Operating System), a virtual machine to test your game and a debugger

it's Open-source and in my idea it's very good for game engines

i'm using it in my engine

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Similar Content

    • By KaiZerg
      Dear Colleagues,
      Can you please advise on the issue below:
      I have got several Folders(paper), to keep cheat sheets, practical guides, Lists of sequences ect.
      What is the best way to separate Folders?
      1)
      -Unity all
      -Unreal Engine all
      2)
      -Game art
      -Game Design
      -Game Engine
      -Game Programming
       
    • By suerozcelik
      Hi everyone, My name is Arda Süer, i’m a game developer and producer of Pocket Universe : Create Your Community. Pocket Universe is on pre-order and soon the early access to Steam. I need your help and I want to introduce you to my game. Please read the game story and website content etc. If you have any suggestions tell us and we can develop. Example:"Story is good but you need more faction","You need add bla,bla to the game". Anyway I will put links here to help you to understand Pocket Universe. Story : http://www.pocketuniversegame.com/?page_id=7 Features : http://www.pocketuniversegame.com/?page_id=180 Factions : http://www.pocketuniversegame.com/?page_id=54 Press Release : http://www.pocketuniversegame.com/?page_id=237 If you want to help more, please buy my game Kinguin : https://www.kinguin.net/category/38680/pocket-universe-create-your-community-pre-order-steam-cd-key/ G2A : https://www.g2a.com/pocket-universe-create-your-community-steam-key-global-i10000070716001 Press Relase.rtf
    • By NA-45
      I'm currently working on Metroidvania style game that I was inspired to start by Hollow Knight and Beksiński's art.

       It's built in Unity using C# and has quite a bit done already.  I'm handling the programming myself and have a working model (besides combat which is a WIP) that can be expanded greatly depending on where we decide to take the project.  You can see the current test area here: https://streamable.com/mp5o8  Since I'm not artistically gifted, its all rectangles but can easily be skinned once we've desired on designs.
      I have professional experience using Unity and C# working on both a released game and a prototype as well as having extensive Java knowledge.  I also dabble in Python with a little bit of C++.
      I have worked on and completed many projects before, the most recent being a 2D stick fighting game written ground up in Java Swing (don't ask why): https://www.youtube.com/watch?v=V4Bkoyp_f0o
      I'm looking for a 2D artist (potentially more than one) to create concept and game art and a designer/writer who can help flesh out the story as well as map out and create challenging and eye catching areas.  I can handle most if not all of the programming side of things though if there is anyone who is extremely passionate about this sort of thing, I'd consider splitting the load.
      The end goal is a completed game that can be sold however profit isn't really a concern to me as it's mostly a labor of love from my part.  Any profits would be split between team members however that's pretty far off so don't make that a reason to join.
      ______________________________
      The story I have in mind is something like this:
      A man wakes up in a chasm that stretches seemingly endlessly in both directions lined with enormous statues.

       He discovers a temple with text above a closed gate that tells of the failed kingdom that lies below.  After finding a way around this, he drops down into the subterranean kingdom.  Adventuring through the labrynth below, he comes across different cities in which the residents succumbed to different sins such as Greed, Wrath, etc.  Each city tells a story of how its fixation on something lead to their demise leading up to a fight with the personification of their mistake.
      ______________________________
      An very rough idea for Waterways, a potential area:
       - To enter you must be wearing a pair of glasses that you find somewhere earlier in the ruins.  There are similar glasses found in every home.  Everything appears incredibly beautiful however something seems wrong.  After triggering some event, the glasses break and it's revealed that the glasses are made of some sort of stone that makes everything appear differently.  The city is in ruins and absolutely disgusting as everything was neglected.  
       - The only thing that remains intact is in the center of the city, an incredible statue of a goddess holding up a large sphere of the same material that was used for the glass.  You slowly learn the story behind the statue: the goddess came from the sea that the city lies on and brought prosperity to them.  
       - After opening up the the temple of the goddess that lies right on the edge of the waters, a giant sheet of the glass covers an opening in the back of the temple that reveals the goddess behind it.  You shatter the glass and it becomes apparent that the goddess is actually a disgusting creature half beached and mostly immobile that appears to secrete the material that makes up the glass. Fight ensues.
      ______________________________
      The combat is pretty up in the air and part of the reason I need a designer to bounce ideas off of but I think it will be something like this:
       - 4 orbs equipped at a time
       - 2 orbs selected at a time
       - Pressing the cast button will cast a spell determined by the 2 orbs that are selected
       - Spells cost mana however you can use spells with 0 mana and it will cost health instead
       - These spells in addition to being useful for combat, are the Metroidvania "gating" metchanic.  For instance, one of the conceptualized spells is a water orb + water orb to create a ice pillar that can be either used to block projectiles/enemy paths or to jump on to reach high areas
      ______________________________
      If you're interested or have any questions, contact me through discord.  My id is NA-45#3692. 
       
    • By Qwertyman
      My game (built on the Unity platform, making use of EZ GUI) requires players to log into Facebook. However, when the player is using a language other than English on Facebook, I'm unable to display the localized Username (which is the same as the FB Username) within the game. Any ideas on how this can be tackled?
      PS: Detecting the OS language doesn't really help here because, for all you know, the player might be using one language for the OS, but another one for their Facebook, so.... 
      TIA!
    • By NajeNDa
      Hi there,
      I am a game programmer (C#/C++) who is looking for a project to join. I am computer science engineer plus Master Degree in Game Development, currently working in one the most renown mobile games company (2 years academic experience, 1 year working experience).
      I have developed several prototypes or even games almost ready to release, but I always lack of artists, so I am looking for a project already set up or few artist to begin working in something.
      My preferences are:
      Unity or Unreal Engine 4 based project (UE4 prefered) PC/Console game prefered but mobile is acceptable Not interested in VR Serious team with almost all the roles filled or pretending to be filled 3D project prefered over Sprites Guaranteed 7 work hours per week, Crunch 20 work hours per week  European team (if timezone is not a problem for you, so it is not for me) I am not looking for any kind of money income from games neither the team, I want to do this as a hobby and a way to improve my skills.
      Cheers
  • Popular Now