Home | Rules and Guide | Sign In/Create Account | Write a Post | Reddit | #LD48 | #ludumdare on irc.afternet.org (Info)

Ludum Dare 29 — April 25th-28th Weekend [9 PM EST] — Theme: ??? (Theme Voting!)
  • Ludum Dare 29 Compo (48 Hour+Solo+Scratch+Src) Begins: in 2 days, 12 hours, 35 minutes, 47 seconds
  • Ludum Dare 29 Jam (72 Hour+Teams OK+Relaxed) Begins: in 2 days, 12 hours, 35 minutes, 48 seconds
  • [ MiniLD 50 | Warmup Weekend | Real World Gatherings | Ludum Deals | Wallpaper ]


    Posts Tagged ‘basecode’

    Base Code!

    Posted by (twitter: @tolicious)
    Friday, December 13th, 2013 7:13 pm

    Yo! I’m sorry that it’s so late, but here is my Unity3D base code! (You’ll need RageSpline to use it completely. Oh, and not everything is totally cleaned up, I ripped it right out of another game.)

    It does lots of cool stuff:

    • Unified button layout for XBox360 controllers on Windows (even with vibration there!) and Mac
    • Makes cool (optionally glowing) shapes (together with RageSpline)
    • Traversing spline paths (with RageSpline too)
    • Uses Scoreoid for a leaderboard
    • Basic text buttons and vanishing text for notifications
    • Easing
    • A few helpers for math, Unity and some general C# stuff

    Good luck everybody!

    Simple Game Manager

    Posted by (twitter: @LateTide)
    Thursday, August 22nd, 2013 12:48 pm

    Just created a small script for helping me with the game – admittedly not the most sophisticated tool around, but it might help me to create content faster.

    I can’t attach it to the blog (js files are not allowed) but I am obliged to show it, so here we go:

    // Base namespace
    var ben = {
    
    };
    
    // checks that the object is not null, and has a function with the given name
    ben.hasFunction = function(obj, functionName) {
        var hasF = obj && obj[functionName] && typeof obj[functionName] === "function";
        if(!hasF) {
            console.log(obj + ' doesn\'t have \''+ functionName +'\' function');
        }
        return hasF;
    };
    
    // Orchestrates the player turns and the game updates
    ben.doUpdate = function() {
        if(!ben.hasFunction(this, "update")) {
            return;
        }
        if(!ben.hasFunction(this, 'isSynchronous')) {
            return;
        }
        if(this.currentTurn >= this.maxTurns) {
            this.stop();
            return;
        }
        if(this.isSynchronous()) {
            if(!this.isReady()) {
                return;
            }
            var ndx;
            this.setReady(false);
            console.log('Processing turn '+this.getCurrentTurn()); 
            for(ndx in this.players) {
                var currentPlayer = this.players[ndx];
                if(!ben.hasFunction(currentPlayer, 'doTurn')) {
                    continue;
                }
                currentPlayer.doTurn(this.context);
                this.context.currentPlayer = ndx;
                this.update(this.context);
            }
            this.increaseTurn();
            this.setReady(true);
        } else {
            this.stop();
            return;
            // TODO: Work on this when needed
        }
    };
    
    // Starts the update thread
    ben.doStart = function() {
        if(!this ) {
            return;
        }
        var that = this;
        console.log('Starting');
        console.log(that);
        that._updateThread = window.setInterval(function() {that.doUpdate()}, that._updateDelay);
    }
    
    // Stops the update thread
    ben.doStop = function() {
        console.log('Stopping');
        if(this._updateThread) {
            console.log('Has thread');
            window.clearInterval(this._updateThread);
            this._updateThread = null;
        }
    }
    
    // Creates the base Game object
    // Params: 
    //   gameName: The human readable name of the game
    //   maxTurns: the number of total turns
    //   playerList: an array of players
    //   updateFunction: The update function to be called at an interval
    //   synch: Synchronous flag. If true, the update waits for each players, otherwise the players input are processed in the regular updates
    ben.Game = function(gameName, maxTurns, playerList, updateFunction, synch) {
        var game = {
            _updateDelay: 16, // ms, time between update calls
            _updateThread: null, // placeholder    
            _synchronous: synch, // Synchronous games wait for the players turn with an update
            _name: gameName, // the name of the game, for displaying
            players: playerList, // the players, incl ai
            maxTurns: maxTurns,
            currentTurn: 0,
            ready: true,
            context: {} // current game context
        };
    
        // to get the human readable name
        game.getName = function() {
            return game._name;
        };
    
        // to change the current players
        game.setPlayers = function(plList) {
            game.players = plList;
        }
    
        // to get the number of current players
        game.getPlayerCount = function() {
            return (players != null) ? players.length : 0;
        };
    
        // sets the ready flag to the given value
        game.setReady = function(rdy) {
            game.ready = rdy;
        };
    
        // returns the value of the ready flag
        game.isReady = function() {
            return game.ready;
        }
    
        // returns the value of the synchronous flag
        game.isSynchronous = function() {
            return game._synchronous;
        }    
    
        game.getCurrentTurn = function() {
            return game.currentTurn;
        }
    
        game.increaseTurn = function() {
            game.currentTurn += 1;
            return game.currentTurn;
        }
    
        // stores the update function
        if(updateFunction) {
            if(typeof updateFunction === "function") {
                game.update = updateFunction;
            } else {
                throw {message : "Passed updateFunction variable is not a function"};
            }
        };
    
        // this function is called with the update frequency
        game.doUpdate = ben.doUpdate;
    
        // calling this function starts the game
        game.start = ben.doStart;
    
        // calling this function stops the game
        game.stop = ben.doStop;
    
        return game;
    };

    trace(“basecode and tools”)

    Posted by (twitter: @ZappedCow)
    Thursday, August 22nd, 2013 11:53 am


    var basecode = "http://www.zappedcow.com/ld27/ld27_basecode.zip";
    var tools = {"HaxePunk", "FlashDevelop", "Aseprite", "Bfxr", "Beepbox", "Audacity", "Fruity Loops"};

    function foo()
    {

    while(!ludumDare)
    {
    wait(5);
    refreshLDwebsite();
    }

    trace("Oh yeah!");
    }

    Embrace your inner kung-fu master

    Posted by (twitter: @McFunkypants)
    Tuesday, August 20th, 2013 2:04 pm

    0ababydragon

    I haven’t missed a Ludum Dare in a few years. Of course I’m in. I will likely use this HTML5 basecode, but I promise NOT to make a platformer with it.
    https://github.com/McFunkypants/Ludus/

    Good luck, everybody! HAVE FUN! Embrace your inner kung-fu master.

     

    I’m also in

    Posted by (twitter: @sirGustav)
    Friday, April 26th, 2013 2:19 pm

    I’m in, though my time this weekend is severely limited, so I’ll probably be making a platformer based on my incomplete haxe game.

    Well, here’s my base code

    Posted by (twitter: @kgs0142)
    Thursday, December 13th, 2012 7:03 am

    According to the rule, if I wanna use any personal code, it’s should be declared and shared ,right?

    here it is : http://dl.dropbox.com/u/59758578/LD25_Base_Code.rar

    (it’s also on my github )

    I didn’t do much special, just collecting some libraries and framework, like flixel, lua-alchemy, tweenlite.

    And revising the code of DAME smaples and lua-alchemy samples.

    Not sure I will really use these…just in case of failure.

    If there is something wrong,  tell me please :p

    Thanks!

    Engine (Codebase/Basecode) update

    Posted by (twitter: @AngelDE98)
    Friday, August 24th, 2012 11:54 am

    Just a small status update for https://dl.dropbox.com/u/74836805/IGM2E.zip :

    - Bunched up some code here and there

    - Changed the way tiles (or entities on tile layers with the type argument set to entity) get loaded – Objects on object groups behave same .

    - Added an enemy base , the “Mob.java” , which is a modified entity which can walk, jump over obstacles or turn around if needed.

    - Added a tech-demo “Blob.java” as base NPC (currently does nothing). Also added two of them into the test level.

    This post was just to declare changes in the codebase / engine .

    Dynamic OpenGL for LuaJIT

    Posted by (twitter: @kamjau)
    Friday, April 20th, 2012 2:37 pm

    I’ve been toying around with LuaJIT lately. If you’re not familiar with LuaJIT, it’s a just-in-time compiler that not only makes your Lua code run super fast, but it also makes it possible to call native code from Lua without any native glue code at all. Pretty cool tech.

    OpenGL requires some special handling though, so I made an OpenGL loader for it that handles all the dynamic loading, version differences and extensions and such for you (based on the official spec files), and added some extra code to make shaders easier to work with. I didn’t really plan on using this for LD, but hey, might as well post it now so that I have the option: ld23base.zip (zlib license)

    That zip includes some example code using SDL + OpenGL to draw a spinning rectangle in pure Lua =).  I doubt anyone else will use this, but you’re of course welcome to if you want =). Please let me know if you do! It’s a bit WIP-y still, but fully usable and should be pretty straightforward if you’re familiar with SDL and OpenGL. It probably requires LuaJIT 2.0 (beta) to run, and it’s only been tested on 64-bit Linux, but it should hopefully run on anything supported by LuaJIT as long as SDL and OpenGL libs are available.

    My base code

    Posted by (twitter: @zapakitul)
    Friday, December 16th, 2011 5:15 pm

    Hi,

    I wanted to post (declare) my base code for Ludum Dare. It’s nothing out of the ordinary, it contains a base Object class that does the following:

    - Handles new objects;

    - Stores the objects position and outputs them;

    - Handles deletion of objects;

    - Enables collision setup for the objects.

     

    It requires DarkGDK and Sparky’s Collision library to work though.

    Here‘s the VS2008 solution.

    declaration of in-ness / dgl

    Posted by (twitter: @kamjau)
    Friday, April 29th, 2011 2:57 pm

    Yup, I’m in!

    Anyway, I was hoping to get some basecode ready for the compo for once, but it’s still missing some critical stuff (like sound, lack of bugs, etc), and while I could post what I’ve got so far and then work more on that during the compo, I don’t see that ending well for either the basecode or any eventual game. So.. I’ll just go from scratch, or maybe try Flash again or something.

    Well, almost. I do have one little thing I’ve been fiddling with lately: dgl! Calling it “basecode” is a bit of a stretch though, it’s really just a dynamic OpenGL loader and extension detector. Similar to GLEE and the like, except it’s smaller (less than 40k compiled), only covers the GL parts (no GLX/WGL/etc, you pass it a function pointer to use for resolving symbols, works great with SDL), and also it loads everything dynamically, not just extension functions (this actually makes cross-compiling from Linux to Windows much easier). Oh, and it’s a work in progress (most things work though), and I’ve given it a zlib-like license. If this sounds interesting, you can get it here: dgl-wip-ld20.tar.gz. (Not sure if I’ll actually use OpenGL for the compo yet, but I’m posting this just in case.)

    And now, I’m off to replace my slightly broken Linux install with Ubuntu 11.04, new Unity interface and all. What could possibly go wrong? This is surely an excellent idea at this point in time.

    [edit: turns out it wasn't. in my defense though, i really did need to fix my linux install. oh well, better luck next time..]

    Hello world, this is going to be epic!

    Posted by (twitter: @sirGustav)
    Saturday, December 18th, 2010 1:32 am

    I got an idea and I’m going to start making it. I’ll be lazy this time and using a previous game of mine as basecode. The first thing I’ll probably do is remove most of the code, all graphics and well… start coding :)

    Here is the warm-up photos that I took yesterday:

    And here is my workplace:

    I’ll probably be using my laptop, since it got windows, and has some power. The multi monitor setup is running ubuntu and has about 5 year old hardware :)

    After ludum dare, I’m gonna install that nas(the white thing) so that’s why it’s on the desktop.

    Edit/update: For those of you who want to follow me, here is the music I’m currently listening to (thanks last.fm) and here is my twitter

    Not much time

    Posted by
    Friday, December 17th, 2010 6:45 pm

    This weekend I have three concerts, one tomorrow and two on Sunday. I have to travel a long time through the snow to get there, I think I’ll have only about 10 – 12 hours to work on LD. I might decide to go with the jam like last time, but I’d really prefer to get something playable done during the normal LD.

    Anyway, this is my desk:

    I’m probably making something for Flash with Haxe, using my Haxe Base Code (new version 1.6), but maybe I’ll use Flixel instead or perhaps do something with a physics or 3D library.

    If I can think of something very simple, I might try to make in in html5 (also using Haxe, but with jeash).

    My tools:

    • Coding: FlashDevelop, Haxe (or perhaps Blitz3D, BlitzMax, Delphi, Visual Studio)
    • Graphics: Tile Studio, ULead PhotoImpact, Inkscape, Photoshop
    • Sound: Nero Wave Studio, audacity
    • Music: MilkyTracker, NoteWorthy Composer
    • Timelapse: ETL and VirtualDub
    • Internet: Firefox with ChatZilla

    Good luck everyone!

    Declaring basecode for LD19

    Posted by (twitter: @ditdahgames)
    Thursday, December 16th, 2010 3:06 am

    Alright, now that I have some time to finish this up, I am declaring what I will be using, and sharing my basecode. Actually, baselibrary.

    I’ll continue to develop in Actionscript3, using the Flex compiler. My IDE will remain FlashDevelop, as I am quite happy with it since I discovered the FlxDebug plugin. My graphics library will be Flixel.

    Graphics will be drawn in Photoshop, or InkScape if I end up doing vector art.

    Sound? I am not sure yet. SFXR is always there if I end up being lazy, but I might try something different this time.

    Basecode? Some. It’s a hodge-podge of miscellaneous stuff, mostly for Flixel. For example, a simple class for drawing status bars, and another for creating scrolling text displays. The kind of crap I end up duplicating over and over, so I just stuck most of it into a separate library.

    I’ve been working on a Tiled loader for Flixel. It’s pretty much feature complete*. The nice thing about Tiled levels is that they are more than just tilemaps, but can contain any amount of meta-data in so-called “object layers.” It’s decent if you’re into 2D tilemaps.

    Anyway, here is the library as-is: gwslib Note that I use the fast SHA1 available here.

    I wrote some Astar pathfinder stuff to go along with that, but it’s a bit broken at the moment. I will try to get it working before tomorrow afternoon.

    *As long as you use the QT version of Tiled, and don’t use isometric tiles. :)

    LD19 Unity Resource Request

    Posted by (twitter: @xMrPhil)
    Wednesday, December 1st, 2010 1:44 pm

    I’m planning to use Unity for LD19 and was wondering if people had resources they’d recommend or share such as code, urls, blog posts etc. I’m especially interested in 2D tips and tricks.

    Thanks,
    MrPhil

    PS I made a post on /r/gamedev too: What Unity Resources Would You Recommend for Ludum Dare 19 (Dec 17-20)


    All posts, images, and comments are owned by their creators.

    [cache: storing page]