f13.net

f13.net General Forums => Game Design/Development => Topic started by: Kail on February 17, 2015, 11:15:53 PM



Title: 30 Day Project
Post by: Kail on February 17, 2015, 11:15:53 PM
So, I've been poking around writing video games as a hobby for a while, but typically they don't get finished.  I generally get sidetracked on to some weird tangent ("I'll need three parry animations for each direction, so twenty four in total, so I should probably get that done before I get bogged down with anything like basic combat physics or enemy objects") which is fun but I figured it would be nice to have something I can show someone someday.  So here's an attempt to finish something for once.

The idea is that I've noticed that when I'm not making something for a schedule, I generally screw around and waste a lot of time with pointless stuff, while when I AM working for a schedule (even if it's self imposed) I'll generally get way better results.  So the point here is to put together a schedule, and make a small, fairly simple game in a month.  The point of this post specifically is to add a bit of pressure, so there's a public record of me saying "yup, thirty days" so that I don't just go "meh" and turf the whole thing when I miss the first milestone and pretend it never happened.

The game concept I'm thinking of is doing a 2D platformer.  Original, I know, but at least it should be A) simple enough that I can get something basic done in a month (unlike just about anything in 3D), and B) complex enough that I can mess around with things like physics and control (unlike something like a shooter or puzzle game).

So, hopefully, one month.  Project due: March 19.

Estimated weekly breakdown looks like this:

Coding:
  • Feb. 18: Basic physics and movement
  • Feb. 25: Combat and AI
  • March 4: Level design
  • March 11: Flex

Graphics:
  • Feb. 18: Main character
  • Feb. 25: Map tiles
  • March 4: Enemies
  • March 11: UI, effects

Estimated Finish: March 19.

The plan is to make a post every week with an update on how I'm doing and if I've hit the goal for this week or how far behind I am.

Breakdown for the upcoming week:
Code:
  • Basic sprite display and animation
  • Camera and mob movement
  • Collision detection
  • Basic movement physics

Graphics:
  • Standing animation
  • Runing animation
  • Jumping animation
  • Attacking animation maybe? Might just animate a weapon instead of the character moving.

So, we'll see how it goes next week.


Title: Re: 30 Day Project
Post by: apocrypha on February 17, 2015, 11:38:33 PM
Cool plan, good luck with it :-)

How about trying to add something simple to distinguish it from other 2D platformers? Something like, making sound an important part of the game play, or some way to interact with the background image? Just a 'quirk'.


Title: Re: 30 Day Project
Post by: Kail on February 18, 2015, 12:18:24 AM

A quirk would be good, but I'm kind of short on fresh ideas there.  What I'm thinking of so far is just making it as crazy acrobatic as possible, like Dusforce or Mirror's Edge, to just make moving around as fun as I can.  I don't know if that will be enough, though.

Everything else I've come up with has been used or is really similar to something else.  Sound as an important part of game play sounds good, but I'm horrible with sound design and would probably have to bring someone on board for that.  Interacting with the background could work, I'll have to think if I can come up with anything new.

Kind of wavering on if I should go for a "retro" look or not.  Probably be easier if I did, but limits design a bit, too.


Title: Re: 30 Day Project
Post by: Xuri on February 18, 2015, 01:59:28 AM
Good stuff! Looking forward to seeing your progress :)


Title: Re: 30 Day Project
Post by: cironian on February 18, 2015, 04:09:37 PM
Seems like a good idea, just take care not to burn yourself out.

Since you only have a month, maybe start out using stock graphics only for the month? Then, if the gameplay ends up fun after the month is over, do a month 2 followup where you only do the art and are not allowed to touch a line of code (except where needed to insert your art). That way you won't have coding and art competing for the same limited time budget.

Good luck and keep us updated!


Title: Re: 30 Day Project
Post by: Typhon on February 19, 2015, 04:41:40 PM
We need a PM to periodically ask Kail(System Dev), Kail(UX), and Kail(QA) for status updates and, when there is slippage, makeup/de-scoping plans.  De-scoping plans must be approved with Kail(Client), of course.


Title: Re: 30 Day Project
Post by: Kail on February 24, 2015, 04:41:55 PM
We need a PM to periodically ask Kail(System Dev), Kail(UX), and Kail(QA) for status updates and, when there is slippage, makeup/de-scoping plans.  De-scoping plans must be approved with Kail(Client), of course.

Kail (CEO) demands a private jet, expensive office and hot personal secretary first.

Since you only have a month, maybe start out using stock graphics only for the month?

Yeah, I'm scrapping my graphics schedule, it's not going to work when I'm splitting time with coding unless I blow like eight hours a day on this.  I don't think I'll put the art TOTALLY on hold, because I generally enjoy doing it, but I think I'm going to go more broad than deep here.  Try to get a little bit of everything done before I start doing complete animations for anything.

Anyway, other than that, I think I'm basically caught up for this week.  Got the basic graphics display system done, the framework for the map and character physics, and the camera.  I'm not positive the physics work, because right now the test map is a horizontal plane, so I haven't had a chance to check the horizontal collision detection, but the vertical seems to work OK.  I don't have all the movement options I want in the game yet, but the guy runs around and jumps and doesn't crash the game (unless he runs off the end of the map).  For some stupid reason I decided to code standing, walking and running as three separate states rather than as different variants of the same state, so every time I find a glitch with the movement physics I have to fix it three times.

