Jump to content



Photo
* * * * * 3 votes

CAG Amateur Developer's Thread

RPGMaker Gamefactory Indie dev developer steam

  • Please log in to reply
119 replies to this topic

#91 CynysterMonkey

CynysterMonkey

Posted 22 June 2014 - 02:47 AM

I recently downloaded the Unity Game Engine to dabble lightly in game development. I've been following tutorials that are using Javascript but I've seen comments on sites saying C# is better and should be used over Javascript. I've also read that it's smart to learn more than one language, or start with Javascript and move on to C# or skip Javascript all together. 

 

I'm sure I'll get similar comments here but I just have to ask. Any suggestions on which programming language should be used for a beginner like me?



#92 Dr Sasquatch

Dr Sasquatch

    Trivial Hirsute

  • CAGiversary!

Posted 23 June 2014 - 01:25 AM

I recently downloaded the Unity Game Engine to dabble lightly in game development. I've been following tutorials that are using Javascript but I've seen comments on sites saying C# is better and should be used over Javascript. I've also read that it's smart to learn more than one language, or start with Javascript and move on to C# or skip Javascript all together. 

 

I'm sure I'll get similar comments here but I just have to ask. Any suggestions on which programming language should be used for a beginner like me?

Don't get too hung up on the language. Whenever you want to do something in Unity, look up a tutorial and use whichever language they use. The only language I knew at all a few weeks ago was Python (Boo, basically), but the game I am making now is mostly Javascript and C#.

 

The majority of the tutorials I have seen use Javascript, but to change some of the stuff that comes with Unity, you might need to add/change some C#. 

 

But they are all pretty similar, and just trying to follow the tutorials until you start to know more is probably the best way to learn.



#93 Kain

Kain

Posted 01 July 2014 - 02:52 AM

So, the Indie Game Dev 2014 contest just ended.  Anyone actually get a submission in?


Last Six Years of Completed Games: 2009, 2010, 2011, 2012, 2013, 2014.


#94 Dr Sasquatch

Dr Sasquatch

    Trivial Hirsute

  • CAGiversary!

Posted 01 July 2014 - 05:59 AM

So, the Indie Game Dev 2014 contest just ended.  Anyone actually get a submission in?

I did!



#95 motoki

motoki

    The sun made me do it

  • CAGiversary!

Posted 01 July 2014 - 06:14 AM

Spoiler

 

I think you should market it as the sequel to The Graveyard.



#96 Dr Sasquatch

Dr Sasquatch

    Trivial Hirsute

  • CAGiversary!

Posted 01 July 2014 - 06:42 AM

Spoiler

 

I think you should market it as the sequel to The Graveyard.

Old Lady Death Simulator 2014.



#97 Kain

Kain

Posted 01 July 2014 - 03:32 PM

Looks good.  The more I see things like that game, the more I know mine wouldn't have had a chance if I had made it in.  Makes me feel a little bit better for missing the deadline. A little.

 

