• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Indie Game Development Discussion Thread | Of Being Professionally Poor

Status
Not open for further replies.

_machine

Member
Finally off to the Holidays!
ancestoryholiday47sk5.png
We've had a lot of work this fall with Ancestory having to be worked on the side so it'll be great to come back all charged up and being able to focus on just one (awesome) project.

Thank you all for the great support that has really helped the whole team plow through the autumn!
 

Pehesse

Member
Finally off to the Holidays!

We've had a lot of work this fall with Ancestory having to be worked on the side so it'll be great to come back all charged up and being able to focus on just one (awesome) project.

Thank you all for the great support that has really helped the whole team plow through the autumn!

I usually forget to do this, you reminded me to whip up something of my own!
This will probably be my last Honey update in the thread for this year, too, so might as well combine the two. So here's a screen of the latest stuff: new dialogs in the VN segment (and quite a lot more for quite a while, and then editing, and stuff).


I wish all of you denizens of this great thread a merry christmas, and to rest enough (hopefully, if you can) to move your projects forward in 2015!
 

Burt

Member
Steel Assault | NES-styled sci-fi action platformer | Update #2
(12/01/14 - Update #1)

An accurate depiction of university commuters' everyday struggle:




[[click for full Youtube video link]]

This really looks awesome. Great job.

Happy holidays to everyone in here, hope everyone has a good time.

I managed to pick the worst screenshot ever last night (who would've guessed that drunk fumbling would have such a result?), so as reparations, here's the first webm I've ever made, of something a little more representative of where I'm at:

http://a.pomf.se/yursrk.webm

Plenty of jank in there, but most of it's 'five-minute fix' sort of stuff. NPC pathing is the only thing that might take a bit longer. Other than that, it's alignment and origin point issues/animations I spent 45 seconds on/crappy art/lack of shadows, but it all works! Feels good.

And webms kick ass.

Burt, keep it up! I wish I could say the same to my projects as well :D
I am working on it, and it is progressing, but slooowly. My biggest issue is that when I take more than a few days off programming, when I come back to my code, I barely get what I was trying to do :D

A great sign that I need a much better commenting structure in my code :p

Haha, I get that all the time. And I always go to bed thinking, "Tomorrow I'll wake up and just spend the day adding notation so that I don't lose track of anything", then wake up the next day and talk myself into doing something else.
 

snarge

Member
Managed to add some ambient critters to our game this weekend:

jdZvxdv.gif


Sidenote: When your artist is like "We should add swords to the game", make sure you get them to clarify what that means.
 

bumpkin

Member
Usual practice is to isolate your platform specific stuff into separate implementation files.

So you might have a folder in your project called "platforms" with subfolders "windows", "osx", "ps4... In each subfolder you would have platform specific stuff. i.e.: file_win.cpp, file_osx.cpp, file_ps4.cpp...

Each of these files would implement a generic cross-platform API.

This can be a fair bit of work however so you may not want to go that far. Instead just trying to keep dependencies on platform-specific includes as low as possible is a good way to start.

Try commenting out all your platform-specific includes and see how much of your project still compiles. The more the better. This is why its good to keep stuff out of your headers. If a .cpp file never includes (directly or indirectly) a platform-specific header there's a much better chance it will work when moving to a new platform.

Also – because of the above – never use pre-compiled headers. Seriously.
Thanks for the reply. Plenty of food for thought! This is admittedly my first attempt at writing a multi-platform game so I'm definitely learning as I go. On the bright side, it's written in C++ for all of the platforms; that's at least one detail (headache) I don't need to sweat!
 

Jobbs

Banned
Agreed the first shot is actually what many people remember most about a vania

early impression is very important. my game does have some more generic areas, and that's kinda unavoidable doing mostly everything myself in a game with 240 rooms, but you definitely need some areas that pop, and among those should be the very beginning.

early impression is EVERYTHING!
 

Blizzard

Banned
I've been in this thread a lot and no one has ever answered me. What's the best engine for 2D?
The perhaps unpleasant answer is probably "it depends". :p What are you trying to do? 2D sidescrolling fighter game? Sidescrolling shooter? Top-down shooter? 2.5D sidescroller with 3D models? Top-down / isometric RPG? Strategy game? Pixel art or flash-esque stuff? How do you want to animate it? Have you programmed before, and if so, in what languages? Do you want to learn programming to potentially use it in other tasks, or do you just want a game going as quickly as possible>

The answers to questions like these may help you decide on an engine. There should be several mentioned on the first page of the thread with information on them. Game Maker Studio, for example, is a common and easy engine that you can do simple stuff in quite quickly.
 

Jobbs

Banned
I've hooked up the logic for "ghost doors" (what I call them internally).

http://www.gfycat.com/WellgroomedAncientAstrangiacoral

(there'll be more visual FX added to this process later)

basically, these are color coded doors (blue = lower requirement, red = higher, etc) that require charges of "ghost energy" (for lack of a better word) to open.

killing many types of enemies will increase the charge of energy held in your pet, dizzy. opening a ghost door (regardless if you have extra energy beyond the requirement) or using a save point will set the charge to zero. what this does is helps even the pace of the game a bit, forcing the player to, at times, go kill some enemies first if they want to open a certain door.

it also introduces certain organic puzzle elements into play. for example, a higher level door may need just a tiny bit more energy to open, so you'll find yourself looking for just that one or two more enemies -- which may be made purposefully hard to find. or another example would be a door just behind another door, which therefore could only be opened if you found a secret alternate route around the first door so as not to expend your charge on it.
 

Kyuur

Member
I've been in this thread a lot and no one has ever answered me. What's the best engine for 2D?

Probably not getting much of an answer because there is no definite answer. It depends a lot on your needs. On modern PCs you aren't generally going to encounter a whole lot of performance issues or anything like that with 2D. Some questions you might want to ask yourself:

- Do you want to be multiplatform? Does that include consoles, web, mobile?
- How much of a programmer are you? Do you want things like tilemaps, UI components built in?
- If a feature is in the full paid version of the engine, how much are you willing to spend?
- What programming languages do you want to use, or do you even know how to program at all?
- Do you need advanced graphical options like shaders or just basic sprite drawing?
- Frame by frame animation or bones/transformation based?

It's all about using the right tool for the job/you. Some common ones used are Unity (4.3 or higher or using plugins), Construct 2, Game Maker, Stencyl. A game 'framework' may be more right for you if you're more of a programmer, or you may want to roll your own on top of a library like SFML or OpenTK.
 

Jobbs

Banned
I've been in this thread a lot and no one has ever answered me. What's the best engine for 2D?

if you've got little or no programming knowledge, stencyl or C2. the next level up is game maker, which is more powerful (generally) but also requires learning how to script in GML (game maker language).

If you are a programmer, unity.
 

SriK

Member
Hey thanks, OldmanAndroid and Burt!

whoa, this looks amazing. What platform is this coming out on? I'm getting G.I. Joe NES vibes from it.

It's being developed for Windows right now, with Linux and Mac support possible but tentative (based on the success of a Kickstarter we're planning for mid-January).

Shutter looks pretty cool, nice foggy dark atmosphere.

I managed to pick the worst screenshot ever last night (who would've guessed that drunk fumbling would have such a result?), so as reparations, here's the first webm I've ever made, of something a little more representative of where I'm at:

http://a.pomf.se/yursrk.webm

Nice art and music! I think the characters are a bit weirdly proportioned (heads seem too small), but the environments look great. A transition between indoor/outdoor scenes would be pretty nice, though (and if you can do that JRPG thing where the interior of the house fades in while the rest of the world outside fades to black, that would be ideal hahah).
 

Burt

Member
Hey thanks, OldmanAndroid and Burt!



It's being developed for Windows right now, with Linux and Mac support possible but tentative (based on the success of a Kickstarter we're planning for mid-January).

Shutter looks pretty cool, nice foggy dark atmosphere.



Nice art and music! I think the characters are a bit weirdly proportioned (heads seem too small), but the environments look great. A transition between indoor/outdoor scenes would be pretty nice, though (and if you can do that JRPG thing where the interior of the house fades in while the rest of the world outside fades to black, that would be ideal hahah).

Thanks. I actually have a fade transition in pretty much everywhere else that's another one of those things that'll just take a few minutes to put in, just haven't gotten around to it yet. That's a good idea with the layered transition that you're talking about, although it'll take a bit more looking in to and/or reworking, because right now I have town interiors and exteriors on separate layouts. Sounds like something I would have to do on an object basis, rather than jumping layouts.

As for the characters, they're actually proportioned like that purposely. I'm not a huge fan of chibi stuff, and most SNES-style RPGs used those types of proportions because of the conflict between sprite size, rendering resolution, and emotiveness, i.e. it's important to have a larger head because that's where all the character comes from.

I'd be lying if I said I wasn't looking at Chrono Trigger for character sprite inspiration and so the heads/faces of my characters are approximately the same size. But, whereas that game renders at something like 256x224, I'm at 640x360, so I don't have to sacrifice as much in the body proportions relative to the realistic proportion of a person being 7.5-8 heads tall. Granted, my tallest sprites are only about 5.5 heads, but Chrono Trigger characters were like 2-2.5 heads, and I don't think going much larger would be cost-effective once I get around to hiring a spriter/animator (even though I still argue with myself a bit about the player character being too small on screen). Overall, it gives me a bit more granular control in height and design/detail without having anyone look waist-high like Frog.

Comparison shot, dude in green is the base height of generics.:

Vvzdk9X.png


Obviously a straight scaling up of Crono's sprite to a non-round height isn't fair to the spritework itself, but I think it's easy enough to see how the proportions fall apart a bit and there's an excessive amount of space dedicated to the face/head when you start dealing with larger sprite sizes.

I'll keep it in mind though, and post some updates when I get an actual artist to pump some of these out.
 

Five

Banned
Thanks. I actually have a fade transition in pretty much everywhere else that's another one of those things that'll just take a few minutes to put in, just haven't gotten around to it yet. That's a good idea with the layered transition that you're talking about, although it'll take a bit more looking in to and/or reworking, because right now I have town interiors and exteriors on separate layouts. Sounds like something I would have to do on an object basis, rather than jumping layouts.

As for the characters, they're actually proportioned like that purposely. I'm not a huge fan of chibi stuff, and most SNES-style RPGs used those types of proportions because of the conflict between sprite size, rendering resolution, and emotiveness, i.e. it's important to have a larger head because that's where all the character comes from.

I'd be lying if I said I wasn't looking at Chrono Trigger for character sprite inspiration and so the heads/faces of my characters are approximately the same size. But, whereas that game renders at something like 256x224, I'm at 640x360, so I don't have to sacrifice as much in the body proportions relative to the realistic proportion of a person being 7.5-8 heads tall. Granted, my tallest sprites are only about 5.5 heads, but Chrono Trigger characters were like 2-2.5 heads, and I don't think going much larger would be cost-effective once I get around to hiring a spriter/animator (even though I still argue with myself a bit about the player character being too small on screen). Overall, it gives me a bit more granular control in height and design/detail without having anyone look waist-high like Frog.

Comparison shot, dude in green is the base height of generics.:

Vvzdk9X.png


Obviously a straight scaling up of Crono's sprite to a non-round height isn't fair to the spritework itself, but I think it's easy enough to see how the proportions fall apart a bit and there's an excessive amount of space dedicated to the face/head when you start dealing with larger sprite sizes.

I'll keep it in mind though, and post some updates when I get an actual artist to pump some of these out.

This is a great post. I think the head sizes you have are fine, although it should be stated that I'm not in any way steeped in RPGs of yore (I wondered for half a moment why Terrisus was in the thread).
 

Mathaou

legacy of cane
Hey, I have a story running and was wondering if anyone was a writer and could help me flesh this thing out.
Or is there a specific place you could point me towards where I could assemble a small team to work on this?
 

Blizzard

Banned
Steam makes cloud saves SO EASY TO IMPLEMENT

Man

Awesome
I haven't tried it as a developer, but as a player it's kind of annoying trying to find where the cloud save files are so you can back them up for when the cloud save screws up / needs emptied / a game bug happens. Fortunately that doesn't seem to happen too often.
 

Feep

Banned
I haven't tried it as a developer, but as a player it's kind of annoying trying to find where the cloud save files are so you can back them up for when the cloud save screws up / needs emptied / a game bug happens. Fortunately that doesn't seem to happen too often.
All cloud saves appear in steam/userdata/[some number]/[app id of game].

I'm also storing a copy to local hard disk, though, because I agree, sometimes stuff gets messed up.
 

ZServ

Member
Need some opinions. What purposes does a leveling system have in an RPG that can't be replaced? Power scaling is do-able through other means, abilities can be given by reaching certain points now, you don't need it to say "hey you can't go here yet," so I'm trying to gather the actual purpose behind leveling. What makes it interesting? Fun?
 

Blizzard

Banned
Need some opinions. What purposes does a leveling system have in an RPG that can't be replaced? Power scaling is do-able through other means, abilities can be given by reaching certain points now, you don't need it to say "hey you can't go here yet," so I'm trying to gather the actual purpose behind leveling. What makes it interesting? Fun?
Addiction (the "skinner box" criticism) and the comfort of familiarity ("it's always been done this way") may be some reasons.

Some people may also like grinding a bit to become overleveled, then crushing a later part in the game.
 

Five

Banned
Need some opinions. What purposes does a leveling system have in an RPG that can't be replaced? Power scaling is do-able through other means, abilities can be given by reaching certain points now, you don't need it to say "hey you can't go here yet," so I'm trying to gather the actual purpose behind leveling. What makes it interesting? Fun?

It gives weight to every experience-giving encounter. A player might skip fights with monsters or think them pointless if they aren't earning something tangible from it. Of course, you can design around that too. Make encounters worthwhile on their own, and/or block passage until the encounter is completed.
 

bumpkin

Member
I know there's an official OT for the topic but search is failing me... Anyone here have much experience with Wii homebrew? Is there an equivalent in the devkitpro SDK to the "SDL_GetTicks()" method found in SDL?
 

whiteape

Member
To the Unity devs:

I'm totally new to programming, and i want to use functions and variables from a main GameLogic script. I've managed to do it, but i have to assign the GameLogic GameObject in every script manually via the editor. That's more work than i want to do. Is there any way to assign a GameObject via code? I heard some stuff about "Find", but that seems to need much of the available performance (and i don't get it to work)…

This is how i do it right now, for example (calling a function from another script):

Code:
public GameObject gameLogic;
private GameLogic logic;

void Awake() {
   logic = gameLogic.GetComponent<GameLogic>();
}

if (lives <= 0) {
   logic.GameOver();
}
 

snarge

Member
To the Unity devs:

I want to use functions and variables from a main GameLogic script. I've managed to do it, but i have to assign the GameLogic GameObject in every script manually via the editor. That's more work than i want to do. Is there any way to assign a GameObject via code? I heard some stuff about "Find", but that seems to need much of the available performance (and i don't get it to work)…

This is how i do it right now, for example:

Code:
public GameObject gameLogic;
private GameLogic logic;

void Awake() {
   logic = gameLogic.GetComponent<GameLogic>();
}

if (lives <= 0) {
   logic.GameOver();
}

Not sure if this is what you want, but for that exact scenario, I use a Singleton: http://wiki.unity3d.com/index.php/Singleton
 
To the Unity devs:

I want to use functions and variables from a main GameLogic script. I've managed to do it, but i have to assign the GameLogic GameObject in every script manually via the editor. That's more work than i want to do. Is there any way to assign a GameObject via code? I heard some stuff about "Find", but that seems to need much of the available performance (and i don't get it to work)…

For example:

Code:
public GameObject gameLogic;
private GameLogic logic;

void Awake() {
   logic = gameLogic.GetComponent<GameLogic>();
}

if (lives <= 0) {
   logic.GameOver();
}

Use an underscore to denote components, my preference.

_logic = GameObject.FindWithTag("YOURTAG").GetComponent<GameLogic>();

Use tags to find things quick.

If it already exists on the same object just use GetComponent without the GameObject tag find. You can also find by name with GameLogic.Find("OBJECTNAME").etcetc

On your remove life function:
if (Lives < 1)
//Do;

You don't need to check 2 operands. Less than 1 is 0 and below with integers.
 

whiteape

Member
Thanks both of you, never heard of singletons before, will check out a tutorial about it. Find. will do it for the start to get an early prototype running.
 
Thanks both of you, never heard of singletons before, will check out a tutorial about it. Find. will do it for the start to get an early prototype running.
Also, I completely misread your code. You are referencing the object the GameLogic script is on as public. I'm assuming you are dragging the object in the inspector then getting the GameLocic script.

If you want to go that route just make the GameLogic _logic reference public. Then drag the GameObject to that and it will grab the script. No need to create additional references if not needed unless you explicitly need your _logic reference private, in which case, just use any of the Find behaviours as I suggested.
 
Depending on what you're trying to do, there's also inheritance. If you're simply trying to create methods that you can reuse, you can directly inherit GameLogic on a per-script basis, and the child class will have access to all methods that GameLogic has. It'll look like this, at the top of your script:

Code:
public class ChildScriptName : GameLogic

Do note that this will not create a single instance of GameLogic that all scripts can hook into. If you keep track of things in the GameLogic script, then you'll need to get a reference to it with GetComponent.

If that's the case, I would probably give it a special tag, and then search by tag. Then you don't need to assign it in the editor at all, you can just find the object that contains your GameLogic tag with a single line of code.
 

whiteape

Member
If you want to go that route just make the GameLogic _logic reference public. Then drag the GameObject to that and it will grab the script. No need to create additional references if not needed unless you explicitly need your _logic reference private, in which case, just use any of the Find behaviours as I suggested.

Yeah i was dragging the GameLogic object into the variable in the editor, but i don't want to do that all the time, so your solution with FindByTag was the thing i was looking for.


Depending on what you're trying to do, there's also inheritance. If you're simply trying to create methods that you can reuse, you can directly inherit GameLogic on a per-script basis, and the child class will have access to all methods that GameLogic has. It'll look like this, at the top of your script:

Code:
public class ChildScriptName : GameLogic

Do note that this will not create a single instance of GameLogic that all scripts can hook into. If you keep track of things in the GameLogic script, then you'll need to get a reference to it with GetComponent.

Does ChildScriptName still derive from MonoBehaviour then? When GameLogic derives from MonoBehaviour then ChildScriptName (which derives from GameLogic) should do as well, right?


I think i should check out the Unity demo games, to see how they handle all those scripts. If all those objects have their own scripts, or everything is handled in GameLogic scripts and called by miniscript on the GameObjects.

Learning all that stuff finally feels really great, thanks for your help, all :)
 
Does ChildScriptName still derive from MonoBehaviour then? When GameLogic derives from MonoBehaviour then ChildScriptName (which derives from GameLogic) should do as well, right?

You are correct. The child class will inherit whatever the parent class inherits (and whatever the parent of the parent inherits, etc.).

This brings up a good point about inheritance. It can be super useful, and it's cool to have a base class that has a lot of common methods in it, but it can also be your undoing. Be sure to think about "do I really need to inherit?". It's very easy to start inheriting classes everywhere (because it's convenient!) but it can also make your code very, very hard to read when you're calling methods from a class that your parent's parent's parent's grandparent's class has in it.

I'm not trying to scare you off inheritance, just remember that like many other programming conveniences, 'with great power comes great responsibility'. :)

thanks for your help, all :)
No problem, good luck!
 

Feep

Banned
Getting close to wrapping up my Unity game, anyone have any experience with Unity and steamworks integration? Has anyone used "Ludosity's Steamworks Wrapper" from the asset store?
Steamworks .NET. It isn't even close. Don't touch anything else.

Re: all the reference/singleton stuff, man, just go static. I have a static GameManager class and everything in it is static and therefore accessible anywhere with no thought or muss at all. GameManager.mission, GameManager.settings, GameManager.saveGame, etc. etc.
 
This is my first post in this thread, and I'm in desperate need of help.

See, I've been dabbling in game development for years, and every single thing I make goes exactly the same way:

I have an idea for a gameplay system.
I churn out that idea in like a week.
And then... I'm stuck. I have no idea where to go from there. No idea how to design levels, make sound effects and music, or do art. I mean, here's my current player character:

XWmDumq.png


Yeah... that's about the best I can do.

So I guess my question is, what do I do? How do I get over this hump? I can program, but I clearly need another person or two to tackle other aspects of the game. How do I go about finding these people? Or am I just screwed as an indie developer because I can't do these things by myself?
 
Status
Not open for further replies.
Top Bottom