So I started Ludum Dare last weekend worked the first day of it then gave up on getting done on time. I suppose I could have finished something VERY SHORT repetitive and arcady with the amount I had finished; but all I had was roughly 9 seconds of gameplay and the amount of time it took made me feel very disheartened about the idea of finishing it in the time frame.
I'm now looking at what I had done on the project and the full project idea and considering if it's worthwhile to finish or not.
First; what there is: Video. Preview:
Basically the player will hit a half-pipe about 3 seconds after starting; have half a second in the air to pull a 180 [+/- 10 degrees] and land it (or else they wipe out); that's about it.
What went wrong to cause that to take so much time?:
Though I'm trained in 3DS Max, I never really made the transition to Blender after I lost my 3DS Software License. I was trying to code 3D models and animations by hand. It works and I understand the math behind it well enough to do it; it's just slow and difficult compared to using the software. For example; that skateboard is this lovely piece of code: http://pastebin.com/wHhwVQwE
Writing the Triangles is particularly annoying; that long array of numbers is crucial to how the level is actually drawn. Notice also that the model doesn't really have any normals. I just called "mesh.RecalculateNormals();" to not give it complete crap; but default normals like that doesn't light anywhere near as well as good normals would. Since Unity uses normals by vert instead of normals by triangle trying to get the right angles would both be time consuming and require lots of vertex duplication; which I didn't have time to go through.
Anyways; though I could do that; making the skateboard animate correctly to not clip through the half-pipe [Which is literally defined with the equation y=0.5x^2 for a period of y=0 to y=1] was proving pretty impossible (especially since the position of the skateboard was controlled by one script and the rotation by another [out of necessity, unfortunately]). With fresh eyes it occurs to me that if I rendered the objects on seperate layers I could have more easily gotten 'close enough' and ran with that.
In short I wasn't really using the right tools and the method I'd rigged together was rather inefficient.
The rest of the game was more complicated physics and though it seemed simpler (except animations, perhaps) after all the issues I'd had up to that point I didn't feel like continuing to slog through it.
On the positive side:
- I think I've proven that I understand how to manually right a mesh well enough that I could feasibly write some fair procedural mesh generation for situations where it's more necessary (voxel systems; making Unity look like an old Sector shooter).
- The candy-stripping on the boxes was a bit of a happy accident. I couldn't make straight lines like the game the look was inspired by without duplicating vertices; which I didn't want to do.
- The level reader works pretty well and was a pretty cool idea. LevelData is saved as an image (Red = Direction, Green = Tile type, Blue = Height, Alpha = Unused, probably enemies IF they needed to be seperate from Tile type [unlikely]) and reads into a 'tile' class for easy parsing. In retrospect the tile class is only for coder ease and unnecessary; could just as easily have only parsed through color data live without the middleman eating memory. It draws the first test level from this; but for a longer game I'd probably have to make an actual level editor; because manipulating that much data in GIMP is both inefficient and confusing.
So what's the actual idea:
In Short: Tile-based isometric platformer based around skateboarding.
- Double-tap left/right to jump left/right by one lane.
- Press and hold to turn the board left/right.
- Up/Down to speed up/slow down; but no stopping.
- Space causes jumps one arbitrary unit into the air.
- Space again while in the air bounces on the board and hit anything below you (unconventional weapon).
- Space over a grind rail to follow it.
- Nativigate a deadly skatepark and dispatch all enemies that attack you.
- Features include up/down slopes and twists. Swinging axes; firing turrets, which must be tricked into shooting themselves; crumbling platforms, etc.
- You must dispatch all enemies to finish each level.
- Up to 100 units of height variety.
- Multiple cameras. (Possibly; if the one camera view restricts level design too much.
- Speed control necessary to get proper jump length.
Here are the notebook entries from this if anyone cares. It's mostly just the math and mesh notes I had to write down wile handcoding the meshes.
Opinions on if I should finish this or not?
I did a couple video reviews last night and am considering making a series of it. (Probably put a bit more effort in; but still just be me talking about a person's game in detail.) Y'all think it's worth my time?
Links to the two from last night:
The primary focus would be development feedback on early (or rough) games released to the portal that are playable enough to 'grow' from any advice I can give; so as to network with more developers. BUT, it could also be a promotional platform, for games that I find -good- in their current state.
I hadn't really posted here in a long time. Thought I'd at least share some concept art (read: shitty notebook sketches I'll use for good 3D models later) for a game I'm working on called Princess Quest. I'm not sure where my priorities are right now, but I can no long give myself time off. Got to keep moving.
Alright I'm just itching to finish uGrounds and Tom never got back to me as to if it would ever be possible to make it an official package, so I'm going to assume it's not and finish it anyways. My goals with uGrounds were always:
1.) To make something I'd use myself in my own games. API integration can keep people that enjoy the game coming back to compete over scores at the very least.
2.) To make something a lot of people would use so I could be all 'my code was used in all of these projects!' for resume later.
3.) Attract more Unity Developers here.
Any direct profit takes a backseat to that; but that said. To the point it's at took about a week and will likely take at least that to finish; so I would appreciate such. So I guess I'm posting to ask; what features would y'all like to see in the final version (1) and (2) what sort of contract are y'all comfortable with.
I want to say the minimum I ask is 'due credit'; which can be either showing a watermark screen after the sponsor screen. (akin to the one that plays on Nitrome Jam games; for example).
A credit listing wherever you do credits are shown in your game or (as @Igmon did for GitGirl); a sidebar listing for 'additional programming'. Any rev share or donation is appreciated, but not required. Just credit me SOMEWHERE and PM me to tell me you used my code so I can list it on Resumes and stuff.
As for features; already working in the version from February:
1.) Posting Medals
2.) Registering Session (important for Ad Revenue)
3.) Posting High Scores
[Basic bare bones stuff.]
1.) Referrals (opening Newgrounds and other pages via button press).
2.) High Score Query (get a list of High Scores down from the Server).
3.) Default internal High Score Screen.
4.) Medal Popups.
5.) Default Medal Screen.
Note: Will additionally save where medals are unlocked locally and resend request to unlock on button push of any medal unlocked locally. [To allow keeping up with medal earned while internet is intermittent.])
6.) Save file management. (Save Game; Load Game; List Save Files; Rate Save Files (for level editors and the like)).
[Things I may or may not (be able to) do.]
1.) Click SaveFile loading. (Where you click on a save file outside the game and the game restarts having loaded the file; I'm fairly sure this is handled with FlashVars and there may or may not be support for me putting in on the Unity side.)
2.) Advanced Save File Lookup. (being able to use the search function to look through all save files (for level editors and the like). I want to use this myself; but the documentation is on the incomplete side). http://www.newgrounds.com/wiki/creator-resources/newgrounds-apis/developer-gateway#wiki_toc_17 I might be able to figure it out with the help of someone posting the same command from ActionScript so I can decode what the ActionScript sends (or one of the staff, like @PsychoGoldfish to just tell me what's there).
3.) Intermittent Loading. This is a Unity Feature; not a Newgrounds one, but I thought it could be worth including. Would be included in two parts: An editor function that bundles everything needed for each scene into separate 'AssetBundles' so that you may only load what's needed for the first scene immediately and download the rest of the scenes in the background at run time. And a runtime script that loads each in order. (As this is a Pro-Only feature; I can't use it myself or debug it that well without Pro, not could anyone else without Pro use it; so...it's on the backburner if created at all.)
4.) Save Local. Function to use Unity's PlayerPrefs hashtable to store larger files, by encoding to a string and converting back. Would mostly be used for larger saveFiles to be saved locally instead of to the server. This is a real hijacking though; Prefs is intended for Ints, Booleans and short strings (like Player Name); it's also limited to 500 kb total.
5.) Friend List. [There's a command for this; but I'm not sure people really make social games here; doesn't seem like the market for it. I may just not going to implement it; unless someone specifically asks...I might get a handler to handle downloading and saving a copy of the list; but not actually going to use it for anything.]
Thought I would 'announce something that was the story/top statement from the Game Design Document; as I think it shows how much the concept could garner attention:
"You (the player) are a high roller gambler, who has heard of a high stakes ‘tournament,’ inside of a mysterious towering casino; which is supposedly owned by the god of gambling, himself, Nemelex Xobeh. All you know is that a ‘high-stakes card game’ could lead to you getting 50,000 troy ounces (5,000 bars) of gold. The catch? Your stake in the tournament is your life. You are given you choice of 8 starting decks and enter the tower. These cards are real magic, summoning creatures and unleashing attacks and the ‘game’ is battling your way through tower, using your magic cards against magical creatures, machines and henchmen within. Deck management and building strategy is the key in this Deckbuilding Roguelike."
Anyways; still recruiting for Power of Four. Only confirm I've gotten is @Astranime and he looks to be competent enough of a 3D artist to fulfill that role. Still possibly considering making the core of the game programming mostly alone and trying to get some of the musicians and artists after as that's all polish, especially for a ROGUELIKE; a genre that is traditionally all ASCII art only. (But yea, the art and sound is largely necessary for mainstream appeal; I mean people that go and look at a DOS console and play a game are hardcore.) Shoot me an email if you want to see the full design document; though it's still not done as of this posting, but I'm tired and will have to finish it tomorrow.
EDIT: Make that two confirms. Still looking for a second artist.
EDIT 2: Recruitment is closed; unless something goes horribly wrong and the team doesn't work out.
I'm wrapping up a mini-project I decided to do for no real apparent reason. (It's a strange version of Snake for those that don't follow me on Facebook) and then. I'm trying to swing two jams this week.
Fuck this Jam:
For which I will be making a flight simulator. A genre I fucking hate. I can respect the realism to simulators, though I find it unnecessary; but the part I really HATE is how BORING they are. Look how realistically I fly aimlessly over the world!?! Who wants to play that!? O_O; Anyways, I'll focus on making a plane fly nicely...then put it in an intense situation. Probably be a single 'track' racing game, where the 'track' is a cityscape with a strict altitude ceiling and the cars are identical planes. Due to timescaling it'll be beta-quality and the enemy racer AI will be recorded gameplay (You race against several copies of me racing against myself.)
For which I'm honestly not sure what I'm making. My only ideas are involving a friend's characters since I started spriting them once before and continuing on that path could be interesting. Talking about the lead in this comic:
Was going to post an old unfinished art here that would show the direction somewhat, but (a) I'm embarassed of it, because it's not done and (b) I couldn't figure out how to put an image in a post. O_O;
Got a look-and-feel prototype of my new game up and public (though not submitted to the portal, obviously, just a public 'preview' page). Since, I'm (largely) working alone, would people let me know if they find any bugs in the work?
Additionally; I'd like to recruit people to help me finish out the game. The cutesy little music loop it has right now is obviously not enough music once it expands beyond 4 levels and it needs some real sound effects, but I have no real recording equipment or music software here; so anything I'd pull off would be -crappy- and/or take awhile. So anyone that has a music/sound design vision of how they see the finished version of this game let me know.
AND; level designers, because as much as I can get the rest of my intended features up (mostly the ones that kind of half-way work in the last level; plus some door/switches sorts of things), I really -don't- have that many original ideas of how to make good levels for the little ball lightning. Level design in this case requires some (but not much) sprite art experience because of the way that the levels are drawn and function.
Again, feel free to comment or PM me if you want to contribute or report a bug in the prototype. I want this ironed out before it hits the portal.
I started a public feed that I'll semi-constantly post to when I'm working if anyone is interested. Walkthroughs, art, beta links, timelapses, whatever will be posted here. https://www.facebook.com/bcadren
Using facebook as a DevBlog is just temporary; until something I make clears enough money for me to set up a real website; something I have confidence will happen...eventually. Trying my best to truck on and act like a dev instead of stagnating like I did for about a month there. Sorry to everyone that watches me and myself for that; but no point in dwelling. Like/Follow my FB feed if you want developments about future game releases as I work on them.
My old Ludum Dare 28 Entry; here:
Has been updated to have scoreboards and medals. This wouldn't be that notable; except that it's the first Unity game to have them. Submitting mostly as a first test implementation of the Unity Newgrounds (uGrounds) API as is; not really trying to bring more people to this game (it's not that good, it was ambitious for 48 hours; but not that good.) Nonetheless; I do encourage people to try to get high scores and medals in the game, if for nothing else, to see if you find any bugs I don't know about. Scores should be sent first (upon finishing the level it sends the remaining time to the server); medals should unlock not long after loading the next level (or seeing the end screen on the final level). This implementation is rudimentary, but it worked for me.
Just pushed up a usable version of the uGrounds API to the repo.
To be clear; medals and scoreboards now appear to work perfectly from the newgrounds site (direct portal embeds).
Savefiles and referrals have been started, but aren't finished yet. [You can save a file, but you can't tag it, rate it, or load it yet so there's no point.] Also, currently only string 'files' are allowed; though feasibly and byteStream could be saved.
Do people really use the "loadFriendList" command? Trying to decide if I should implement it.
I started on a system to switch to a custom Preloader or play a flash game or movie while a larger Unity file is loading, but I abandoned it because I found that it worked in Chrome, but crashed Firefox, so I'd need to find multiple solutions and make Unity know what browser it is in to get it to work (probably). Would people want this?
It shouldn't be too long until the saveFiles work too; but I'm too tired to continue and that should be another 5+ hours work.