I worked on mine every waking moment of this last week.  My girlfriend just got home from a two week trip on Wednesday night, we had plans to meet to celebrate our birthdays (her's the 24th, mine the 30th) but when I told her about the contest, she knew how important it was, so she postponed everything until the contest was over so I could have the time I needed to work on my game. I cracked down over the last three days, started cutting planned content that I knew I wouldn't have time for, worked, worked, worked and then finally finished it with three minutes to spare.

 

I go to the site, create an account, click to add a submission, fill out the information and then scroll down to the bottom where I expect to see a button to upload our game, and instead I see "Provide a link where we can download your game."  I'm like, "What the Hell?!"  My ISP took away my personal webspace earlier this year, I've never had a filehost account because whenever I needed to send someone a file, I'd just send it directly to them... I start trying to figure out what to do and then next thing I see is "Submissions Closed."

 

Sucks bad. What a birthday.


Last Six Years of Completed Games: 2009, 2010, 2011, 2012, 2013, 2014.


#98 Richard Kain

Richard Kain

Posted 01 July 2014 - 03:52 PM

If any of you use Unity, I recently posted a new editor extension to the Unity Asset Store.

 

Cheshire Lip-Sync plug-in

 

It's just a little tool for getting some basic lip-sync animations into Unity. (shameless plug)

 

Right now I'm working on programming some basic network server detection in Unity. You have to use Sockets to get this done on a LAN, as opposed to a full-on internet game.



#99 MrNinjaSquirrel

MrNinjaSquirrel

    Emo Blogger

  • CAGiversary!

Posted 01 July 2014 - 06:26 PM

Sucks bad. What a birthday.

I'm surprised some people still don't know about dropbox.

Sorry you missed the deadline though, that sucks.

76561198022997080.pngA_Different_Nate.png


#100 Dr Sasquatch

Dr Sasquatch

    Trivial Hirsute

  • CAGiversary!

Posted 02 July 2014 - 05:40 AM

Sucks bad. What a birthday.

Ah man, sucks you missed it for that reason. Hope you get in the next one!

 

If any of you use Unity, I recently posted a new editor extension to the Unity Asset Store.

 

Cheshire Lip-Sync plug-in

 

It's just a little tool for getting some basic lip-sync animations into Unity. (shameless plug)

 

Right now I'm working on programming some basic network server detection in Unity. You have to use Sockets to get this done on a LAN, as opposed to a full-on internet game.

Wow, that looks pretty great! Now to make some characters and write some dialogue...



#101 MrNinjaSquirrel

MrNinjaSquirrel

    Emo Blogger

  • CAGiversary!

Posted 02 July 2014 - 07:16 AM

Wow, that looks pretty great! Now to make some characters and write some dialogue...

I vote you let CAGs do the voices, if only because I want to hear what Tebow sounds like.

76561198022997080.pngA_Different_Nate.png


#102 Neuro5i5

Neuro5i5

    pʎslǝxıɔ

  • CAGiversary!

Posted 02 July 2014 - 11:26 AM

I vote you let CAGs do the voices, if only because I want to hear what Tebow sounds like.


"The mind of the subject will desperately struggle to create memories where none exist…"

#103 Richard Kain

Richard Kain

Posted 02 July 2014 - 05:39 PM



Wow, that looks pretty great! Now to make some characters and write some dialogue...

Thanks! Yeah, it's free for now. (I don't have any plans to charge) But it does require a bit of set-up on the part of the user. It comes with a sprite resource and a 3D model resource for testing and demonstration. If you want to use your own model or sprite, you will have to create the various sprite frames and shape keys yourself. Depending on the complexity of the model, it shouldn't take that long. Once you have the shape keys you want, you just import the model into Unity, apply the script, and then select which shape key you want to apply to which mouth shape. (for the 3D models there are 9) The plug-in does the rest.

 

It's similar to how Valve handles lip-sync animation in Source, but much more simplified. Their solution requires the user to create a whole bunch of little shape keys, and then they create each individual phoneme based on a combination of those various keys. This allows for more subtle blending, but it takes a lot longer for the initial setup. My solution is quite a bit more straight forward, but not nearly as powerful or general purpose. It's more of a quick-and-dirty solution to get obvious results fast. It's intended for smaller developers on a budget who just need their characters to talk with as little trouble as possible.

 

Also, if anyone is interested a new game engine was released as open source recently. The Godot Engine is a cross-platform engine with a visual editing environment. It is fairly bare-bones, but has a lot of nice features and advantages. It is similar in its general structure to more robust systems like Unity or UE4. While still a little rough, there is much to recommend it to the amateur developer on a budget.

 

One of the biggest advantages is that it has a Linux release. Any Linux enthusiasts out there can run Godot in their OS of choice as a native program. Linux users don't get many options for game engines, so this is pretty big for them.

 

