Ludum Dare 32
Theme:
An Unconventional Weapon

Compo Ends in

Jam Ends in

Posts Tagged ‘CSharp’

Jamming with OpenFL

Posted by (twitter: @wilbefast)
Sunday, September 8th, 2013 12:06 pm

Time for our post-mortem :)

I won’t re-introduce the team, you can go to our “we’re in” post for that. Basically there were 3 of us and we’re pretty awesome!

So what happened?

Well, we made a time-bending tower-defence game called “10 Second Onslaught”. It’s about an onslaught you see, and the onslaught in question lasts 10 seconds:

10 second onslaught awesome

The game wasn’t really “finished” after 72 hours even though it’s completely playable. I’m actually glad we were over-ambitious though: it’s a good beginning and something I’m still working on (in a separate branch of course ;) )

What went well?

The art pipline was probably the one thing that went particularly well. Thomas is really a 3D artist, so soon reverted back from pixel art to making models and rendering them to bitmaps. To speed things up I wrote a couple of little ImageMagick scripts to mirror and then stick these images together into sheets. Then it was just a matter of using the haxelib spritesheet to have animated characters in the game :)

What went badly?

For various reasons, mostly the technology (OpenFL) being something only I had ever used before, I ended up writing a majority of the code, which is just stupid. Next time we’re going to have to organise ourselves better.

Read on for a rather long discussion of OpenFL, including comparisons to Unity 3D and Löve 2D…

(more…)

Simple Towers

Posted by (twitter: @AleksandarDev)
Sunday, April 28th, 2013 7:45 pm

So I decided to do Tower Defense type of game. Again I wanted too many in too little time. I’m happy with what I came up with. Take a look: http://www.ludumdare.com/compo/ludum-dare-26/?action=preview&uid=5974

Sample gameplay

Sample gameplay

 

Triangles everywhere

Posted by (twitter: @MuffinTrap)
Saturday, April 27th, 2013 12:47 pm

Hi everybody o/

This is my first Ludum Dare and I really don’t know what I am doing. But I have some triangles rotating and coming towards the camera.

triangleGame03

I am using C# and OpenTK. I think this will be some kind of interactive demo or something :P

 

I’ll try to participate

Posted by (twitter: @AleksandarDev)
Friday, December 14th, 2012 5:57 pm

I don’t have much time this weekend but I’ll try to find a few hours to make simple-simple game. This would be my 4th LD if I remember correctly.

Tools are almost the same:

And here’s my workspace. As you can see, I’m currently away from home (“studying” engineering ;)

Desk-Photo AleksandarDev

 

Good luck to you all and of course – have fun!

Aeon gameplay

Posted by (twitter: @AleksandarDev)
Saturday, November 17th, 2012 6:51 am

If you haven’t had chance to play my game from last LD Compo 24, I have finally managed to find some time to record and upload a video. Game is called “Aeon” – evolved classical snake game.

Ludum Dare 24 – Aeon gameplay

ELA progress #1 – I’m in

Posted by (twitter: @RudyTheDev)
Saturday, August 25th, 2012 3:10 am

Ok now, go ahead and admit it — who created 1543 fake accounts and upvoted Evolution?

(╯°□°)╯ ︵  uoıʇnןoʌǝ

But on a serious note. As a late time-zone starter and unhealthy oversleeper, I’m 3 hours in now. After (obviously) dumping my first idea, I’m going take the evolution concept to a more controlled, fabricated fashion (read: I can only draw rectangular shapes).

I wonder what will go into the pipes? ;)

P.S. I didn’t know if I was going to participate in this LD and I skipped the last one (tsk tsk tsk). So I guess this is my “I’m in” post. I’ve previously submitted one 48h entry (Soulscape) and one collaborated Jam entry (Braille). I’m aiming at the main compo this time, but we’ll see.

I probably won’t use this next weekend, but I’m posting this just in case I do want to use it.
GNI is a library to facilitate some simple, easy to use communication between a server and any number of clients.
Please note that this was coded in a relatively short time span, it was not tested extensively, network code is vulnerable to tons of unpredictable bugs, and my experience with netplay development is limited.
What I want to say is, don’t rely on it unless you’re capable of fixing bugs in it, as it might break at the worst possible moment.
The example chat program I wrote seems to work perfectly, though, so it should work. ‘Should’ being the key word here.

Features
-Simple way to send signals from server to client and vice versa, without bothering with minor technical details
-Automatically calls a function when a signal is received, a player connects, or a player disconnects

Download
Code includes a simple chat server project and chat client project as examples.