In terms of graphics, I kind of have standing and running animations for the main character basically working (though I think I'll end up redoing parts of them before calling them done) before I decided to try and work on more different stuff so that I'm not working with squares for the next month.  After that, I just did some enemy sprites and tiles, but not really anything animated.  I should spend some time sketching this stuff out, I don't really have solid designs for a bunch of these things.  Most of my focus this week has been code, so graphics work has been a bit thin.

Plans for next week:
  • Player and enemy attacks
  • Damage and death logic
  • Some UI work
  • Some generic enemy AI

For graphics, I need to put together some tiles for map design the following week, and probably work on some concept art so I'm not doing this stuff blind.  Hopefully get some visual effects for the combat sorted out.


Title: Re: 30 Day Project
Post by: Druzil on March 02, 2015, 08:03:15 AM
Sounds like it's going pretty well!   Seems like you're far enough along that this project needs a catchy code-name that probably doesn't reflect the game in any way.


Title: Re: 30 Day Project
Post by: tazelbain on March 02, 2015, 08:53:28 AM
Hasenpfeffer


Title: Re: 30 Day Project
Post by: Merusk on March 03, 2015, 05:59:41 PM
Project Roberts.

It has nothing at all to do with a game that will be completed.


Title: Re: 30 Day Project
Post by: Kail on March 04, 2015, 10:46:05 AM
Sounds like it's going pretty well!   Seems like you're far enough along that this project needs a catchy code-name that probably doesn't reflect the game in any way.

All right, project "really massively successful" is in week three!

Progress this week has been kind of scattershot.  About half the week was spent doing non-game stuff, but when I had time for this I was working on UI elements, but I don't really have much I need to display at this point.  I put together some AI routines for enemies, but they're hard to test on my empty default map.  So I spent the last few days working on a map editor so I can put together some playable maps to get some better testing done.  If I do this again, I should probably start with a map as the first step because it's so hard to test anything without one.  But that's about half done now, so hopefully I'll be able to finish it tomorrow and get some maps done, everything I did last week will work perfectly first time, and I'll be able to spend week four with my feet in the air.

Map design should be pretty straightforward.  Right now there are a few "types" of tiles and touching them from various angles can cause different effects (in addition to collision).  The one regret I have is that it doesn't easily accommodate moving platforms, since the maps are a grid of 8x8 pixel tiles the collision detection only checks once per tile, the collision map can't shift in increments smaller than 8 pixels in any direction.  That also means enemies don't really have collision, though, aside from knocking you back when you touch them.

For visual work, I have some standing sprites of a few enemies done, and a few rough UI elements that I'm not happy with and will be reworking.  I should have done more work on map tiles, but I'm running in to whatever the graphics equivalent of writers block is there.  I keep sitting down and saying "First level is going to be a cave, work on graphics for cave tiles" and then nothing happens for an hour except some cat videos get watched.  I should probably look up some examples and shamelessly rip them off for inspiration.

Plans for next week:
  • Finish the map editor
  • Put together the intro stage.  This stage is supposed to teach the player the basics of movement and combat so it should be good for testing purposes too.
  • Testing for AI and other elements which are currently in some Schrodinger's nightmare of simultaneously being done and maybe not done
  • Finish up coding player movement mechanics (this could easily run over in to week 4)
  • Start implementing some finished animations and other assets so I have something to look at

Graphics wise, I'm filling in the blanks.  I need to get some basic tile work done for the cave tileset, but other than that it's just polishing up animations and adding whatever else I have time for.  Main character's running and standing cycles are looking ok to me, but I just scrapped his walk cycle so that's going to take a day or two to re-do.

EDIT: Welp, I  fucked up my attempt at being retro, anyway.  Read the pallette restrictions on the NES as "four colors plus transparency" instead of "four colors including transparency" and now all my characters have one too many colors.  Probably not worth going back to redo everything, but still annoying.


Title: Re: 30 Day Project
Post by: schpain on March 04, 2015, 07:33:52 PM
Great idea Kail!  Goodluck!

Might I ask what you're building on?  I'm personally learning c# and Unity with the same end goal in mind (Private jet, hot secretary etc) and would be very interested to see your process and how things are progressing.

Did you get the idea from here?

http://www.kongregate.com/forums/4-game-programming/topics/315612-one-game-a-month


Title: Re: 30 Day Project
Post by: Kail on March 04, 2015, 10:24:38 PM
Great idea Kail!  Goodluck!

Might I ask what you're building on?  I'm personally learning c# and Unity with the same end goal in mind (Private jet, hot secretary etc) and would be very interested to see your process and how things are progressing.

Did you get the idea from here?

http://www.kongregate.com/forums/4-game-programming/topics/315612-one-game-a-month

I'm using C# with XNA, plus I'm eying SlimDX for controller support if I get that far.  I've played with a bunch of other engines a bit but all the 3D stuff (Unity and Unreal are pretty much all I have experience with) would probably be too much work for me to pull together anything in a month, while all the 2D stuff I've seen has had some hang up where I wished I was just working in C# so I could get at the guts of the engine anyway.

The idea I got from a couple of places, Buildbox had a 15 day challenge that sounded like a good idea but ended up not working out for me, while Extra Credits had some "how to be an indie dev" video where they said that for your first project you should shoot for a month of development so that you don't lose interest (or try to design Skyrim or something).  One of the things I've found is that creatively I work a lot better with a little bit of pressure, like an audience or some kind of schedule, so I figured I'd throw all that in to a blender and try it at once.


Title: Re: 30 Day Project
Post by: schpain on March 05, 2015, 04:21:02 PM


Great idea Kail!  Goodluck!

Might I ask what you're building on?  I'm personally learning c# and Unity with the same end goal in mind (Private jet, hot secretary etc) and would be very interested to see your process and how things are progressing.

Did you get the idea from here?

http://www.kongregate.com/forums/4-game-programming/topics/315612-one-game-a-month

I'm using C# with XNA, plus I'm eying SlimDX for controller support if I get that far.  I've played with a bunch of other engines a bit but all the 3D stuff (Unity and Unreal are pretty much all I have experience with) would probably be too much work for me to pull together anything in a month, while all the 2D stuff I've seen has had some hang up where I wished I was just working in C# so I could get at the guts of the engine anyway.

The idea I got from a couple of places, Buildbox had a 15 day challenge that sounded like a good idea but ended up not working out for me, while Extra Credits had some "how to be an indie dev" video where they said that for your first project you should shoot for a month of development so that you don't lose interest (or try to design Skyrim or something).  One of the things I've found is that creatively I work a lot better with a little bit of pressure, like an audience or some kind of schedule, so I figured I'd throw all that in to a blender and try it at once.

Yeh I saw that EC episode.  Generally I think those guys are great, can be a little soapboxy at times. 

I have no background in coding or art so I'm starting at ground level.  As such I'm not imposing timeframes because i get into something and realise "oh balls, i know nothing about OOP/Software architecture/etc" then go off for a few weeks and read/watch then come back to where i was.

I'm not ready to put my progress under scrutiny because I don't even know what I don't know, but I think soon I'll be your 30 day project buddy and put up a dev diary or something.

Xamarin might something to look at for you, if you can code well in c#.  At the moment I like unity because they have a great tutorials and support, which allows me to not be completely lost.



Title: Re: 30 Day Project
Post by: Kail on March 07, 2015, 06:03:04 PM

I have no background in coding or art so I'm starting at ground level.  As such I'm not imposing timeframes because i get into something and realise "oh balls, i know nothing about OOP/Software architecture/etc" then go off for a few weeks and read/watch then come back to where i was.


Yeah, I'm kind of thin on "real training" too.  I've taken basically the first two years of a comp sci degree (spread out over a decade or so) but nothing else, so posting my code would probably make some of the resident tech heads here cough up a lung.  I've tried reading tutorials and things but there's always some massive section that isn't relevant to my project but I don't want to skip because you never know if there's other, important information in there too that will be referenced later.  Like, I was watching Gamer to Game Developer (Unity tutorial) for a while, but I got up to about part four where he dropped a two hour video about multiplayer scripting and my project was a single player title, so I ultimately just couldn't sit through it.

Finally finished the map editor, hopefully I'll be able to catch up fairly quickly.  Making tiles is a massive pain in the ass, I need to look up if there's some way to automatically chop up my sprite sheet in to tiles.  I've got like fifty of the things and I haven't even mirrored the tileset yet.  If nothing else, this is farther than I usually get with these projects, so I'm at least breaking some new ground now.


Title: Re: 30 Day Project
Post by: Kail on March 11, 2015, 09:35:41 PM
All right, finished week three, and moving on to the final week.

Progress last week was okay, it feels like I got a fair chunk of the boring shit out of the way (for now, anyway).  Got the map editor functional, which was a nice boost.  Being able to test things in an actual level is nice.  I think I'm going to scrap the tileset (again) and redo it since it looks like shit in game but at least it's functional.

Spent most of the rest of the week working on movement mechanics.  There was some really annoying bug with the collision that caused the character to bounce off walls when they hit them going very fast from the right, which ended up causing me to re-write the entire control-y part of the code.  That ended up not even being the problem (it was a math error with the movement system) but at least now the control aspect seems a lot more robust than it was before.  Previously, it was just one long, messy switch statement with tons of duplicated code and I wasn't really sure how well it would work... there's some weirdness with the switch command I'm not sure about, like how it handles things when you change the value of the switch expression in the middle of a case.  But now it's a lot smoother, basically it's just one "is the player standing on the ground yet" check and if they are, moves them around horizontally and if not, it starts looking for the acrobatics conditions (canWallJump, canMantle, etc.) which are all handled by their own objects.  It's a lot tidier now. 

I'm still getting one annoying error where sliding down a wall into an opening exactly as tall as the character can cause the character to shift over one pixel as they fall that distance and somehow end up one pixel in to the wall.  Not the worst problem in the world, but it trips the edge pixel of the bottom collision detection box so the character stops in midair one pixel in to the wall.  As I write this, it occurs to me that the problem might be that I'm evaluating movement as a sum of two vectors (check that the movement in X is okay, and check that the movement in Y is okay, then move to that spot) rather than doing each vector separately (check that X movement is okay, move in X, then check that Y movement is okay, and move in Y) so maybe I'll try that first.

Also implemented some framework for animation, but I don't have an animation controller in the game yet so it's very basic at the moment.  I haven't done much work with enemy AI or combat logic, so that's something I'll have to look at.

Anyways, goals for the next, final week of this project:

  • Fix diagonal movement problem mentioned above, as well as the short jumping problem and whatever other bugs pop up
  • Work on finishing animations, both in code as well as graphics
  • Work on enemies and combat (not sure how much of this I'll be able to finish, the graphics assets here are almost all non-animated)
  • Work on tileset and layout for level 1
  • Put together a video or something to cap off the project (or at least this phase of it if I decide to do more)

Should have more free time this week than I did last week, so here's hoping I get some actual work done.


Title: Re: 30 Day Project
Post by: Kail on March 18, 2015, 12:17:36 AM
All right, well, that's my month up, so that looks like it's a wrap.

Didn't get the game finished, there's a lot of content I didn't have time to put together and god DAMN I hate doing backgrounds, so there's not much in the actual game.  But at least it's a thing that runs, it's got physics and graphics and I can theoretically build on it in the future if I want.

Known issues:
  • Weird bug where the character can jump through 1-tile thick floors and walls if they're moving fast enough, I think this is due to a problem with the movement code for characters moving more than one tile per frame.
  • The walking animation isn't done yet, the character goes straight from a standing pose to his sprinting animation.  In fact, there is no walking at all yet.  I was hoping to have a walk speed that would allow for slower, more deliberate platforming, but it's not in yet, the character just sprints all over the place.
  • I was hoping to have the character mantle up ledges, but didn't finish that because, again, didn't finish the animation.  Right now he just vaults up the wall, which works, so I'm not sure if I'll change it.  Probably should, if only to add the option to hang from ledges.
  • Enemies are theoretically done, but not in the game at the moment because I only have a few standing sprites done and it looks weird.  Similarly, attacks are not in the game.
  • No sound.
  • There's only one "level" and it's half assed so badly I'm not sure if I want to keep it (probably not).  Level design is a massive pain and I need to streamline it.  Designing a game map that's ten or twenty screens across, by placing one eight pixel tile at a time, is a gigantic time sink.  Also, I hate the way the tile art turned out, but I'm having trouble improving it, I really am not good at tiles.  Maybe a stronger design than "some ancient ruins or some shit, I don't know" would help.
  • Power-ups and inventory are not in the game.  Theoretically the code for them is but I haven't tested it.

Anyways, that's not too bad in my book.  I got a fair bit done, the engine is mostly functional in a barebones kind of way if not at all fun or interesting.  Not sure if I'll continue this project, take a break, or drop it, or what, but I definitely learned a lot this month and had fun working on it.

Short video of the project at this point:
https://www.youtube.com/watch?v=mXIEz5wFjCc


Title: Re: 30 Day Project
Post by: KallDrexx on March 18, 2015, 06:51:32 AM
I like the movement and speed.


Title: Re: 30 Day Project
Post by: Druzil on March 19, 2015, 07:35:48 AM
That's pretty awesome for a month, congrats!   Reminds me a bit of SpeedRunners.


Title: Re: 30 Day Project
Post by: Margalis on March 19, 2015, 03:25:44 PM
One thing this would really benefit from is a little elasticity with the camera. It looks like it's always exactly centered on the char.

I would try doing something like instead of making the camera point exactly at the character each frame (or X amount of time or whatever) move the camera to be halfway between it's current position and the new one.

Now that would mean that the camera always lags behind a bit, which is bad because then you see where you've been instead of where you're going. But I think it would feel a bit more natural. Then if you like that you can do something more sophisticated, like make it a bit slow to change direction but also if you are moving in a direction it gets a bit ahead of you. So instead of lerping between current and new position make it lerp between current and projected in time new position, if that makes sense. (Take the character's current velocity and use that to project forward in time a bit) This way if you are running left then change to running right the camera will have some give, but will then show more stuff to the right.

Basically cameras looks weird and stiff if they don't have some momentum or lerping of some sort. If you do this it will look a lot more polished I think.

For 30 days looks great though.


Title: Re: 30 Day Project
Post by: Kail on March 20, 2015, 04:49:22 PM
One thing this would really benefit from is a little elasticity with the camera. It looks like it's always exactly centered on the char.

Sounds like a good idea.  I originally had the camera just moving behind the character (to give them a better view ahead) but it looked really bad so I scrapped it.  Your idea sounds better, I'll have to see if I can get it to work.

I'm thinking of giving this another month and trying to get one level 100% complete from beginning to end.  Enemies, animations, everything.  Then maybe branching out and seeing what else I can get done.  The picture in my head for this game is something like Castlevania 2, where there's dungeon areas separated by a hub map, so I'll see if I can get any of that coded or if I just stick with something more like Mario where it's just level to level.  Otherwise it's going to be mostly graphics (and some fighting logic).

I'll probably stop with the weekly updates, unless someone wants to hear about it.  I'll try to get something up in a month, though, just to keep things moving.


Title: Re: 30 Day Project
Post by: schpain on March 24, 2015, 11:05:01 PM
good stuff Kail, I too like the speed of the movement and aesthetic (until you run out of tiles!).

Looking forward to the next month's project!


Title: Re: 30 Day Project
Post by: DevilsAdvocate25 on March 27, 2015, 04:42:48 PM
One thing this would really benefit from is a little elasticity with the camera. It looks like it's always exactly centered on the char.

Sounds like a good idea.  I originally had the camera just moving behind the character (to give them a better view ahead) but it looked really bad so I scrapped it.  Your idea sounds better, I'll have to see if I can get it to work.

I'm thinking of giving this another month and trying to get one level 100% complete from beginning to end.  Enemies, animations, everything.  Then maybe branching out and seeing what else I can get done.  The picture in my head for this game is something like Castlevania 2, where there's dungeon areas separated by a hub map, so I'll see if I can get any of that coded or if I just stick with something more like Mario where it's just level to level.  Otherwise it's going to be mostly graphics (and some fighting logic).

I'll probably stop with the weekly updates, unless someone wants to hear about it.  I'll try to get something up in a month, though, just to keep things moving.

Stick with it, I say. Set yourself a new monthly goal and weekly goals like you did and see if you can realize your vision. What you have so far is pretty good. This seems like a really good way for you to manage your projects, timewise.

For 1 month and only 1 person, it came out pretty damn good. Good job!


Title: Re: 30 Day Project
Post by: Typhon on March 29, 2015, 06:24:18 AM
Agree, great job!


Title: Re: 30 Day Project
Post by: Kail on April 16, 2015, 11:34:46 PM
All right, here's month two:

https://www.youtube.com/watch?v=NIM0x58IwjI&feature=youtu.be (https://www.youtube.com/watch?v=NIM0x58IwjI&feature=youtu.be)

Not sure if I'm going to continue this or what.  I think I got a fair amount done, but I'm already running in to "coulda, shoulda" kinds of issues which make the game feel super shaky to me.  Starting to get to that point where I'm wondering how much total time/effort I should be sinking in to this, if I should try to polish it as a future "real" game that I'll try to sell, or poke at it when I feel like it as a hobby project, or just stick a fork in the project and try something new.

This month was pretty busy with real life stuff (parents are moving, and since I'm a shiftless vagrant at the moment that means I get volunteered for anything that needs to be done during business hours, which killed probably at least ten days or so over the last month) so progress was slower than I was hoping.  I did get the tile sets for the first level mostly done, and the first enemy more or less.  Combat should be mostly done, with the exception of power-ups which still aren't implemented, and right now you can only attack left and right instead of in any of the eight directions (also the current attack sprite looks like crap and I'm thinking of redoing it).  Checkpoints and other effects are in.   Still no walking or stopping animations, or the neutral attack animations I was working on.  I was thinking of adding crouching/sliding, but that's not in yet, either.  Also I don't have the boss completed yet so that's not in the video.  I did work on the camera, I'm not super happy with it.  Right now it's perfectly snapped to the player in the Y axis and has momentum in the X-axis, which I think is the way Mario handled it on the SNES, but it's X momentum system is acting like an underdamped harmonic oscillator so if you run back and forth at the right frequency the camera goes nuts to such a degree that you can actually run off the screen.  It's only a real problem when you change directions a lot, but it's really jarring when it does happen so I suppose I'll have to add something to prevent it.  Also don't have the item system working yet, things like power ups or inventory or anything.  And no sound, still.

Anyways, that's it for this month, still contemplating what direction I should take this in or if I should continue at all.  I do think I learned a lot and it's nice to have something that at least resembles a game, so I'll have to think about it.


Title: Re: 30 Day Project
Post by: Samwise on April 17, 2015, 09:52:10 AM
Definitely looks gamelike!

I *think* the way the camera tends to work in Mario (I'm just trying to picture it in my head and describe what function I think might produce the behavior I remember) is that it's offset proportional to the player's instantaneous velocity, so the camera itself doesn't have acceleration.  I think that'd avoid the harmonic oscillation problem but get you the effect you want of being able to see in front of you when you're moving quickly.


Title: Re: 30 Day Project
Post by: Margalis on April 17, 2015, 08:16:36 PM
If you want a comprehensive overview on 2d cameras look at this:

http://www.gdcvault.com/play/1022243/Scroll-Back-The-Theory-and

In general camera control is something that can be a huge challenge, even for ostensibly simple games.


Title: Re: 30 Day Project
Post by: Kail on April 24, 2015, 12:04:28 PM
http://www.gdcvault.com/play/1022243/Scroll-Back-The-Theory-and

That's really helpful, thanks.  I was having a lot of trouble finding somewhere that went in to that level of detail about cameras, and it's hard to figure them out from the other side.  It looks like I was totally misremembering Mario, for starters, I guess camera is one of those things that you don't notice until it breaks.


Title: Re: 30 Day Project
Post by: Margalis on April 24, 2015, 11:15:53 PM
Yeah. A good camera is invisible. Only a bad camera is noticeable.


Title: Re: 30 Day Project
Post by: schpain on May 04, 2015, 05:22:50 PM
Well done Kail.

on the topic of "should i stay or should i go" my thinking is this:

you're talking about alot of little things that aren't quite right that will sap alot of time.  if this kind of thing bugs you alot, i'd start a new project and come back to this one for small updates here and there.

the original monthly game idea was to learn a different set of skills each time with different types of games.  go with that.  What you've done here is amazing, and its really inspiring for me personally.



Title: Re: 30 Day Project
Post by: schpain on May 04, 2015, 05:46:45 PM
Well done Kail.

on the topic of "should i stay or should i go" my thinking is this:

you're talking about alot of little things that aren't quite right that will sap alot of time.  if this kind of thing bugs you alot, i'd start a new project and come back to this one for small updates here and there.

the original monthly game idea was to learn a different set of skills each time with different types of games.  go with that.  What you've done here is amazing, and its really inspiring for me personally.



rereading your first post - it wasn't so much getting a different set of skills, it was about finishing something.  You sounded like you were getting frustrated getting bogged down in minutia and never finishing anything, so maybe then my advice is to work on another solution, you can clearly do everything you need.  The problem sounds like you don't have the time / hands to do it all yourself without losing motivation.  Have you thought about getting partners on board, or using freelancers to get some of the busywork done?


Title: Re: 30 Day Project
Post by: Kail on May 04, 2015, 11:35:44 PM
the original monthly game idea was to learn a different set of skills each time with different types of games.  go with that. 

Yeah, I'm sort of drifting in this direction.  I'm thinking of just eating the Greenlight fee, and then taking a bunch of weird different concepts and giving each one month or so to develop a trailer, and throwing them on Greenlight for a while until either something sticks hard enough to be financially worth trying to sell, or I land on something that really grabs me personally.

I've been mostly taking this month off, so the imaginary schedule in my head still has a week to go before my month is done and I need to make a choice, but that's the direction I'm leaning in at the moment.

Have you thought about getting partners on board, or using freelancers to get some of the busywork done?

I've given it some thought and I'm not against it in the long term, but I think right now I'm too small for it to be worthwhile.

Partners would mean I'm either buying or selling talent.  Buying is problematic because it would require cash I don't have, and selling is problematic because they usually want a portfolio of some kind and mine is mostly half finished pieces (and what is finished is not particularly great, compared to the actual pros). 

If I were working on this as a hobby project with a bunch of buddies, that's fine, but most of the people I know are too busy with their own lives to spend weeks on a project that will almost certainly never be finished.  If I were working on this as a professional project, that's also fine, but then it becomes a cash flow issue and I don't have the capital to fund the game before it's released or absorb the risk if it fails.


Title: Re: 30 Day Project
Post by: schpain on December 10, 2015, 06:33:32 PM
Hey Kail how's this project working for you?  I've been continuing my learning and tinkering, but need to finish a project.


Title: Re: 30 Day Project
Post by: Kail on December 11, 2015, 01:01:47 AM
Hey Kail how's this project working for you?  I've been continuing my learning and tinkering, but need to finish a project.

I stalled out a while ago, and have been looking for an excuse to start again.  I suppose this is as good a time as any.

Shortly after my last post, I decided that Greenlight was the way to go, and started working towards putting my submission together, which turned out to be a mistake.  Stepping back, this was more of a learning project and doesn't offer much that would interest people who are already drowning in 2d retro platformers.  I had the trailer mostly finished before I realized that this wasn't going to be particularly impressive no matter how much I added to it, but because I didn't want to give up I ended up scrapping the original project to try to make another one more suited for Greenlight (rather than scrapping the Greenlight submission and continuing work on the project, which I probably should have done).  The replacement project was a derpy little casual game in the vein of those progression games like Cookie Clicker and Swarm Simulator where the theme was playing with the idea of the technological singularity: you develop an AI that roughly approximates human intelligence and use that AI to develop a better AI and secure more resources to make better hardware to run better AI and on and on until there was this weird metaphysical endgame.  But real life issues got in the way, a bunch of people I know were moving and going through major changes all in a short time and I had to spend most of every day helping people with things out of the house for a few months and when I got back I had totally lost the thread of whatever I was doing. 

Then, a month or two after that my computer died, and the projects were on it, so that seemed like the end.  I've still got the project files backed up, but getting XNA to work requires Visual Studio 2010 which I didn't have backed up, and can't find a copy of (apparently MS wants people to use the current version which is nice and cloudy and doesn't work with XNA).  So I'm kind of tempted to just start over.  I've been working with Unity and Unreal engine a bit, but haven't put together anything playable yet.  I was sort of toying with the idea of working on two games, one in 2D with XNA or GameMaker or RPGMaker or something (or maybe just break down and learn to write games without XNA) and one in 3D with Unity or Unreal, but I don't have anything done yet.  I suppose now is as good a time as any to start, though, so I'll try to get a project idea nailed down for the next week or so and see if I can get back on track.  I'm looking at the idea of just shitting out a bunch of really small, quick but diverse games rather than trying to do a single project really well, so maybe I'll go with that.


Title: Re: 30 Day Project
Post by: schpain on December 13, 2015, 05:41:33 PM
Heh thanks for the mini-life story!  Well I hope my post has at least given you some impetus!

On my side I'm getting sidetracked by everything.  Here are the legit excuses:

- bought first house
- had 2nd kid
- trying to find new job

here's the bullshit ones:

- i need to learn at least some web dev, so i started a course
- i need to learn some social media more stuff better, so i started a course
- i need to learn some legal stuff better more, so i finished a course (woohoo)
- need more better Unity, so i need to get back to the course i was doing there.

I've gone through about 4 different project designs in the last 12 months.  i intend to go back to them, mostly i'll start scrapping up a mechanic or story, then fleshing it out and putting together docs on mechanics or spreadsheets on calculations and etc. 

The problem is in my day job i'm a business analyst, so kinda analogous to a designer; and i have no art/sound/coding skills, so everyone that i get in touch with to be involved is like "yeh, i'll code" then goes AWOL when i start talking to them about starting work.

so i'll have to go back to coding it myself, which is fine, i just know that i don't know anything and thus feel like it'll be shit. 

I've at least been able to start a business name, put together a logo and some kind of mission statement.  I've got a few cool ideas and all my early attempts at coding are in Unity4 so i need to revise them to bring them up to Unity5.  Having said that there's cool stuff coming out of there now, like integrated analytics, IAPs, some basic baked in network coding so that will help a shitlord like me find a place to get started.


Title: Re: 30 Day Project
Post by: Margalis on December 13, 2015, 07:51:59 PM
It's common for people to have a new "better" idea or find a new tool / engine and decide to start over. Often that's wrong - there's a lot of value in finishing something.

Sometimes things aren't worth finishing, but it may be worth polishing it, putting a bow on it and releasing it, just to go through the process.


Title: Re: 30 Day Project
Post by: schpain on December 14, 2015, 08:17:00 PM
i totally agree that there's value in finishing a thing.  i think my problem is fear/disgust at doing something badly, so its easier to divert myself on another concept...


Title: Re: 30 Day Project
Post by: Merusk on December 14, 2015, 08:47:09 PM
Doing something badly to completion is better than starting a million uncompleted projects that are perfect. For one, you finished something. For two even if it is bad you can learn from it.

I have that same perfectionist nature. I want everything I do to be the best and was bored/ frustrated by mediocrity to the point of quitting. However once I realized I had to start finishing things I got better because of it, because each little failure to achieve perfection in a thing has taught me a little more. A better way of cutting something, or planning it, or detailing it, or approaching the problem to begin with.

Pick your worst one and finish it. Focus on doing that, don't get distracted by the voice that says you can do it better. Finish it, THEN start the new one.

ed: Also, finishing just one means you can see the holes in your complete vision so you can flesh the next one out better. Recent example: I had this awesome idea of how the lights on my house would look. As I put them up and saw, crap, I didn't account for all the corners or changes in roof line. If I'd stopped they'd still be incomplete and my house would look terrible but I also wouldn't have noticed that the windows and garage would look good outlined as well and there's no need to wrap the bushes and trees.

Completing the project let me refine details I'd missed for next year instead of letting them sit in headspace, unfinished.


Title: Re: 30 Day Project
Post by: schpain on December 17, 2015, 02:43:03 PM
Thanks Merusk!

Don't ever change... your avatar.


Title: Re: 30 Day Project
Post by: Kail on December 23, 2015, 07:10:22 PM
Doing something badly to completion is better than starting a million uncompleted projects that are perfect. For one, you finished something. For two even if it is bad you can learn from it.

That's a pretty good point, and looking back I think that's closer to my original goal for this project than just churning out a dozen more half finished titles, so I may as well try finishing this one.  So, I spent the last week trying to get things set up on the new computer.

The good news is that I got XNA working, I think (haven't had much chance to test it, but it does load the project and publish it, won't debug it for some reason tho) and the game looks less garbage than I remember.

The bad news is that it looks like an old version of the game (I have no idea how this happened, I'll have to pull my old computer out of mothballs to try to get the current version if it even works) and is janky with the current Visual Studio (for some reason the project builds fine but can't run or debug, though it will publish it so I can test it that way in theory).

I'm debating just scrapping the code and trying to work without XNA at all.  Not sure how feasible that is, most of the tutorials I've run across assume you're using a prebuilt engine of some kind (XNA or Unity or something similar).  If I do keep the code, I'm probably going to re-write the map object at least.  Right now it just stores map data as one big ass 2d array of integers which is super inefficient for long, horizontal levels.  This is because I don't have any checks in place to keep the array values within bounds, so if the edge of the camera moves a pixel outside the map then the game crashes, a problem which I "solved" by padding the levels out with an extra screen worth of filler tiles.  The issue with that (aside from possible problems with the player going out of bounds) is that if you make a long level one screen high and X screens long you need the data for (X+2) * 3 tiles which means it's more efficient to make smaller, squarer areas.  What I'm thinking of doing is storing the game areas as a big linked list of sub maps, maybe a screen in size, which link to the adjacent 8 screens and will draw a blank filler screen full of tiles if there's no data there.  That should prevent it from eating up too much memory and also stop the camera from going out of bounds without having to restrict the camera's movement.

So, now I've got to sort how much of the old project I want to try to salvage and how much I want to re-write from scratch.  Or if I even want to keep working on the same project at all, given how much work it's going to be to even catch up to where I was in May.  Considering I only had a month or two of work on the original project, I wonder if it would be faster to just start over, or do a new project without the month time limit (but keep with the periodic goals to keep on task) and try to finish THAT.


Title: Re: 30 Day Project
Post by: Margalis on December 23, 2015, 08:27:26 PM
On computers with 4 gigs of ram I don't think I'd be too worried about a 2 dimensional array of bytes.


Title: Re: 30 Day Project
Post by: Merusk on December 24, 2015, 04:58:39 AM
Doing something badly to completion is better than starting a million uncompleted projects that are perfect. For one, you finished something. For two even if it is bad you can learn from it.

That's a pretty good point, and looking back I think that's closer to my original goal for this project than just churning out a dozen more half finished titles, so I may as well try finishing this one. 

...

So, now I've got to sort how much of the old project I want to try to salvage and how much I want to re-write from scratch.  Or if I even want to keep working on the same project at all, given how much work it's going to be to even catch up to where I was in May.  Considering I only had a month or two of work on the original project, I wonder if it would be faster to just start over, or do a new project without the month time limit (but keep with the periodic goals to keep on task) and try to finish THAT.

No. Look at your first statement. Finish the old one, then start anew.


Title: Re: 30 Day Project
Post by: Kail on December 24, 2015, 11:55:15 AM
I wonder if it would be faster to just start over, or do a new project without the month time limit (but keep with the periodic goals to keep on task) and try to finish THAT.

No. Look at your first statement. Finish the old one, then start anew.

Yeah, poked around with it last night and finally got it to compile, which was causing me a lot of concern.  So it looks like finishing it should be easier than I thought.


Title: Re: 30 Day Project
Post by: Merusk on December 24, 2015, 12:29:54 PM
 :thumbs_up:


Title: Re: 30 Day Project
Post by: Kail on January 06, 2016, 08:07:44 PM
All right, so I managed to get my old files off the other computer, and it looks like everything is intact.  I haven't done much more than poke around and try to remember how things worked, so I don't have a whole lot new to show.  I did grab the old trailer and junk just in case anyone wants to see that:

https://www.youtube.com/watch?v=iGeFRY1khvo
edit: oops, uploaded it in private mode, fixed :P

The video is pretty unrepresentative of the actual gameplay right now.  I was angling towards a Castlevania 2: Simon's Quest feel, with some minor customization and exploration on top of a hopefully fairly fast paced movement system.  None of that is really implemented though.  Mostly it just shows off the new tilesets I was working on, but I don't really like the triangle one.  The idea was to give the world a bit of a geometric feel by using a lot of simple shapes (cubes and tetrahedrons and things) but due to laziness it ended up being very 2d looking, so mostly just triangles, which don't look super great in a 2D pixel game.  I'll have to rework it if I want to keep it, I think.  There's some new enemies, too, but they seem a bit too small on the screen.

The screenshots of other content are also here, but my web host is having some sort of fit right now so I can't upload them.   If anyone's interested, I can put them up next update but I'm inclined to not bother otherwise.  Ditto all the media for the other project I was briefly working on.

Right now the plan is to start at the intro and work forward, so for next update I'll need some custom animation for the main character and a small starter dungeon hopefully.  Since I'm not on the 30 day timer anymore I think I'll toss these up every two weeks or so unless there's interest in more frequent updates.  Hopefully a new update every two weeks will allow me to show more stuff every time.


Title: Re: 30 Day Project
Post by: Druzil on January 15, 2016, 06:27:16 AM
This has really come a long way, it looks great so far.   As someone who only develops business related software, I find this stuff really interesting.  Thanks for the update!


Title: Re: 30 Day Project
Post by: Margalis on January 15, 2016, 06:14:24 PM
Yeah it looks good.

I would definitely add a hit spark when you hit an enemy for more immediate feedback. From watching it can be a little hard to tell that an attack connected. Other than that it looks pretty solid. I mean...it's better than like half the shit on Steam greenlight.


Title: Re: 30 Day Project
Post by: schpain on January 27, 2016, 03:29:51 PM
Kail! Looking really solid!

My only bit of feedback is the camera - particularly about 20sec in when trying to make a jump and camera is whipping back and forth; i found it a little frustrating to watch.  Might not feel that way when playing, just my 2c.


Title: Re: 30 Day Project
Post by: Kail on January 28, 2016, 02:48:44 PM
Oh, yeah, I was going to write an update on this last week, wasn't I...

I would definitely add a hit spark when you hit an enemy for more immediate feedback. From watching it can be a little hard to tell that an attack connected.

Yeah, there's a few other effects I want to add too (like dust puffs for footsteps) when I have time.  The "enemies are hitting you" animation is especially easy to miss.

My only bit of feedback is the camera - particularly about 20sec in when trying to make a jump and camera is whipping back and forth; i found it a little frustrating to watch.  Might not feel that way when playing, just my 2c.

There are some variables I can tweak to change the speed the camera follows and the amount it tries to lead (I'll probably put them in the game options because I have no idea how the average player wants this set by default), but in general I'm not sure this control scheme handles tight jumping on to narrow platforms that well.  It seems to be more fun (to me, anyway) with Prince of Persia style platforming and climbing than it does with Mario style precision jumps.  I do plan on adding a walk button which should make platforming a bit easier, though.

What I've been working on this week is tweaking the map drawing so that I can maybe move away from the tiles.  It's really messing with my workflow, I think.  Right now, I have to
  • Come up with the general map idea
  • List all the tiles I'll need
  • Draw each individual tile in every orientation
  • Import the tiles in to the map editor one at a time
  • Put the map together one tile at a time
  • Tweak the collision
  • Import the tiles in to the game engine one at a time
  • Import the map in to the game engine
...which is a huge pain when it takes like ten or fifteen tiles just for the most basic, no variations, no whistles and no decorations tileset (which is all of them right now).

What I've been working on is a way to just automatically dice any picture up in to tiles and then save those tiles with file names that will import in to the game engine so I don't have to do one at a time.  That way I can just draw a map, use the program to dice the map in to tiles, add collision, and copy the whole mess over to the game engine.

Although reading this I'm wondering if I'm actually saving any memory by dicing them in to tiles in the first place, since I'm loading the entire tileset in to memory anyway, how much processing time does it save only having to draw part of the map at once.  And I already have a way of loading large images for the backgrounds (which I was planning to use for layered parallax backgrounds).  Hmm.


Title: Re: 30 Day Project
Post by: Kail on February 15, 2016, 12:42:27 PM
Not much to report recently, I've been slacking on this a bit.  I did implement the new map display system, which basically replaces the array of tiles with a single big image of the entire map.  On the up side, this seems to be faster for me to make and they look better (IMO) than the older tiled maps.  It also fixes some issues I was having with foreground objects clipping through tiles and things, since now I can just draw them as part of the foreground layer.  Also lets me animate the map without having to swap tiles out every frame.  On the down side, the image size limits the map size, and the game is also throwing away one more "retro" aesthetic.  When I started this project there were some retro considerations I was intentionally ignoring (like sprite count limitations, I think the main character alone has more animation frames now than an NES cart can access) but every time I toss another one like this it bugs me a little, for some reason.  Not sure why, since this hasn't been "authentic" at any point, but whatever.

Since I'm thinking of making this a kind of Simon's Quest knockoff, the next step I think is going to be adding the mechanics for towns.  So text boxes, NPCs, and maybe inventory / store work depending on how much energy I have.  Also need to finally nail down the map transition code, which is a kludgy temporary solution right now (the camera has a seisure whenever the map changes because your character jumps from one XY position on one map to another XY position on the second map in one frame so the camera thinks you're moving at like infinite speed or something)