Another big plus is the 2D support that Godot features. Engines like Unity and UE4 often have tacked-on 2D support that is really just 3D with an orthographic projection. Godot features full support for a pixel-native 2D solution, where game logic itself can be measured and updated in pixel values as opposed to world units. This can be a big advantage for retro developers looking to make titles focused on this older style of game. It also has full 3D support for those who want a more modern look.

 

And last but not least, Godot is compatible with iOS and Android. Godot was originally designed with mobile platforms in mind, so it features solid support for mobile OS in its current state. Mobile platforms are only becoming more significant to small developers, so this support is a strong recommendation.



#104 Idiotekque

Idiotekque

    Victim of the Industry

  • CAGiversary!

Posted 04 July 2014 - 10:38 PM

I'm surprised some people still don't know about dropbox.

Sorry you missed the deadline though, that sucks.

 

I'd actually recommend Mega over Dropbox. Dropbox is nice for just syncing a folder on your computer to your online account, but Mega gives you loads of space and allows you to upload stuff that stays on their servers. Dropbox only works as long as your files are still on your computer in the synced folder, afaik.

 

Also, download/upload times between Mega and Dropbox are night and day for me. Mega is WAY faster.


Terraria - $1 (Steam),  X3: Terran Conflict - $2 (Steam)Fable: The Lost Chapters - $2 (Steam)

 

bZ2g3eF.png


#105 MrNinjaSquirrel

MrNinjaSquirrel

    Emo Blogger

  • CAGiversary!

Posted 04 July 2014 - 10:58 PM

Dropbox only works as long as your files are still on your computer in the synced folder, afaik.

I just upload it manually from the browser version so I'm not sure. I don't have dropbox installed though and my files are still up.

76561198022997080.pngA_Different_Nate.png


#106 Richard Kain

Richard Kain

Posted 14 July 2014 - 06:11 PM

I've been setback a bit for the past week thanks to a favor I was doing for a friend. (a little bit of dog-sitting) I did get to play some Dragon's Crown, but I only got a little bit of development done.

 

On the plus side, I was able to sort out some bugs I had managed to create in my Unity networking solution. Now I have the UDP broadcasting working like I want it to. This is going to be a core component for several LAN multiplayer games that I want to make, so I am very happy about that. It still requires a Unity Asset Store purchased component, so for the time being I won't be releasing this project. Perhaps some time in the future.



#107 Sir_Fragalot

Sir_Fragalot

    wants Startropics 3.

  • CAGiversary!

Posted 15 July 2014 - 04:39 PM

So maybe you guys can help me in the right direction. So basically what I want to do is make 2D style games. Something that can work on mobile (Android specifically but if iOS isn't hard to adapt for that's good as well, just have more testing devices for Android). PC's are a plus but I would like to focus on mobile. Now I do know Java, Objective C, C++ and I do spend my day job doing Mobile Apps for iOS and Android (nothing game related just standard apps so I don't know anything in the area of game physics and such).

 

My question is what would be the best development tools to do the job or recommendations on ones that will get me started. Something that I wont have to shell an arm and a leg to get and of course has a license where I can sell my game.

Thanks


Posted Image
"Mega Man 9 isn't hard, you're just not paying attention." -KingBroly

#108 MrNinjaSquirrel

MrNinjaSquirrel

    Emo Blogger

  • CAGiversary!

Posted 15 July 2014 - 04:46 PM

Unity has a 2D toolset now and has ways to publish on android/iOS, so that would likely be a good place to start.

76561198022997080.pngA_Different_Nate.png


#109 Sir_Fragalot

Sir_Fragalot

    wants Startropics 3.

  • CAGiversary!

Posted 15 July 2014 - 05:07 PM

Unity has a 2D toolset now and has ways to publish on android/iOS, so that would likely be a good place to start.

Did not realize Unity was free. I think I will look at that.


Posted Image
"Mega Man 9 isn't hard, you're just not paying attention." -KingBroly

#110 Richard Kain

Richard Kain