DLL download link (5 KB)
Source download link with example (19 KB) (Microsoft Visual Studio 2010 solution)

How it works
Small packages of information called GNIDatas are sent through the library. When received, it’s reconstructed as a GNIData struct.
GNIData consists of a key-value pair, with the keys or values being shorts (16-byte integers), strings, or nothing.

Server
-The server class must inherit from the library’s GNIServer class.
-Call StartServer(…) to start the server. You can have it check for incoming signals automatically, or choose to do so manually by calling Update().
-Override OnDataReceived(GNIData data, uint source) to interpret signals. It’s called from Update when a full GNIData has been received. ‘Source’ is the clientID of the client that sent the signal.
-Override OnClientConnected(GNIClientInformation client) if you want something to happen when a player joins. (The client is automatically added to the client list.)
-Override OnClientDisconnected(GNIClientInformation client) if you want something to happen when a player disconnects. (The client is automatically removed from the client list.)
-Use SendSignal(…) to send a GNIData to a client, or BroadcastSignal(…) to send a GNIData to every client.
-Send empty signals (datatype and valuetype ‘none’) if you want the server to automatically detect if a connection has been lost; otherwise it won’t notice until it fails to send a signal to it.

Client
-The client class must inherit from the library’s GNIClient class.
-Call StartClient(…) to start the client. It WILL NOT check for incoming signals automatically; call AutoPoll() to have it do that. Alternatively, call Update() whenever you want to check for incoming signals.
-Override OnDataReceived(GNIData data, uint source) to interpret signals. It’s called from Update when a full GNIData has been received. ‘Source’ is always 0 and meaningless in the client.
-Use SendSignal(…) to send a GNIData to the server.
-To be honest, I’m not sure what happens when the client unexpectedly loses connection to the server. It’ll probably throw an exception, so just catch that.

Documentation
Does not exist. If you can’t figure out the code, it’s best not to use it as it might still be buggy.

License
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
You are free:
* to Share — to copy, distribute and transmit the work
* to Remix — to adapt the work
* to make commercial use of the work
Under the following conditions:
* Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).

Have fun, and good luck with your games.

I’m In (Third Time! :D)

Posted by (twitter: @Bloodyaugust)
Monday, April 2nd, 2012 4:38 pm

I return once more from the brink of insanity, TO THE BOWL OF IT!!! }:)

I honestly can’t tell you guys how excited I am for this, I LOVE THIS COMPETITION! This is my 3rd time participating, and since the last one I’ve actually started a company and published a few games! You can check those of us at Syntactic Sugar Studio out here, or here on Facebook.

Anyways, I’ll be using the following:
IDE:  MonoDevelop

Language: C# and JS

Framework: Unity3D

SFX: BFXR

Music: FL Studio 9

Art Assets: Paint.Net, PixelEdit(tiling tool created by a friend)

Libraries: Of my own design, which I will make available on the studio site.

ETC: Goldfish, family, and friends! But mainly Goldfish. :D

 

Braille gameplay walkthrough video

Posted by (twitter: @RudyTheDev)
Thursday, December 22nd, 2011 9:58 am

Phil’s made a nice gameplay walkthrough video for our game Braille:

Braille double timelapse

Posted by (twitter: @RudyTheDev)
Wednesday, December 21st, 2011 12:35 pm

Here is our double timelapse for Braille:

Declaring My Framework (C#, XNA)

Posted by (twitter: @Bloodyaugust)
Thursday, December 15th, 2011 11:37 am

Now ladies and gents, pleeeeeease be nice.

<rant>

This is my baby. My cumulative game developing experience distilled into one sugary goodness. My 1/8 complete Mona Lisa(M?). I’ve developed more than a few finished games, and abandoned WAY more games than I care to think about. This .dll contains solutions to problems that haunted me for literal weeks.

 

And now I share them with you. All I ask is that if you do use it, PLEASE TELL ME WHERE I CAN IMPROVE IT. Like I said, this is nowhere near finished. In fact, it will most likely change by the time Ludum Dare gets here! In fact I can guarantee it will, I still need to add in my flexible animated texture stuff…

</rant>

What it does:

-Circle and Convex Polygon Collision

-Rotations

-Complex transformations

-Pathfinding

-Common texture stuff (animation, atlases, particle engines, etc.)

Have questions? Ask. It is very well commented, and has all the appropriate XML documentation for Visual Studio.

Happy Game Dev! :D

EDIT: The link was incorrect, but has now been fixed.

Post-mortem of Soul Hellscape

Posted by (twitter: @RudyTheDev)
Tuesday, August 23rd, 2011 9:43 am

My first post-mortem for my first finished game for my first LD (entry here). Those are all stand-alone firsts. I have never actually finished a game to a point where I post the .exe for others to play. It’s just never good enough for me (we’ve all heard that one before). Anyway, post-mortem:

Idea

Not much to say here really. My first thought was — who wants to escape the most? Well, trapped souls from the depths of hell, obviously. In retrospect, that being my first answer says something about me. I also knew I’m not doing a platformer. From then on, I just kept adding random ideas/features with a promise to not go back and redo stuff.

I think the idea/concept turned out fine (or at least we’ll see after ratings ^_^). I didn’t expect to come up with any groundbreaking ideas and I didn’t have all day to think of one either. I saw a few people bail out and rewrite their code, so I’m happy I managed to stick with mine. I also saw too many people going “need more levels”, “need more level ideas”, “I only have 524 levels, help!” One of the reasons why I did not go the platformer route.

Schedule

Day 1
10am (5h in) — wake-up
10am-5pm — code
5pm-6pm — break
6pm-8pm — code
8pm-9pm — blog post
9pm-1am — Assassin’s Creed Brotherhood

Day 2
10am — wake-up
10am-3pm — code
3pm-330pm — break
3:30pm-4:30pm — code
4:30pm-7pm — beach
7pm–12:30pm — code furiously
1am-1:30am — blog post, submit

That’s a total of 9h+11h=20h out of 48h. Sure, I could have spent more time coding. But if my overnight Uni reach-the-deadline coding sessions have taught me anything, it’s that I don’t like them.

Gameplay

I think I oversaturated the game with features, especially since they all are accessible at once (if not usable). I didn’t think it was possible to have too many features for a 48h game, but there you have it. I have a nice tutorial screen to introduce everything though:

Only now do I realize this, but there are 600 games and finishing every game is near impossible. You have to keep it simple, stupid! Who has the time to read all that verbal diarrhea? I foyu skip the “help” button, you have no idea what you are doing. That said, there is nothing bad with complexity, in fact many games are known and praised for it. But you have to take it step by step. Introduce gameplay elements as the player progresses and plays, not throw everything at them at once. I think this may have be my biggest design flaw (besides lack of music). But then again, an in-game interactive tutorial in 48h? Moving on…

“Art”

Let my art speak for itself! (more likely growl out “kiiill meee”) Here’s the entire sprite-sheet:

I’m not an artist, I’m a programmer. All my units are either static of flying, so my “move” animation is 1 frame :) One thing I did wrong is make all the terrain colors too dark. Units and props stand out OK, but the terrain itself has too little contrast, and it really shows in screenshots. My Holy Light could have been more impressive too. I wanted a magnificent beam of shiny and awesome, but all I got is this lousy flashlight.

Audio

I’ve done very little with sound and games, so this wasn’t my strong side. I did decide to try out sfxr, which was a super-easy and quick way to produce relatively awesome sound effects. Ended up with 8 different sound effects. Obviously, I have no music and I couldn’t make any myself anyway. I’ve played around with Fruity Loops or whatnot in my day, and concluded I have no musical hearing. Not that my music teacher hadn’t made that perfectly clear back in grade 3.

Dirty code

Spaghetti code! Argh, my eyes! Not a single useful comment, dirty inefficient hacks, integers instead of constants or enums, … That’s K.I.S.S. and time limit for you! *shudders* I don’t think I could go on working with this code much longer. Then again, I’ve seen much worse too.

What I do appreciate in my coding style is the object-oriented design. Even with the number of classes spanning into second dozen, I didn’t get any game-breaking bugs that were more than careless copy-pasting.

In conclusion

Can’t say anything went terribly wrong. I probably would not have done much better with any other themes anyway. I could have spent more time coding/drawing, but then I would just exhaust myself beyond “fun”. I’m proud of myself for sticking with this till the end, even if my first thought was “Escape? What bollocks!”.

I love C#, XNA, and ReSharper and the speed at which I can chunk out code/features. I also know how many raters I’m losing by not having a “Web” play link. It would’ve been better if I had a Flash or Unity or something entry. But then I would have had to learn it first :)

Ludum Dare has been great so far, I love the community activity, and I can’t wait for the super-secret-October-make-a-buck type challenge.

Black Hole: A Synopsis

Posted by (twitter: @Bloodyaugust)
Monday, August 22nd, 2011 12:23 pm

