# Anyone have experience developing 2D games in C#/Unity?



## quoting_mungo (Feb 10, 2018)

I have a game project in mind that I started working out over a year ago at this point. If you're familiar with _Corruption of Champions_, think something similar without the world-saving and the weird morality scale, and a more graphical UI. My initial plan was to work in Flash (I've previously developed smaller-scale Flash/AIR applications), but then came the announcement that Adobe is killing it, so now it seems like a poor idea. 

Aside from ActionScript I'm probably most familar and comfortable with C# and JavaScript - I absolutely do not want to work in Java because its odd perspective on objects breaks my brain. I found this article that seems to hint that Unity may be able to give me a (2D, though the graphics are all UI) development experience similar to what I'm used to when working with Flash and AS. 

I am a rusty but generally capable coder when it comes to writing functions; the appeal for me is the prospect of maybe being able to place my art assets and code the behaviors I want without having to worry about the nitty-gritty of importing and placing the GUI components. In Flash, that's done by naming the object you want interaction with, defining an event for the type of interaction you want it to respond to, and writing a function for the desired behavior.

Is Unity going to work well for me, or is there another framework that'll do what I want in a better way? Worst come to worst I'm probably capable of doing the work from scratch but why do the awful parts if I don't have to?


----------



## MissNook (Feb 11, 2018)

Well Unity works more or less the same as Flash logic but with a little more difficulty to understand the hierarchy of the objects and what kind of object to choose.
But you have to create an object and join a script to it where you will put your functions, like in Flash ^^ Good thing is there are a lot of tutorials quite well explained and a nice community for Unity.

I didn't try it, but a lot of people are talking about Construct 2 around me, might be something to look at, since it seems easier to learn.


----------



## Saiko (Feb 11, 2018)

Is it just going to be text and buttons like CoC, maybe with still pictures here and there? Or do you plan on having animations?


----------



## quoting_mungo (Feb 11, 2018)

MissNook said:


> I didn't try it, but a lot of people are talking about Construct 2 around me, might be something to look at, since it seems easier to learn.


I'll have to look into it! I had a look at Ren'Py but it seems like getting combat into it would be a bit of a botch.



Saiko said:


> Is it just going to be text and buttons like CoC, maybe with still pictures here and there? Or do you plan on having animations?


Text and buttons, text parser for people who prefer typing their commands, visuals for zones and enemies/NPCs (enemy portraits; if I get really into it I might do more but I doubt it), some other UI elements. Still a text adventure game, but a much more graphical UI. Closest it'll get to animations is using sun/moon movement in lieu of a clock, but that's still "take action, time passes, sun/moon has now moved in the sky".


----------



## Saiko (Feb 11, 2018)

quoting_mungo said:


> Text and buttons, text parser for people who prefer typing their commands, visuals for zones and enemies/NPCs (enemy portraits; if I get really into it I might do more but I doubt it), some other UI elements. Still a text adventure game, but a much more graphical UI. Closest it'll get to animations is using sun/moon movement in lieu of a clock, but that's still "take action, time passes, sun/moon has now moved in the sky".


I don’t know much about game frameworks other than Unity, but I think you should consider a raw HTML/JavaScript/CSS solution. That way the UI stuff becomes a matter of spitting out HTML and CSS, and jQuery makes it very easy to hook UI and code together. Unity can do this project too of course, but I suspect most of its features would just get in the way.


----------



## quoting_mungo (Feb 11, 2018)

Saiko said:


> I don’t know much about game frameworks other than Unity, but I think you should consider a raw HTML/JavaScript/CSS solution. That way the UI stuff becomes a matter of spitting out HTML and CSS, and jQuery makes it very easy to hook UI and code together. Unity can do this project too of course, but I suspect most of its features would just get in the way.


You sound like my boyfriend. 

Seriously, though, HTML/CSS/Javascript has a couple of big drawbacks: it's trivially easy to read all possible scenes by just viewing source since they're right there in plain text; it doesn't pack up easy into a single download; doing HTML/CSS layouts that look halfway decent at random oddball resolutions is a pain. Plus good lord writing combat mechanics in JS. 

I was considering HTML5, but it lacks the convenient black-box-ness of Flash. It's honestly a shame; Flash has flaws, but it's brilliant for this type of project. Would've been nice if instead of just killing it with no designated heir, Adobe had put work into a "Flash Redux" type project. All the goodness, without the memory leaks and security flaws. A girl can dream.


----------



## Saiko (Feb 11, 2018)

quoting_mungo said:


> You sound like my boyfriend.
> 
> Seriously, though, HTML/CSS/Javascript has a couple of big drawbacks: it's trivially easy to read all possible scenes by just viewing source since they're right there in plain text; it doesn't pack up easy into a single download; doing HTML/CSS layouts that look halfway decent at random oddball resolutions is a pain. Plus good lord writing combat mechanics in JS.
> 
> I was considering HTML5, but it lacks the convenient black-box-ness of Flash. It's honestly a shame; Flash has flaws, but it's brilliant for this type of project. Would've been nice if instead of just killing it with no designated heir, Adobe had put work into a "Flash Redux" type project. All the goodness, without the memory leaks and security flaws. A girl can dream.


