HeroEngine Forums
Welcome, Guest. Please login or Register for HeroCloud Account.

Author Topic: [Resolved| Can Hero Engine be used to create 2D games?  (Read 8576 times)

Emergence

  • General Accounts
  • *
  • Posts: 4
    • View Profile
[Resolved| Can Hero Engine be used to create 2D games?
« on: Sep 03, 11, 05:44:04 PM »

My apologies if this has been addressed before, but a simple google or forum search provided no results.

I fully understand that Hero Engine is a 3D engine and not a 2D engine, but a 3D engine is actually more than capable of creating a game which refrains from using 99% of the 3D technology, hehe.
Recently, there have actually been some very interesting things done with 2D in 3D engines, such as special 3D lighting in 2D game engines which looks much nicer than what 2D game engines can actually give in their native format (no extra code).
Unity3D is actually a 3D game engine which is used by hundreds of developers to create 2D video games, from mobile iOS / Android 2D games to PC games. This was through an extension in how Unity3D handles 2DTextures and mesh creation.

EDIT: I am discussing 2D Animation, as I'm sure getting a static 2D image to appear is quite simple. Wanted to make sure I was clear.

I am sure I will have to implement my own 2D extension if it is feasible to create a 2D game using HeroEngine, and although I'm sure it is not impossible, my question pertains mostly to "Is it feasible?" as well as "Where should I start?"

"Where should I start looking?" is more of a question to ask if there are any specific (powerful) 2D functions in HeroScript, similar to how UnityScript uses a UV Animation class, a function called "Texture2D" (for ex. Texture2D.GetPixel, Texture2D.LoadImage, etc.) as well as a functions which create the mesh which holds the 2D texture".

I figured before I began to dig in and learn HeroEngine and HeroScript, it would be wise to simply ask someone else if they have had any similar thoughts or if there have been any similar attempts with HeroEngine. I am currently using Unity3D to create 2D games, but would absolutely love to switch engines (the Unity community forums are a joke) and the MMO capabilities of Hero Engine would save me years of development and thousands of dollars (at least during development, hehe). It is certainly worth looking at using HeroEngine to create a 2D MMORPG.

Thank you VERY much for your time so that I don't have to waste mine,
-Emergence
http://www.emergencemmo.com/
http://www.2dsprite.com/
« Last Edit: Oct 21, 12, 10:50:25 PM by HE-Cooper »
Logged

FI-ScottZ

  • General Accounts
  • *
  • Posts: 1407
    • View Profile
    • Forever Interactive, Inc.
Re: Can Hero Engine be used to create 2D games?
« Reply #1 on: Sep 03, 11, 09:55:47 PM »

I would say it depends how how you are meaning "2D". Obviously, true 2D games are not using any 3D, hence the term.  To do that sort of 2D, where rendering is only drawn in the screen space, not in a 3D frustum, would be to only use the gui system.  Others have asked about this before, and this thread discusses a bit on tying interaction in 2D to a 3D background.

It would be possible to do a game just with the GUI alone, but it would be limited in motion details.  There are gui animations available, but they are best used sparingly.  For one, they are done in script by changing the properties of a gui at the successive ticks of a timer.  But since it is scripted and not hard-coded in the engine, it is not very efficient.  And if you wanted to go beyond animating things like size or position and have something change its texture like playing a cartoon, the animation for that requires that each frame of animation be put onto a single image which can be a pain, and potentially take up a lot of texture memory.

That's not to to say they are bad, as we use them a bit.  But it would be taxing to do a dynamic game that way.

The better approach, and which would allow, like you said, 3D lighting and things, is to simply fix a camera above a scene looking down on it, optionally moving the camera in a plane perpendicular to the scene plane.

So, I would recommend starting by getting familiar with the camera system.
Logged
Scott Zarnke
Lead Programmer, Visions of Zosimos
CTO, Forever Interactive, Inc.

Emergence

  • General Accounts
  • *
  • Posts: 4
    • View Profile
Re: Can Hero Engine be used to create 2D games?
« Reply #2 on: Sep 04, 11, 01:55:38 AM »

Thank you, and yes I do indeed mean true 2D, using no actual 3D. Only images, not a single 3D object unless it is there to represent (show) the .png image.

It would merely be 2D .png images, and perhaps some lighting based on normal maps of these images (or perhaps just lighting based on ambient light / pitch black. Before all the 2D extensions, developers would create 2D in Unity3D by swapping textures on a 3D plane which only moves on the X Y axis. Making a game in a GUI is always a suggestion, but rarely feasible when dealing with hundreds, nay thousands of frames of animation and 2D images.

An orthographic camera is a requirement in Unity's 3D - true 2D.

I am not sure if it is possible to create a 2D extension like people have done in UnityScript, with HeroScript (without the source code of the Hero Engine).
Logged

WoE-Byron

  • World Owner
  • ****
  • Posts: 214
  • WoE Online Project Manager
    • View Profile
    • Carbon Studios
Re: Can Hero Engine be used to create 2D games?
« Reply #3 on: Sep 04, 11, 02:57:21 AM »

You could always do 2.5D.

3D models and 3D scene but fixed camera angle, camera direction & lighting.

You could also do Day/Night simulation still of course.

it would then Simulate 2D but would take advantage of all the 3D technology that Hero Engine provides.
« Last Edit: Sep 04, 11, 03:00:08 AM by WoE-Byron »
Logged

shadowfire

  • General Accounts
  • *
  • Posts: 107
    • View Profile
Re: Can Hero Engine be used to create 2D games?
« Reply #4 on: Sep 04, 11, 03:50:22 AM »

2.5d... interesting way of putting it... the first "3d" games were based on this principle.  Instead of total field of vision they used 3d depth of field from a 2d angle.  Works fairly well in many cases.
Logged

FI-ScottZ

  • General Accounts
  • *
  • Posts: 1407
    • View Profile
    • Forever Interactive, Inc.
Re: Can Hero Engine be used to create 2D games?
« Reply #5 on: Sep 04, 11, 09:06:57 AM »

So, I'd say for the most part, this might not be the best engine to use for true 2D, as it is not designed as a 2D engine.  For instance, I don't believe there are 2D drawing commands, and, as I mentioned earlier, animation will not be very efficient.

I you wanted a mostly non-animated fixed look, that might be doable; something like a checkers game where you click a piece, then a square to move it to and it just appears there.  But for anything more dynamic, it'd be tough sledding.

The "2.5" approach is something to consider, as it will still play like a 2D game, but it would appear to have depth and you'd be able to take advantage of things like the physics system.
Logged
Scott Zarnke
Lead Programmer, Visions of Zosimos
CTO, Forever Interactive, Inc.

WoE-Byron

  • World Owner
  • ****
  • Posts: 214
  • WoE Online Project Manager
    • View Profile
    • Carbon Studios
Re: Can Hero Engine be used to create 2D games?
« Reply #6 on: Sep 04, 11, 02:21:25 PM »

If you go 2.5D then you will not just have physics, but shadows and particles.
Logged

Raven

  • General Accounts
  • *
  • Posts: 13
    • View Profile
Re: Can Hero Engine be used to create 2D games?
« Reply #7 on: Sep 04, 11, 03:14:43 PM »

If you go 2.5D then you will not just have physics, but shadows and particles.

You would still be able to have physics. However considering your developing an MMO. You want to keep physics down to a minimum. However most things you just want to animate.
Logged

WoE-Byron

  • World Owner
  • ****
  • Posts: 214
  • WoE Online Project Manager
    • View Profile
    • Carbon Studios
Re: Can Hero Engine be used to create 2D games?
« Reply #8 on: Sep 04, 11, 03:45:24 PM »

You would still be able to have physics. However considering your developing an MMO. You want to keep physics down to a minimum. However most things you just want to animate.

Yes, I already understand this however I was trying to give advice to the best of my ability.
Logged

Emergence

  • General Accounts
  • *
  • Posts: 4
    • View Profile
Re: Can Hero Engine be used to create 2D games?
« Reply #9 on: Sep 07, 11, 08:56:17 PM »

All of my assets are 2D images, so 2.5D is not an option. If it were, I'd just go 3D.

Thanks for the info. I guess I'll stick elsewhere :(
Logged

Stadi_Thompson

  • General Accounts
  • *
  • Posts: 324
    • View Profile
Re: Can Hero Engine be used to create 2D games?
« Reply #10 on: Sep 08, 11, 08:20:47 AM »

why not use an engine that it for 2D games?
Logged

XCalPro

  • General Accounts
  • *
  • Posts: 105
  • 3D Artist & HSL Coder
    • View Profile
    • Excalibur Productions
Re: Can Hero Engine be used to create 2D games?
« Reply #11 on: Sep 08, 11, 08:28:04 AM »

Why would you use HE for a 2D game when there are a number of great tools specifically built for 2D games. It would be like trying to nail a board with a screwdriver. Game development is hard enough, why make it harder by not using the right tool for the job.
Logged
Tony Oliveira aka XCalPro
HeroEngine Projects: Traveller 6 Online - www.traveller6.com/forum/
Portfolio: www.xcalpro.com/art

Emergence

  • General Accounts
  • *
  • Posts: 4
    • View Profile
Re: Can Hero Engine be used to create 2D games?
« Reply #12 on: Sep 09, 11, 11:49:04 AM »

Can you please link these wonderful suggestions that would be perfect for the job?

Mainly because Hero Engine has such wonderful multiplayer support. I could easily do a FPS server/client or MMORPG, not to mention account, server security, hosting, etc. It just seemed like an easy option if it did support 2D in some way.

Right now I am using Unity3D for 2D, and at first I thought that was a simple solution. Now I am discovering most of the extensions require total reworks to get working with 2D. What a pain... plus I believe it is stunting my growth like I discuss HERE @ http://www.gamedev.net/topic/610313-do-games-engines-like-unity-with-paid-extensions-stunt-the-educational-growth-of-would-be-programmers/.

I do not know of any 2D solutions that can support high resolution .png images (and thousands of animation files) and MMO server/client structure like I was hoping Hero Engine would :P lol

Also 3D lighting can make 2D lighting easier in some ways, unless the 2D engine supports normal maps and has its own lighting.


Honestly, I don't know very much about implementing Network Engines such as (Photon) into various 2D engines or libraries, but I was told by many that Unity is easier to implement Photon and turn into an MMO than 2D engines. However, I do not remember who gave me this advice, nor if they were idiots or professionals, so I have no idea if it's even remotely true.
Logged

Raven

  • General Accounts
  • *
  • Posts: 13
    • View Profile
Re: Can Hero Engine be used to create 2D games?
« Reply #13 on: Sep 09, 11, 12:07:11 PM »

@Emergence
There are a few 2d MMO engines. However most of those use Vb6 so unless you somehow happen to have a Vb6 key just chilling about in your home. However if you are serious about creating a 2d MMO. There are a few engines you could take a look at.

Synapse - C#/XNA:
Synapse would work great. Obviously you'd have to code the entire backend yourself. But client side you'd be covered really well.  You would have dynamic lighting, Soft Shadows and your normal maps. Would cost you at least about $300 USD for the professional edition per seat. I don't recommend the Indie edition because then you wouldn't have access to the Deferred Render.
http://www.synapsegaming.com/products/sunburn/engine/

Ethanon C++/OpenGL/AngelScript:
If your looking for a cheaper route and still don't mind coding the entire backend yourself. You could take a look at Ethanon. It has everything you are inquiring about.
http://www.asantee.net/ethanon/

Those are the only two that I know of that have the features your asking about. If I find any other I'll let you know :). Also if you need physics you can use Box2D with either of those. Or at least you should be able to. With sunburn you may have to use a "3D" physics approach to 2D like you do with Unity3D.
Logged

HE-Cooper

  • *****
  • Posts: 2221
    • View Profile
Re: Can Hero Engine be used to create 2D games?
« Reply #14 on: Sep 09, 11, 03:39:00 PM »

or make a heavily stylilized MMO in the heroengine, in a 3d world, but with static 2d assets that still cast shadows and have interaction and particle effects and what not. 3d terrain, but 2d assets. Depending on how you did it could be very cool, or incredibly terrible.  8)

Logged