Posted 15 July 2014 - 05:08 PM

Unity is going to be the solution with the least amount of hassle. Since you already know Java, switching over to C# scripting in Unity would be simple. (the two languages are structurally and syntactically very similar) Perhaps more importantly, Unity has gobs of documentation and an immense, active user base.

 

The 2D toolset in Unity is fairly new. But it is decently capable, and should suffice for most purposes. I've already used it myself in one project. Publishing to different platforms is one of Unity's biggest strengths, and is as easy as it can be. Unity's free license does not require any down-payment for commercial projects. You can make and sell games with it without paying a dime. You are only forced to upgrade to the Pro license if you need a feature that the pro-license provides, or if you have earned more than $150,000 with one of your Unity projects. This model makes the Unity free license very attractive to small developers.

 

If there was one weakness in Unity I would say it is the user interface library. The user interface of the application itself is fine. But the scripting for GUI elements is a bit backwards, and can be a bit of a pain, especially when starting out. Despite this, I would still recommend it for most indie game projects.

 

Godot is a newly released engine that also has some very nice features, but it's community is much smaller. It is worth looking into, especially if you are interested in low-level source code access. Unity allows for coding of C++ plugins, but does not allow source-code access to the engine itself. Godot is an open-source project and allows full source code access.

 

Unreal Engine 4 is a commercial engine that requires a monthly subscription. It is very reasonable, but I wouldn't suggest going with it unless you are looking to push high-end graphics. It is more of a show-pony when it comes to graphics, and most indie devs will never be able to take advantage of all its bells and whistles. I've heard that the logic tools have improved significantly, but Unity is also known for its strength at rapid prototyping. Unreal Engine 4 is a better fit for small to mid-sized dev teams who have members dedicated to the production of high-end art assets. (and obviously, large commercial teams)



#111 Sir_Fragalot

Sir_Fragalot

    wants Startropics 3.

  • CAGiversary!

Posted 15 July 2014 - 05:24 PM

Thanks for that. Yeah Unity looks like what I need then. I didn't realize it was free but that's great.

 

My goal is make something to just make. Something I can show people say hey I did this, like a portfolio piece of sorts. If I make a few bucks along the way, that's fine too.


Posted Image
"Mega Man 9 isn't hard, you're just not paying attention." -KingBroly

#112 Richard Kain

Richard Kain

Posted 21 July 2014 - 05:51 PM

Still having a little bit of trouble getting back into development-mode. I've been really busy at work with some necessary tasks, so no extra time to dapple then. And in my off hours I've been working hard to re-organize and mothball the majority of my DVD collection, and that's been eating up all my extra free time.

 

On the plus side, I found something useful while I was getting binders at Office Max. I got my hands on a portable WiFi router. The local multiplayer software I'm working on relies on having an easily accessible WiFi network. For use in most people's homes, it is fine. But this focus makes it a lot more difficult to put on demonstrations. I have to log into whatever local WiFi network is available with multiple devices, and pray that they don't have port blocking enabled. It's a hassle and makes it hard for me to show anyone what I'm working on.

 

The portable WiFi router I found solves this problem handily. It's very small, compact, and convenient. And it's an all-in-one solution, its power adapter is built into the unit itself. It also has the option of being powered by USB, which is perfect for pairing it with my laptop. With this little gizmo I can take the show on the road, and perform demos with as little fuss as possible. It is also really great for impromptu testing.



#113 Richard Kain

Richard Kain

Posted 23 July 2014 - 11:20 PM

Shifting back into development-mode now. When I'm compiling software at work, I have a few minutes where I can work on experimenting with my prototypes. The portable WiFi router that I acquired is working out GREAT! I just plug it in when I come in and then I have a nice wireless network for testing. Smooth as butter.

 

I was also able to get the basic functionality for networking running in Unity. It takes a little bit to wrap your brain around Unity's networking classes. But the testing environment I set up helps considerably.



#114 Sir_Fragalot

