Advertisement

Game Tools!

Started by May 02, 2016 10:17 AM
5 comments, last by ryan20fun 8 years, 7 months ago

Heya, just another noob loooking to make his own personalized engine.

I used stuff like unity and unreal, and i realized that it sounds damn fun to author your own game engine, make your own story

kind of stuff.
I purchased some things from unity and soon from unreal, hoping to release something solid, like third person action game and start spinning the dough and dev time.

So, a few question, is, how do you develop game engine? (cue in the laughtrack)
I run across Sony's ATF, which i fail to build because my VS is 2015 and it still own solution on 2010.
I checked out some of the built samples of game tools, and i really love it for lacking superficial UI layout like current game engine, and actually runs faster and necessarily.

With unity, i need to buy alot of things, learn how to reimplement it, and variety of things.
Unreal's less headache, but being very direct kind of game engine it made me feel like i need to learn alot of stuff from,

collision detection, character input control, networking and stuff. And it's marketplace is just... WHoa.
They're all lovely for asking so little financial commitment.

I feel like i am asking questions beyond my level, but doing alot of reading around the topic makes me feel like

i can and i like to do it, so i simply need the right pointers to moveforward.
I understand C#, love C++ (i wish unity used C++ instead) and is dating python on blender.

I can do things from animation mostly, illustration, compositing art, retargeting animations and developing 3d IK rig. not so much on 2d rigged animation though, but more on 2d anime stuff.

So...what should i read and learn?
I know about New Boston and riemers XNA, so raw, lovely!

I plan to release a game definitely soon, but to make something personalized is my dream.
Please share/let me know where to start learning and reading, to fill in my break time between development and dayjob.
I hope to return and share my findings here too, and start asking more specific questions!

I am also reading game engine architecture, played around XNA/monogame, so far so good!


So, a few question, is, how do you develop game engine? (cue in the laughtrack)

Not easily, You should start by making a game and then refracturing the reusable parts.

I would suggest using libraries as much as possible to save you time and effort, Examples: Bullet Physics, Hieroglyph3 (Graphics), Ogre(Graphics), QT(UI), WxWidgets(UI), RakNet(Networking), Etc.

Bottom line: You will be able to build a (complete) game faster/easier using Unity/UE then building it from scratch.

I was building my own engine, Basic but usable.

Then I got UE4.10 and was able to recreate my game within a week (Check out "Toy on a Mission" Week of Awesome II).

Since then I have been adding stuff and features that would not be possible in such a time frame because I would have to figure it out and implement it.

Sure Unity/UE have there problems and quirks, But you need to decide what would be better for you.

HTH

Never say Never, Because Never comes too soon. - ryan20fun

Disclaimer: Each post of mine is intended as an attempt of helping and/or bringing some meaningfull insight to the topic at hand. Due to my nature, my good intentions will not always be plainly visible. I apologise in advance and assure you I mean no harm and do not intend to insult anyone.

Advertisement

>> how do you develop game engine?

1. determine the types of game(s) to be supported.

2. determine the team size to be supported. IE one person with full code access, vs a large team with non-coders. large teams with non-coders will require additional tools / systems not required by the lone wolf.

3. determine the systems common to all game types supported (timers, mesh and texture memory pools, low level graphics and audio engines, etc.)

4. implement the common subsystems identified in step 3.

5. determine game specific systems required for the game types supported. influence maps for an RTS might be an example. or an inventory system for a RPG. or heightmaps and terrain chunks for a land based game. or local rotations for a flight sim.

6. implement the game-type specific systems identified in step 5.

7. determine what editors, import or conversion tools, etc are required to complete the development pipeline.

8. implement the additional tools identified in step 7.

9. test implement games with the engine to integration test all engine systems.

10. modify the game engine as needed based on the results of step 9.

11. repeat steps 9 and 10 until the engine is v1.0 "gone gold" quality.

i think that about covers it. i may have forgotten a step or two though.

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

I started with mine by first fiddling arround a bit with C# arround 8 years ago because you could implement technics without the need of headaching arround memory management, just DO things. Since 4 years im working in C++ for several reasons I entered the edges of C#. Currently I decided for an architecture with maximum flexibility to the game you are making with and maximum code access/API access to the underlaying OS. Therefore asking myself a bunch of questensions helped

1. What graphics environment do I support (OpenGL, now Vulkan)

2. What are the general things each Game at least needs (Assets, Audio, Graphics, Input, Math, Networking, Shader), where Networking isnt that necessary but I favor multiplayer games