My game for this compo was Black Hole, a game where the objective is to escape both the horde of Drones who cornered you, and the black hole which they cornered you against.

Fortunately for you, a long-dead alien race left a platform here, which feeds off of the emissions of the black hole and broadcasts energy to all nearby ships. You have moved in close to this platform and the black hole itself, and thus avoided the gigantic Drone Mothership which was chasing you. However, the smaller Drone forces can and did pursue you, so now you must hold out against them to recharge your Jump Engines, allowing you to jump to beyond lightspeed and escape to your home.

The coding process was quite frantic. I had to write the entire game engine, and at one point ended up re-writing and re-integrating the entire collision engine, as I had failed to discover that my method of detecting overlapping rectangles was not accurate if they were rotated. Fortunately, I’m quite skilled with circle based collision, and it only took about 20 minutes to switch and integrate.

Another thing to note: I was high on Oxycodone and other painkillers the entire time, having gotten my wisdom teeth removed on Thursday. This caused many dumb mistakes, the majority being simple math related. I persevered through it though, and ended up coming out with what I think is a fun game!

Plans for the future: to continue to develop this game. I want to add more enemies, powerups, and new game modes.

Timelapse Part One is here.

Timelapse Part Two is here.

I’ll be writing a Post Mortem at some point… Thanks for the fun times all! Cheers!

Edit: 1814 lines of code, for those of you who care. :D

Near-end preview of Soul Hellscape

Posted by (twitter: @RudyTheDev)
Sunday, August 21st, 2011 3:02 pm

I have spent a little short of 20 hours on active development. This is roughly two fifths and not quite the 48 hours. Then again I haven’t broken my 1am-10am sleep routine and did take a break or two (or more).

Since my first post, I have been partly polishing the existing features, partly struggling to add new ones. New large ones include a few more objects, a minimap, lighting, sounds, and tutorial and menu screens. In the end, I rather go for a finished, brief game, than a feature complete, but too rough-around-the-edges game. Then again, I went for a “sandboxy” gameplay, so you cannot really tell something is missing until you try it first. Here’s a screeny:

You can download it here (Requires XNA and .NET):

http://blog.capdb.net/SoulHellscape2.zip (my LD48 entry)

P.S. sfxr is awesome, I did not expect to have any sounds in the game, given very little prior experience with sound effect creation and total lack of musical hearing.

Half-time indev preview of Soul Hellscape

Posted by (twitter: @RudyTheDev)
Saturday, August 20th, 2011 11:32 am

It’s been roughly 11 hours since I got up (silly Europe timezones). And I think my progress has been pretty steady so far. I was most worried about not liking the theme (it’s OK, if a bit too broad), but more importantly not being able to think of any decent ideas. But I think I like what I came up with:

You help damned souls escape hell. I call it “Soul Hellscape” :) You play the game by placing a “Holy Light” beam that attracts nearby souls and thus lets you guide them to the gate of hell, where they can escape. All while several types of baddies attempt to nibble on the delicious, innocent souls. You can zap them with a “Divine Lightning”. Plus a few more details and mini-features. Here’s a screenshot of the game:

You can download it here (Requires XNA and .NET):

http://blog.capdb.net/SoulHellscape.zip

Contrary to what I had planned, I spent very little time with a sketchpad. Call it an “inspiration”! Then again, my programmer “art”work is as good as it’s gonna get so it all balances out ^_^ Although I will expand on the variety a bit tomorrow. Oh, and no sound.

P.S. And let me tell you, #ludumdare IRC channel is a serious distraction.

I’m in (for the first time)

Posted by (twitter: @RudyTheDev)
Friday, August 19th, 2011 2:42 am

Hi all,

This is my first post, first message of intent to participate, and generally first online game programming competition I’m signing up for. It seems that everyone is doing an “I’m in” post, so I might as well; you know, so twenty years from now my humble beginnings can be traced back once I inevitably become a billi… moving on:

Actually, I do need to declare my base code: http://blog.capdb.net/wp-content/uploads/XnaBase.zip . This is the default XNA new project spiced up with a few custom classes/structure. There’s a simple rendering loop to draw a cursor and some text, a simple input processor for mouse/keyboard/controller, and a simple game state machine (playing/paused/menu). Just the basic stuff I’ll need to code for any XNA project anyway.

I’m using C# and XNA (Visual Studio 2010 + ReSharper). Photoshop for sprites. May be Maya for 3D rendered sprites if I feel masochistic. And, of course, Notepad for a TODO/TONOTTODO list.

Cheers.

[cache: storing page]