Hrm, I can’t speak to the difficulty of combat mechanics because I don’t know your plans there; but I think you could work around the problems with downloads. You should be able to just send a .zip with all the files, the entry point being a clearly labeled .html file. Then we can just download, extract, and open the game in a web browser. Just make sure all the file paths are relative and don’t depend on weird routing rules.

I’m not sure I understand your concern about the scenes though. Are you worried about users cheating or spoiling the game, or are you worried about someone stealing your work?

Edit:
I can’t help much with the resolution problem tbh. Websites have figured that out in recent years, but I know games are far more finicky. My first thought is to just be a mean dictator and say, “You get these resolutions; deal with it,” but I understand that’s not always a good approach.


----------



## quoting_mungo (Feb 11, 2018)

Saiko said:


> I think you could work around the problems with downloads. You should be able to just send a .zip with all the files, the entry point being a clearly labeled .html file. Then we can just download, extract, and open the game in a web browser. Just make sure all the file paths are relative and don’t depend on weird routing rules.


Oh, absolutely it can be worked around. But it does feel awfully inelegant compared to "here's a SWF file, have fun!" As someone who grew up with cartridge games rather than everything being on disc, there's something appealing about the black-box delivery method.



Saiko said:


> I’m not sure I understand your concern about the scenes though. Are you worried about users cheating or spoiling the game, or are you worried about someone stealing your work?


If I'm gonna put hours of my life into writing furry smut for you, you're gonna have to work for your smut, damn it! 
It's honestly just a preference; to me it feels like it cheapens my work if it's trivially easy to pull the content out of the distributed file. 

Part of my antipathy may come from somewhat negative experiences with the CoC Revamp wiki - the only active staff member felt that pages should be created off of delving into the source code (and complete on creation) rather than created bit by bit while playing the game. Kinda soured me on the idea of giving fans access to raw source content.


----------



## Saiko (Feb 12, 2018)

Actually I think there’s a way to handle both of those concerns at the same time. I’ll have to do some research first, but the idea is to repackage an HTML/CSS/JS page as an executable. The problem is that I don’t know how “cludgey” that idea is, how well-behaved the licensing for it would be, or how difficult it would be to dig into the .exe and grab the smut. You may be right in preferring Unity after all. (C# is better than JS anyway.)


----------



## quoting_mungo (Feb 12, 2018)

Unity certainly has smooth licensing going for it. Ren'Py is a huge mess of licenses that make it very unclear and confusing under what terms the content created with it can even be released.



Saiko said:


> (C# is better than JS anyway.)


Haha, you've got that right. You can do some amazing things with JS, and I'm fine with using it for those things, but it's not really built for major-scale implementations. (I am super curious about the JS implementation of Flash I've heard rumors about tho.)


----------



## MissNook (Feb 12, 2018)

The JS implementation of Flash? Sounds like easelJS to me. I've worked with it for almost a year. Was a nice way to use Flash converter in JS and HTML canvas. However I tried to do a platform game from zero with it and it was kinda painful XD The fact is you need to know how to deal with optimizations with easel. Since I did optimizations for almost a year for the firm I was working at, I can say it got a complexity that shouldn't be taken lightly.

I'm following a French game designer who is doing her game with Construct 2. Sounds not to hard to work with but since she has now the help of a developer I can't say if it's that easy. But seems like it simplifies the work a lot


----------



## Katergaris (Feb 15, 2018)

I've been considering the very same! I'd say that unity could be a great and (relatively) easy engine to learn. It also depends how "deep" you truly wish to go. It's easy to learn, but has enough malleability to create your own style and provides a capability to utilize the simple tools to create complexity, if that makes sense! 
I'd say do some research! If you're willing to learn unity, you won't regret it in my opinion, there's plenty of fun things to create once you get the hang of it 
I wish you luck on your game!


----------



## xofrats (Feb 16, 2018)

You can't make a CoC clone in Unity! My boyfriend and I are making that 

I think Unity will work well for you.
But you could also take a look at Ren'Py www.renpy.org: The Ren'Py Visual Novel Engine "Long live the queen" was made with Ren'Py.


----------



## Saiko (Feb 16, 2018)

xofrats said:


> You can't make a CoC clone in Unity! My boyfriend and I are making that
> 
> I think Unity will work well for you.
> But you could also take a look at Ren'Py www.renpy.org: The Ren'Py Visual Novel Engine "Long live the queen" was made with Ren'Py.


I didn’t know Ren’Py existed, but I bet this is  an excellent solution. It being designed for visual novels should make it way easier to implement the UI stuff than it would be in Unity.


----------



## RakshaTheCat (Mar 29, 2018)

Heh, how did I manage to miss this thread... 

How is your project going? Unity is certainly decent choice, has pretty good components for GUI.

When I worked on a text heavy game for a a gamejam, I used inky within unity for whole story part and found it very convenient, since it saved me a lot of hassle with implementing some kind of 'story' engine on my own.

In any case, feel free to ask about anything, I played with unity a lot so I should be able to help or even get you started quickly with it if you didn't have a chance to start already :3


----------