3. What platform (Language) do I code on best (C++ for PC, Android, Playstation and WiiU)

4. What implementation details do the platform need (Memory Management, Data Containers, File I/O, String Utils, Threading ..)

This way I came up with a basic framework utilizing anything I need to build the individual games engine on top of tweaking anything for the needs of the game and then take the base and build another game (and engine) on top of it.


So, a few question, is, how do you develop game engine? (cue in the laughtrack)

Not easily, You should start by making a game and then refracturing the reusable parts.

I would suggest using libraries as much as possible to save you time and effort, Examples: Bullet Physics, Hieroglyph3 (Graphics), Ogre(Graphics), QT(UI), WxWidgets(UI), RakNet(Networking), Etc.

Bottom line: You will be able to build a (complete) game faster/easier using Unity/UE then building it from scratch.

I was building my own engine, Basic but usable.

Then I got UE4.10 and was able to recreate my game within a week (Check out "Toy on a Mission" Week of Awesome II).

Since then I have been adding stuff and features that would not be possible in such a time frame because I would have to figure it out and implement it.

Sure Unity/UE have there problems and quirks, But you need to decide what would be better for you.

HTH

Iseee, the problem is not that those engines are horrible... but being an open engine, it has tools above what i need.
I tried toy on mission!
Not exactly pixel precise in design and UI, but it's exactly what i feel how a game engine should be! I mean, it's lightweight and simple, runs and stable.
I tried compiling a game from Blender, and it requires to keep reinstalling the whole library of python interpreter to runtime.

So yeah, i think being able to hard code your content and game gives you alot of freedom to develop variety of content, and debug more flexibly.

What did you use to write your engine/game back then?x

Unity is a very lightweight engine, but it's scene format is not optimal for a lot of game styles. Unreal is like an obeseman balancing on a hair between two rocket cars. It's a very fast and robust engine, but it's still rediculously heavy with all of it's features that might not get used.

The appeal to me for writing a game engine was that I can be as lightweight as Unity, be as Flexible as Unreal, but only have to suffer for the items that I need.

Advertisement


So, a few question, is, how do you develop game engine? (cue in the laughtrack)

Not easily, You should start by making a game and then refracturing the reusable parts.

I would suggest using libraries as much as possible to save you time and effort, Examples: Bullet Physics, Hieroglyph3 (Graphics), Ogre(Graphics), QT(UI), WxWidgets(UI), RakNet(Networking), Etc.

Bottom line: You will be able to build a (complete) game faster/easier using Unity/UE then building it from scratch.

I was building my own engine, Basic but usable.

Then I got UE4.10 and was able to recreate my game within a week (Check out "Toy on a Mission" Week of Awesome II).

Since then I have been adding stuff and features that would not be possible in such a time frame because I would have to figure it out and implement it.

Sure Unity/UE have there problems and quirks, But you need to decide what would be better for you.

HTH

Iseee, the problem is not that those engines are horrible... but being an open engine, it has tools above what i need.
I tried toy on mission!
Not exactly pixel precise in design and UI, but it's exactly what i feel how a game engine should be! I mean, it's lightweight and simple, runs and stable.
I tried compiling a game from Blender, and it requires to keep reinstalling the whole library of python interpreter to runtime.

So yeah, i think being able to hard code your content and game gives you alot of freedom to develop variety of content, and debug more flexibly.

What did you use to write your engine/game back then?x

Thanks for trying the game :)

I used C++ and Direct3D along with Bullet Physics, Assimp for 3D conversion to native format, FreeImage for image conversion to native format, AntTweakBar for the UI.

If I was to work on it again or start over I would change how I handle the graphics API, less inherintance and more of a blob style of passing data.

And try not to reinvent the wheel so much :P

But, I learned a lot from my experiance that is definetly helping with UE4.

Like how GPU's work (more or less), Networking is hard (I had only gone so far as to start integrating network support into some test demo's), Different ways to comunicate between objects.

I've seen an ad on the site banner about a 2D game engine that you could look at, Unfortunetly I don't remember it's name.

Likewise there may be other (smaller/less well known) engines that can help you if you decide to make your own engine).

HTH

-Edit-

The engine ad is "Atomic Game Engine" it is supposed to have 2D and 3D modules.

Never say Never, Because Never comes too soon. - ryan20fun

Disclaimer: Each post of mine is intended as an attempt of helping and/or bringing some meaningfull insight to the topic at hand. Due to my nature, my good intentions will not always be plainly visible. I apologise in advance and assure you I mean no harm and do not intend to insult anyone.

This topic is closed to new replies.

Advertisement