Sir_Fragalot

    wants Startropics 3.

  • CAGiversary!

Posted 28 July 2014 - 11:48 AM

Got a question. What do you guys recommend tutorial wise for learning Unity. The programming part wont be hard for me to learn, it will just be learning the functions and programming flow, etc. More so it's tackling the editor, making models, terrain, etc.

 

I been dabbling into the editor but I am looking for a good tutorial series that teaches me a little bit of game design with how to use Unity, or tips I can use to get started in the right direction.

 

Thanks.


Posted Image
"Mega Man 9 isn't hard, you're just not paying attention." -KingBroly

#115 Richard Kain

Richard Kain

Posted 28 July 2014 - 05:28 PM

I don't have any tutorials on tap for general Unity approaches. Most of the tutorials I've found pertain to specific functionality. I can provide you a few pointers from my own experience, however.

 

Unity is component-based. A lot of programmers come from a procedural or object-oriented background. (or some combination of both) The component methodology is simply an extension of those earlier coding disciplines. But it requires you to think about how you handle code differently.

 

In Unity, all the objects are GameObjects. That's the class that pretty much everything extends from. When you create anything in the editor, it's an instance of GameObject. This is important to remember. No matter how an object in your Unity project comes to be, it's going to be a GameObject.

 

Components in Unity are all derived from the MonoBehaviour class. Any script you want to attach to a GameObject will have to extend from the MonoBehavior class. It is possible to write your own custom classes that aren't extended from MonoBehavior in any way. But in order to attach code to GameObjects, a MonoBehavior script will at some point be needed.

 

All of Unity is based around creating game objects, and augmenting their abilities by adding components to them. Don't ever bother trying to make a script that encompasses all of the functionality of a particular object. The script components you code should all be focused on providing little snippets of functionality.

 

Take the concept of health. You might be tempted to incorporate health-related code into a "Player" class. This is not how Unity works. It's much better to simply create a script that encompasses all the functionality of health. Then you apply that script as a component to whatever game object represents your player. Because of the way it is structured, you can then apply that exact same script to any enemy objects that also need to have "health."

 

All scripting code in Unity works this way, right down to all of the built-in object types. If you create a Sprite in the Unity editor, you're just creating a game object with the "SpriteRenderer" component applied to it. You can remove that component any time you want, and alter that game object's functionality. Using this, you can easily change a 2D sprite into a 3D model, all on the fly. Components can all be accessed and altered at run-time, allowing the user a lot of flexibility.

 

Remember, everything is a game object. Components simply extend the functionality of game objects, they never define what a game object is. If you create a Player script and apply it to a game object, that game object does not become a player. It is simply a game object with the functionality of a player applied to it. Thinking of things in these terms will help you to understand the strengths of the Unity engine.



#116 Sir_Fragalot

Sir_Fragalot

    wants Startropics 3.

  • CAGiversary!

Posted 28 July 2014 - 11:24 PM

Thanks for that, yeah I learned that early on about Game Objects. I been doing a lot of iOS and a little web lately and scripting in Unity is very similar.

 

I guess what I need to find is some sample scripts and stuff on movement, and other game objects or reverse engineer how people did things to learn. I found the Unity API's which is nice.

 

Another thing, is there any huge advantage to using C# over Javascript? I ask because I will switch to C# right away if there is benefits. Wont be hard for me to transition since I know Java, C++ and Objective C among other languages.


Posted Image
"Mega Man 9 isn't hard, you're just not paying attention." -KingBroly

#117 Richard Kain

Richard Kain

Posted 29 July 2014 - 01:07 AM

Another thing, is there any huge advantage to using C# over Javascript? I ask because I will switch to C# right away if there is benefits. Wont be hard for me to transition since I know Java, C++ and Objective C among other languages.

