## Entries

 Toy SoldiersLudum Dare 28

## Did Not Finish; but Have a Postmortem Anyways

Posted by
Monday, April 20th, 2015 11:27 pm

So I started Ludumdare 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.

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:
1. 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).
2. 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.
3. 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 separate 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.

Learned?
Obviously that I need to use Blender and animation curves if I want to work in 3D again at any level of detail; manually writing by the numbers works; but is not efficient. That’s about it; I didn’t get far enough into gameplay balancing to learn/balance much else.

So what’s the actual idea:
In Short: Tile-based isometric platformer based around skateboarding.
Longer:
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.
Navigate 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.

Notebooks:
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?

Posted by
Sunday, April 19th, 2015 1:43 am

This is all I have: https://www.youtube.com/watch?v=syRNEPTlXKQ

And it’s not like it’s because I didn’t get that much time. I mean I did spend about 2 hours brainstorming at the beginning; but I’ve worked for most of the time up until now. It was bogged down by a lot of things; like general lack of modelling software/trying to handcode animations (don’t do it unless you have to; you can get cleaner curves that you could with software; but it’s such a pain.

The concept was for an isometric platformer where you CAN’T TURN (except by doing a trick on a half pipe or quarter pipe) and kill enemies with a combination of dodging [both angry enemy falls off cliff and shooter enemy with bounce shot ends up shooting themself] and actually hitting with the board (bunny hops). Still needs break away platforms and A LOT of the board’s behavior; including all of the player control; but so much effort when into manually coding models and the only way I could think of of doing the physics is…not THAT complex but too complex for a somewhat sleep-starved coder to really focus on. [It’s an 2D array of objects with tile types and height values; the board’s behavior changes based on a check when hitting a new tile.]

I’ll still show all code; including the manual meshes. (NEVER DO THIS; unless you NEED the procedural generation; not worth it for normal models) and I’ll still finish the game just no way it’s in time.

Pastebin of all current code:
http://pastebin.com/ECbhRFB5

Don’t guess there’s any shame in it; though I do feel bad that I’ve only ever FINISHED one LD (my first), despite this being my 4th.

## I’ve really got to learn blender.

Posted by
Saturday, April 18th, 2015 4:18 am

Writing code to make a 3D model works and is needed for procedural generation stuff; but trying to make a normal object with it is SO SLOW compared to using an artist program. I knew/know 3DS Max; but I don’t have a copy of it anymore; so I REALLY need to learn blender (or save enough money to buy 3DS; which is a…LOT)

This code:
http://pastebin.com/wHhwVQwE

created the image you see in this post.

## Character Choice

Posted by
Saturday, April 18th, 2015 2:23 am

Alright given time constraints I know I can’t make an animated 3D character. SO choice of the following three, which should I go for?

1. Stick figure on a skateboard. [No animation]
2. Tiny doll or small animal on a skateboard. [No animation]
3. Just a skateboard.

## Which of these slopes looks best?

Posted by
Saturday, April 18th, 2015 1:41 am

Working on an Isometric 3D Platformer. It’s a half-pipe.

## I’m in

Posted by
Friday, April 17th, 2015 10:59 pm

Unity. GIMP. That’s it. Thanks.

## Well. Have a Rat

Posted by
Saturday, December 6th, 2014 7:57 pm

I have no idea if I’ll be done in time; in fact I kind of doubt it; but have a screenshot and a rat. It’s a first person roguelike; only the first person view keeps with Roguelike conventions…IE; well look at the rat.

## I’m in

Posted by
Friday, December 5th, 2014 8:31 pm

Using Unity3D probably exclusively. I’m also streaming here: http://www.twitch.tv/bcadren

My game is a tactical RPG set in a gladiatorial Arena such that instead of multiple battlefields, as is normal to the genre; there is only one. It’ll probably be a bit larger than one literal screen; but it will be completely non-modal and arcade-like. Few roguelike elements; enemy randomization, drop randomization, etc.

## I is In

Posted by
Friday, August 22nd, 2014 6:37 pm

Keeping this short since I didn’t post before the clock started. I, Bcadren, am doing LD30. Be using Unity (probably by itself, though possibly also GIMP and/or Blender.

## In Case it wasn’t clear…I’m in.

Posted by
Friday, April 25th, 2014 6:14 pm

Unity guaranteed. Maybe GIMP, Blender and/or Sculptris, depending on time available.

Considered using my own voxel editor, but it isn’t ready enough.

Odds are I’ll be keeping to my weird genre-choice of Lemmings-like, but I haven’t quite made up my mind…

## Voxelin

Posted by
Monday, April 21st, 2014 8:25 am

So I’m working on a Voxel-editor that outputs both to it’s own unique format and to .OBJ files. Intended to be used both to edit low res voxel art (think 3D sprite art) and to used to edit tile-based environments; in other words as a level editor. I’m intending to use it in compo; but it’s just a beta at this point (1) and (2) I don’t intend to share the source of the whole thing, as I do intend to SELL IT when it gets to full versioning. As such, I won’t be using the level editor version (as that would need to be included in source to be used in the game); but I will be using it as a 3D art editor. For fairness’s sake; I’m going to offer the same beta to everyone with the only condition being that it’s an early non-commercial version and all art made with it must be shared alike, with me and the editor cited as a contributor to the project (in credits, etc.) Is anyone here interested in using it? [As I am currently working on it; I don’t know exactly what quality it’ll be in before the beginning of the compo and anyone that responds requesting access will get a copy emailed to them a few hours before the beginning.] I will also post a compiled version that doesn’t save for anyone to explore what the tool is before the start. Thanks.

Also, moderators, tell me if I’m in the clear to do this?

## uGrounds

Posted by
Monday, February 3rd, 2014 2:49 am

I’ve been working on a Unity integration for the Newgrounds API. Gotten communication with the Newgrounds server down and it’s mostly a matter of packaging it to make it easier for other devs to use (for scoreboards and badges); I’ve yet to get ads or Save Files up. Anyways; I’m making this post to announce that I’m making my code so far public and I’m taking a few days off from this. I need to focus on more pertinent projects for a bit. Any Unity, Javascript, Actionscript or HTML coders that want to contribute to the project. Are welcome to make a new branch on the public git. Located here.

Rest assured that regardless of if I get any further assistance, I will get the API up, except flash ads. I will take a moment to thank MSGHero, I never would have managed to format my secure posts correctly without direct access to the normal flash output, which he provided me. I’ll also thank NutCaseNightmare, though we didn’t have direct contact, his earlier work at a javascript implementation of the API was very helpful in creating this one. Several people on the Ludum Dare IRC also offered assistance when I couldn’t find the proper functions to call in Unity (and with my complete ignorance to the proper way to format the HTML/CSS/Javascript interactions on the outside.) Thanks guys.

Anyways; I’ll be working on actual paperwork and getting my own site up for a bit; then finish this and work on a serious game that will use it. I offer it publicly in the full hope that I attract more Unity-developers to Newgrounds. If you want to use the early version and need help understanding what is implemented; just message me. In this case; I’d prefer contact be to my Newgrounds…which I only got because of LD28. hehe.

## Post Mortem IV: “Post-Compo”

Posted by
Thursday, December 26th, 2013 11:46 pm

In my compo-entry, “Toy Soldiers”, though everything that would be expected of a Lemming-like worked; it was too much like the original Lemmings and too inaccessible to players that aren’t familiar with the Lemmings series. This was because of a combination of poor time-management and being overly ambitious for the time-limit. I still feel that what I did get done was quite a bit of technical output for the limits, but its still, even to me, a shitty game, though I didn’t realize this until reviews I got after the release. This is where we come to the possibility of a post-compo version. I still haven’t decided on if I am going to do this, but if and when I am; the following are the primary features and changes.

1. Switch physics from Unity default physics (using Box Colliders and Rigidbodies) to pixel crunching (using a new scratch system based off of pure numbers). This is to tighten up the physics and make it more efficient, if more obviously cubic/voxel. It should repair many of the glitches and prevent lag.
2. Ditch the Christmas-Themed “Toy Soldiers” in name and in main character(s) art. I only used the Christmas theme because the release was so close to Christmas and toy soldiers and nutcrackers to base the art on were everywhere. New game will use less seasonal robotic troops; perhaps keeping to cutesy kids toys or perhaps switching to a science-fiction theme. Toy soldier art MAY be updated for a special Christmas edition, but series will not remain completely that style.
3. Action Log and Time Travel-All actions taken by each soldier will be recorded by the soldier, allowing for the level to be backed up (may not be enabled on all levels) and for some of the soldiers to use time travel to their advantage. If a unit travels back in time, everything in the scene moves in reverse for one minute (this was originally intended to be used in the compo version, but wasn’t even started because of time); except the unit, which remains where it is. This forces all units to need reversed versions of their commands and the ability of the scene to straight up reset itself.
4. Strict framecount enforcement. Because timelimits in the game are very exact, demanding and the speed of a game as whole can lag (or glitch) if the frameRate is too low/high. The new version will use multiple automatic quality reductions to fix the frame rate if it is too low and the Unity default ‘targetFrameRate’ to slow the frameRate if it is too high.
5. Built-in level-editing application. Levels are already little more than .png images as it is. In new version they will be completely so and the player will have access to a basic Paint-like image editor with placeable objects for special tiles (entrance, exit, traps, etc.) in order to paint their custom levels. They will also be able to specify which kind of level it is and which skills are available.
6. Multiple play modes; set (like in compo-version), puzzle focus (allows time to be reversed so really exact solutions are possible), two VS modes (a group of robots VS another, either AI or networked [a] get yours to the goal first and [b] kill all opponents), perhaps more…
7. Dynamic fluids; water and lava that pour correctly (similar style to Minecraft (in original Lemmings they were fixed blocks that couldn’t move)).
8. More skills available.
9. More levels; including easier levels and relative tutorial levels that introduce the new skills one at a time.
10. Touchscreen support (new target platforms iPad, Windows Tablet and phones).

Minor fixes:

1. Width of the grappling hook will be fixed.
2. Walking speed will be slowed.
3. Camera will be able to move while paused.

## Post Mortem III: “Two Weeks in a Community”

Posted by
Thursday, December 26th, 2013 6:12 pm

It feels like a lot of what I’ve learned from Ludum Dare; I learned from the people after the experience, rather than during the actual event.  In this part I share some of those gems.

1. Consider the player at all parts of the design process. If a piece of art is barely visible, don’t waste time on it; if the player isn’t going to understand how to do something, make sure it is explained etc. Do this before implementing more features, because it is pointless if they can’t follow you.
2. Get an alpha out to test as soon as possible. People can’t tell you how it works on their device or about glitches on all devices unless it is out there; they also can’t tell you how much they like/hate a particular feature.
3. Just because the frame-rate is excellent on your device doesn’t mean it will be for everyone it is deployed to. Consider quality settings, etc. in order to address this problem.
4. Newgrounds -does- accept Unity games; they just have to be embedded in HTML5.
5. If intending to release online-only HTML5 and Three.JS is a better way to go than Unity. If planning for phones and console development though; Unity’s ability to be multiplatform easily is desirable. For this reason I’ve decided to learn HTML5 and may attempt a 3D Java Online-only application for next LD. At very least I am going to offer a version of my art portfolio coded in this language.
6. Press is important for any project to succeed; try to make anything you want to be your focus an interesting story for the press as well as a good game. Also try to communicate with them if you are trying to run a Steam Greenlight, or crowdfunding campaign or trying to self-publish.
7. There is no feeling quite like watching someone livestream your game. 😀
8. Release as many places as you can; something negatively reviewed and garnering no attention one place can be loved in another.
9. Even if a game was perfect for you some people will hate it for relatively stupid reasons. Do not try to cater to everyone.
10. Both what you want to make and what others want to play is important. Any game project you put your efforts into should be both.

Overall; I’ve never really had the feeling of belonging to a group quite as much as I have with this online community. It helps my feelings for making a post-compo version of this game and in general, creating and promoting my own projects. There’s so much that this relatively short experience has brought to the table with me that my formal training in college did not.

## Post Mortem Part II: Editorial

Posted by
Thursday, December 26th, 2013 12:04 pm

So a friend told me that I was too much of an engineer and too little of a game designer; that I made things that I found fun to make and/or that I would enjoy rather than what was marketable or common people would find fun. After much thought about this, I feel like; focusing only on what is currently in ‘vogue’ or appears marketable is a bit of a common flaw. As an Indie, I can see that say, Pokemon is popular and make something similar, but I can’t expect that to make it; I just don’t have the budget to do it, well enough to compete with the big guys. The two principles of making a game that I’d actually like to market that I’ve used before and still wish to use are the following:

1. Something that has never been done before. Trying to come up with a completely new genre would be (a) hard and (b) probably too confusing to the player. What I mean by this is finding an established genre and cranking out a new specific mechanic that hasn’t been seen before at all; or hasn’t been managed well before. Or taking an established genre and simply spinning it in a radically different artstyle/story or towards a different group than before. See ‘Portal’, ‘Fez’, ‘Braid’, ‘Shift’ etc.
2. Something that hasn’t been done well in a long enough time that the big companies don’t do it anymore; but there’s still a nostalgia crowd for. Especially if you also apply (1) or use features that wouldn’t have been possible at the time of the original. ‘Super Meat Boy’ is a great example of this.

I think within the Ludum Dare; I started on this (2) and was also going to apply (1), though I never got the chance to, due to time-limits. Just getting the basic mechanics of a Lemmings-Like was a bit of a stretch for 48-hours so the more unique ideas I had never got applied. On top of this, I didn’t properly add an in-game tutorial which gives the feeling that only people that have played a game in the Lemmings series can manage to play this at all. Because, within the 48-hours, I didn’t really have  time to ask anyone else to playtest it; I didn’t really realize how foreign a concept it was to people, because of that. I never really had had a full working prototype before playtesters before, because of this hard focus on getting everything ironed out before showing people. I think in the future I need to show people earlier; and/or focus on one mechanic and shoot off a playable alpha before doing anything else at all. I need a website and/or followers to manage to do that kind of thing though. In general though, I need to find a balance between assuming  the player knows nothing about the mechanics at all and providing sufficient in-game tutorials and not having someone who knows the game and/or has played games of similar genre before feel like they are being patronized. Also, on the other end, after the player is aware of all the mechanics, there has to be enough sufficiently difficult levels to keep the game interesting. Though I know how to make hard puzzles; this steady difficulty ramping and introduction of elements is something that I agree I don’t have practice with.

Thinking about the other some of model he implied with the statement; I end up seeing both the lucky successes of games like Angry Birds, which copied the semi-popular Crush the Castle with surprisingly good results; and the hundreds of cookie-cutter copies of things that don’t do so well. I feel like this path; puts more of a paramount on quality than the other; unless there is something truly unique about a game, be it a simple as its theme (Psychedelic/Drug influenced Pot Farm got some press against more mainstream Farmville) or as complex as a new mechanic; just something that sets your game apart. That said; this advice does tell me that choosing a popular genre or something that once was popular (again nostalgia points) is a more solid model to mutate from than something that saw very limited popularity.

All of that said; for myself, I hope that everything that I design that’s major to sell either has ‘new mechanic’ or ‘new artstyle’ going for it and either is a currently popular or formerly popular genre AND something that I personally enjoy as unless I am part of a much larger team; I feel like my own perspective on a game is very important and I don’t have the insight on games that I don’t enjoy from the player’s perspective that I do on ones that I know from both sides and cold analysis of ‘player should like this’ so we will do this is why traditional communications corporations that buy game companies don’t tend to do very well with them.

I also feel like a post-compo version of my LD entry from this round could expand to fit those criteria; grow from something that has strong ‘nostalgia’ roots; have unique mechanics; teach new players how to play it from scratch and perhaps even pull in current trends like ‘micropurchases’ (though I personally hate these) and cute mascots that appeal to women closer to my mother’s age than my own.

## Post-Mortem Part I: ‘The First 48’

Posted by
Thursday, December 26th, 2013 6:09 am

I was going to do one of these on, well, the 17th; then someone told me in private chat that my game was evidence that I was a great engineer (could pull off technical feats easily) but a horrible game designer (don’t know what non-Engineer types would find fun or how ever to make a game accessible to plain ‘gamers’). And that bothered me enough to make me think about things for days; which caused me to put this off for days; more about that in Part II. This is about -only- the first 48 and what I learned from myself.

Things that went well:

1. I got the main marching physics of a Platformer/RTS (Lemming-like) up and working.
2. I got a lot of mechanics up and working relatively well given the time limit.
3. The primary two level designs were a lot tighter than I’d have thought possible given the time I had to do them.

Overall I feel this work it’s a testament to my technical ability and coding speed.

Things I Learned during the time or reviewing the video:

1. For some reason I have the habit of making a really nice art piece before starting my work on anything; I’d only really noticed it because it cut into available time on this project though it has delayed me from even starting on things before. I feel like I -should- make a working version before worrying with prettiness in the future.
2. Avoid last minute tweaks, because without proper testing a small change that fixes one glitch can create a worse one and sometimes you can’t remember the original value/code that was working well enough.
3. I used the physics system that was fastest to set up; rather than the best. Even on a time-limit; I shouldn’t do this again; it’s too inviting to lag and glitches. Also; the fact that I was using it caused there to be a need for some algorithmic jury-rigging and complications that should have been avoided.
4. This was the first time I’d opened up and used Unity in months; I do still have it.
5. I learned the a few subclasses and commands within the Unity Physics Class that I didn’t know before.
6. I work well under pressure and hold up to lack of sleep well as long as I have something to focus on. Even attempting advanced algorithms on virtually no sleep worked well.
7. I work much better at home with parents; when they respect that I actually am working, I’ve gone days without getting anything real done before due to being asked for small tasks too frequently to keep focus.
8. In general; though I like being able to interact with people when I want to interact, being able to completely seclude myself and have the world around me either disappear or respect that I am working is very helpful
9. I like sharing my progress no matter how small; this can be a great motivation, but I shouldn’t use it as a crutch too much.

Overall, I can say on the technical side, I am pretty solid, though I like to spend too much time on a single artpiece to get the project done. Furthermore, socialization is important to me, but so is the ability to self-isolate so that I can work without interruption.

Things I need to work on for future Ludum Dares and for other projects:

1. Time management.
2. Finding a way to work with others as solid as I can alone.
3. Being able to isolate myself from distractions and others so I can work, while interfacing with others when necessary.
4. Level design and polish.
5. Planning

Overall, I spent too much time on a single piece of art; not enough planning ahead or on level design and I only worked as well as I did because using this as an excuse to isolate myself from the world worked well. I can’t work that solid in a many other environments, (too many distractions).

[cache: storing page]