Not particularly. I personally use C#, mainly because I like the strict typing. But in terms of performance any advantage in using C# is minimal. The majority of the real resource-intensive tasks in Unity are handled by the engine itself. And the engine is coded in C and C++ to allow for some decent performance. The scripting language you choose generally has minimal impact on performance. And the Unity documentation provides samples in both Javascript and C#. It's just a matter of personal preference. If you're already comfortable with Javascript, feel free to stick with it.

 

The only area where scripting could drastically effect performance is in the shaders. And those are written in shader language anyhow. (which is neither C# or javascript)

 

For movement, your first stop is the InputManager. This is accessible through the IDE, so you are going to want to set it up specifically for each project. It is where to go for mapping various controls. (including mouse, touch, keyboard, and joystick/pad) While it isn't strictly required for getting input, it is the best way to abstract and assign controls. Even if you don't use it in the prototyping phase, you definitely will in the final polishing stages of your software.

 

Movement can take place however you define it. You can use Unity's built-in physics engine, or just roll your own movement controllers. It's a good idea to use Unity's collision system one way or the other. Tie it in with the InputManager, and don't forget to keep it all defined by time deltas. Unity has a built-in class for retrieving elapsed time as well.

 

What general style of game are you looking to work on? I'm getting a general sense that you're leaning toward the action side of things.



#118 Sir_Fragalot

Sir_Fragalot

    wants Startropics 3.

  • CAGiversary!

Posted 29 July 2014 - 11:38 AM

Not particularly. I personally use C#, mainly because I like the strict typing. But in terms of performance any advantage in using C# is minimal. The majority of the real resource-intensive tasks in Unity are handled by the engine itself. And the engine is coded in C and C++ to allow for some decent performance. The scripting language you choose generally has minimal impact on performance. And the Unity documentation provides samples in both Javascript and C#. It's just a matter of personal preference. If you're already comfortable with Javascript, feel free to stick with it.

 

The only area where scripting could drastically effect performance is in the shaders. And those are written in shader language anyhow. (which is neither C# or javascript)

 

For movement, your first stop is the InputManager. This is accessible through the IDE, so you are going to want to set it up specifically for each project. It is where to go for mapping various controls. (including mouse, touch, keyboard, and joystick/pad) While it isn't strictly required for getting input, it is the best way to abstract and assign controls. Even if you don't use it in the prototyping phase, you definitely will in the final polishing stages of your software.

 

Movement can take place however you define it. You can use Unity's built-in physics engine, or just roll your own movement controllers. It's a good idea to use Unity's collision system one way or the other. Tie it in with the InputManager, and don't forget to keep it all defined by time deltas. Unity has a built-in class for retrieving elapsed time as well.

 

What general style of game are you looking to work on? I'm getting a general sense that you're leaning toward the action side of things.

Thanks for the advice. The game I am looking to make is a simple 2D platformer type game. Nothing really grand in scale, but I had the idea of making a platformer for some time. It was just finding a good editor where I did not need to pay to get because it's a hobby thing for me.

 

I can see Unity will be strangely relaxing for me. Just get lost building my own world which is nice.


Posted Image
"Mega Man 9 isn't hard, you're just not paying attention." -KingBroly

#119 Richard Kain

Richard Kain

Posted 06 August 2014 - 06:57 PM

I've run into some issues recently. After upgrading to the latest version of Android, my phone has stopped working for testing builds. Thankfully, I recently acquired some new devices for mobile testing, and those still seem to work. I'm hoping that this issue will be fixed by the next Android or Unity update. But for the time being it's a bit of annoyance.



#120 Richard Kain

Richard Kain

Posted 15 August 2014 - 05:06 PM

Some sad news, my current contract day-job has come to an end. This is going to place some financial pressure on me to get a new job.

 

On the plus side, it means I am going to have some more free time to work on my personal development work. And that personal development work has been going pretty well recently, so I am encouraged. I'll be using some of my time off between jobs to put together a functional prototype.







Also tagged with one or more of these keywords: RPGMaker, Gamefactory, Indie, dev, developer, steam