TTLG|Thief|Bioshock|System Shock|Deus Ex|Mobile
Page 19 of 104 FirstFirst ... 491415161718192021222324293439444954596469 ... LastLast
Results 451 to 475 of 2591

Thread: What are you making?

  1. #451
    Administrator
    Registered: Oct 2000
    Location: Athens of the North
    Quote Originally Posted by zombe View Post
    even more crazy ... reverse engineered an editor for doom2 - from the savegames alone x_x. Seriously. No, i do not believe it myself either - wtf. Found the "binary space partitioning", as it is actually called, an amazing idea.
    Do you mean from the WAD files? My memory may be faulty but I was pretty sure that there wasn't any level architecture saved in the savegames. Mind you, that does bring back some memories - there was good online (usenet) community when the original Doom came out dissecting the level format and creating levels with a hex editor (one of mine my mother found recently which proves that nothing dies on the internet).

    Quote Originally Posted by zombe View Post
    The other thing was that i found i can trick doom2 and make multilevel floors (did not work most of the time tho - my implementation was just way too buggy (and made of shits and giggles)
    I seem to remember you could also reverse the BSP normal direction (or something similar) to make buggy invisible bridges which a couple of fan levels used. I don't remember multi level floors, though - but there were a huge number of levels coming out at the time.

  2. #452
    Member
    Registered: Mar 2001
    Location: Melbourne, Australia
    An eternity ago I used to use XTGold for hex editing. Nice and easy to use program for its time. The main time I ever used it for hacking into game files was to remove the copy protection from the 1st Eye of The Beholder game. Quite simple once you knew where to do it.

    Zombe: To answer your questions and notes on my editor, I could certainly go about setting it up so you could place more complex things in one go. Or I might just play the lazy card and give out the c++ source code for it when the games done . Well, really I'll likely release the source for the editor either way since its incredibly basic even with all of the major modifications that I have made to it.

    So the bare bones original version of the editor (from the site I mentioned earlier) saved maps essentially as something like:

    0 0 0 1 0 0 0
    0 1 4 0 0 0 0
    0 0 0 0 0 3 0
    0 0 0 0 1 0 0

    With each 0 indicating an empty space and the others indicating a block tile texture number. And then the way it is under mine now:

    7, 4

    0 0 0 1 0 0 0
    0 1 4 0 0 0 0
    0 0 0 0 0 3 0
    0 0 0 0 1 0 0

    0 0 0 1 0 0 0
    6 0 0 0 0 0 0
    0 0 0 0 0 0 0
    7 0 0 0 1 0 0

    8 0 0 1 0 0 1
    0 5 2 0 0 0 0
    0 0 0 0 0 3 0
    3 0 0 0 1 0 0

    0 0 0 1 0 0 5
    0 0 4 0 0 0 2
    0 0 0 0 0 0 0
    0 0 0 0 1 0 0

    And so on due to all the extra layers I've added in. The 7, 4 is for indicating how many rows and columns. Later on I'll likely add in the saving of the level name into the file itself. Which on a side note was going to be in a future SDL tutorial on that site but never eventuated as well as how to implement enemies which I eventually figured out (and I'm still figuring out the kinks of).

    If your curious, the way that placement in the editor works I have left exactly as how the tutorial had it which is left click to place a tile (or click and drag to place a whole heap at different tile locations on screen) and right click (or right click drag) to remove tiles. Simple but effective. And I've added in a reload map function just in case you made a big mistake and would rather go back to the last saved version of the map.

    I've never been one to describe in detail, so if you'd like to know about something ask away and I'll fill you in. I've been keeping a detailed change list text file for both the editor and the main game since day 1 so that I can track down the exact version where I've done things etc plus a place to jot down important reminder notes for the next time I go about something similar again. I make a practice of keeping each and every new version of the games I work on as you never know when a bug might get discovered. I keep a todo list text file in addition to keep track of whats left before a demo release is ready also.

    From the get go with this project I wanted to learn how to make a game and editor from the bare basics, which is why I didn't go the Game Maker route. The main reason behind that being that I wanted to improve my games programming skills. Plus I've always enjoyed a good challenge.
    Last edited by icemann; 10th May 2012 at 16:03.

  3. #453
    Member
    Registered: Apr 2002
    Location: Third grave from left.
    Quote Originally Posted by Al_B View Post
    Do you mean from the WAD files?
    Yeah, that was a brainfart - in WADs. Like one of the teachers used to say: "mouth is singing and heart is worrying".

    Quote Originally Posted by Al_B View Post
    Mind you, that does bring back some memories - there was good online (usenet) community when the original Doom came out dissecting the level format and creating levels with a hex editor (one of mine my mother found recently which proves that nothing dies on the internet).
    . Hex edited together?

    Sadly, there was no possibility for any internet back then for me - would not have been of any help either (due of the impenetrable language barrier).

    I had the benefit of having a graphical backbone to the editor at the time i finally sufficiently understood what was what (well, it had problems like i mentioned). My approach at first was to find coordinates of things (as they must be there somewhere and are easily recognizable) => look up stuff that could be coordinates and draw them on screen. As i had, obviously, played the game quite a lot then it was easy to know when i hit some kind of coordinates. I remember that i was a bit confused when i got a hit - it looked regular, and strangely familiar, enough to confirm that i indeed got some coordinates, but i could not recognize exactly what. Wth? Never saw that coming ... then realized that just the coordinate system was a bit weird (ie. did not match the in-game map orientation with how i imagined the coordinate system). So i went, unraveling it step by step - including ways to mess with things i figured out or was trying to figure out (meddle with it and see what happens in game) to the editor thingie. One of the things i noticed when moving the vertices around was the rendering ... very peculiar bugs ... strangely logical ... amazingly clever ... aka bsp geniality (well, besides the visibility bug ... the strange lineups of seemingly unnecessary vertices in middle of straight walls also helped - the level that starts on a cross in green sludge was the one where i realized how it all fits together, has some telling vertices for me to recognize and meddle with). Made very clear how that works logically - now, how to make one ... um ... no clue ... just cut randomly . That part kind of worked - provided i helped it a little by lining walls up to not miss by some small value. The sector business to go with it was a mess tho. Also, i could not figure one of the named sections (whatever they are called) out ... nothing i did there seemed to affect anything at all - even writing random garbage there. I do remember one of the sections by name "BLOCKMAP" - which dealt with collisions and was the easier one of the structs to generate ... and abuse / muck with (or brick the level, x_x).

    So, the multiple floors thingie (ie. one area going below the other - like one tunnel crossing below the other for example), as far as i can remember, was based on the "accuracy" of that detection. To make it miss the wall in one sector and not the other (only "doorway", the conflicting bit, mattered - at least i did not notice anything strange going on in anywhere else). Did use fake walls too to ... um something ... at least i remember messing with them, but i think it did not help. I remember it glitched for some attempts at the conflicting wall when changing direction at the magic spot (getting stuck or out of the intended playing area).

    Quote Originally Posted by Al_B View Post
    I seem to remember you could also reverse the BSP normal direction (or something similar) to make buggy invisible bridges which a couple of fan levels used. I don't remember multi level floors, though - but there were a huge number of levels coming out at the time.
    Zero chance of finding any of that anywhere - also, i never did any level from ground up with my thingie, just altered them (especially the first one as it cooperated with my meddling the best). Did a crapton of my own levels with the official level editor tho - with equal chances of ever seeing any.

    Speaking of invisible pillars / walls ... I vaguely remember something at least similar (i used a few with the official level editor), i think it was just reversing the single sided walls and let the opposing side be from same sector (very foggy memory here) and/or using an invisible texture (ie. something that is not meant for wall and has no repeat and moving it way down) - unfortunate texture choice made it super slow / crash (or draw memory like garbage at parts of the texture). So, there might have been a neater solution. Can not think of any way how something like that could be done with BSP.

    Hm, there was some gotcha with the top part i think (if the texture is missing then it normally just extends it till it hits some other floor - creating a "sea" effect). That of course only when player can see the top, from anywhere else it is completely invisible.

  4. #454
    Administrator
    Registered: Oct 2000
    Location: Athens of the North
    Quote Originally Posted by zombe View Post
    Hex edited together?
    Pretty much. At the time people had figured out the basic structure of levels (e.g. how to change floor heights / textures) but as you found out, the visibility data was a bit tougher and you could easily end up with "hall of mirrors" effects. I wrote a DOS program to dump a basic structure for me and then hex edited the visibility section and sectors as I worked through it. The satisfaction of having it "click together" is something I'm sure you can appreciate.

    Quote Originally Posted by zombe View Post
    Also, i could not figure one of the named sections (whatever they are called) out ... nothing i did there seemed to affect anything at all - even writing random garbage there.
    Could be completely wrong but one of the blocks deals with enemy hearing between sectors (REJECT?). It's a bit more subtle than the others and I think it was one of the later ones to be figured out.

    Anyway - I realise I've not posted anything in the topic of the thread so I'll have to do that at some point.

  5. #455
    Member
    Registered: Sep 2001
    Been working on a tileset for the awesome cataclysm roguelike with the recent inclusion of a fantastic graphics-mod.


  6. #456
    Taking a break
    Registered: Dec 2002
    Oh look another hnnnnnnnnnnnnggggggggggggggggggg roguelike.

    Playing Grimrock and meditating about how bad it is one of the things that came to my mind was why didn't it have randomly generated levels? Since it uses a tile system and is essentially a 2D game in the sense that there is no vertical movement, it's identical to a typical roguelike - so why not use the random level generating alghoritm of a typical rog then simply map it into Grimrock engine once it's finished? Doesn't seem horribly difficult.

  7. #457
    Member
    Registered: Feb 2007
    Location: Sevastapol Station
    What you say is true Koki, but teaching an AI to develop puzzles is a bit more difficult than simply having it make levels.

  8. #458
    Taking a break
    Registered: Dec 2002
    Who cares about puzzles if you can kill giant crabs?

  9. #459
    Taking the Death Toll
    Registered: Aug 2004
    Location: ideally far away
    That's our Koki, anti-intellectual to the end. The bitter, stupid end.

  10. #460
    Taking a break
    Registered: Dec 2002
    You don't understand. They walk sideways.

  11. #461
    Member
    Registered: Oct 2007
    Location: Sydney, Australia
    Speaking of roguelikes, I just stumbled upon this. It's a JavaScript library to render unicode terminal graphics in a browser. Definitely giving that a go over the holidays. Time to finally make that Space Hulk-a-like!

  12. #462
    Member
    Registered: Apr 2002
    Location: Third grave from left.
    Just had a facepalm-victory-dance moment i can not help but share. Might be of use to someone also, or fish out some good ideas/alternatives.

    --------------------
    Problem: Elevating privileges in javascript asks for user permission (thankfully) - and keeps asking it ... all ... the ... fucking ... time.

    It would be nice if i could tell FF to just give the permissions for some specific script (local file) and never ask for anything. As a compromise, just asking once per page load is also fine.

    Options:
    * Check "Remember this decision" - my security sense is tingling. Could not find what _exactly_ it affects and what security considerations it entails - wtf? :/. Exception resolution seems to be very poor tho (just "file://", not full URI). Not that i found any indication it even HAS any exception resolution at all - wtf^2?. I remember reading a long-long time ago that checking it is a terrible idea ... no idea where nor why it was said.
    * Enable user_pref "signed.applets.codebase_principal_support" in prefs.js - my security sense is tingling. (odd, while this is present in about:config too it does not seem to work as far as "file://" principal is concerned)
    * Make a plugin (making plugins is made amazingly easy with the plugin builder [web based or downloadable sdk]) ... well, non standard stuff still needs that i actually find whatever it is i need to make a plugin for my specific/peculiar needs. Did not get anywhere with this in a reasonable timeframe, so - fuckit.
    * Signed .js. Nice, however, for security reasons "mixed scripts on an HTML page operate as if they were all signed by the intersection of the principals that signed each script" - so, can not just sign one and happily alter the rest of the .js files. Which makes it completely unusable for me. Did not investigate it further.
    * Local web-server+php / ajax: XAMPP is quite nice for that - and i have it already installed and configured. Have used it and it is way too inconvenient for me (also, not sure my current configuration even allows read/write outside web/include folders). Also, iirc ajax has/had issues with plain binary files.
    * Something else even less documented my google-fu was unable to discover.

    In-depth-problem:
    Elevating privileges with "netscape.security.PrivilegeManager.enablePrivilege" remains in effect only in the scope it was called in (inc. functions called etc in that scope).
    If the context is lost (function is done with whatever it was doing) then so are the privileges. This makes things like "autosave" impossible as every invocation would spawn the confirmation dialog.

    Facepalm:
    Wait a fucking minute ... "remains in effect only in the scope it was called in" ... what if i YIELD it !? (aka. poor mans multithreading in javascript as i mockingly call it). As long as i never exit the "thread" it sure as hell should stay in context indefinitely.

    Code:
    <script type="application/javascript;version=1.7"><![CDATA[
    var save = 'Foobar!';
    var dosomething = 0;
    
    function test() { // invoked by "body onload"
        var it = bananas();
        document.body.$add(['input','type','button','value','test','onclick',function(){ it.next(); }]); // using my homebrew lib to make a html button for testing
    }
    
    function bananas() {
        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
        while(true) {
            if(dosomething==0) {
                var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
                file.initWithPath('D:\\test.txt');
                if(!file.exists()) file.create(0, 0664); // -rw-rw-r- ... meaningless for win
                var out = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);
                out.init(file, 0x20|0x02, 0x04, null); // ioFlags: PR_TRUNCATE | PR_WRONLY, perm: PR_RDWR
                out.write(save, save.length);
                out.flush();
                out.close();
            }
            yield;
        }
    }
    ]]></script>
    Yay! It works as expected. Now, need update my file read/write wrapper.

  13. #463
    Member
    Registered: Oct 2007
    Location: Sydney, Australia
    So, after nearly six years of working with Torque, and a few before that pottering around with other game engines and programming, I have produced A Game. Not much of one, but A Game it is nonetheless. Mostly.

    I wrote it for a competition on GarageGames (who publish the Torque engine), the aim of which was to produce a small multiplayer title within a month. I decided a fast-paced Deathmatch-em-up shooter would be the easiest, and I wanted to explore ways to make that gameplay a bit more interesting. Of course, for me it ended up being a game in one week at the start of the month and two days at the end... but I'm reasonably proud of what I managed to submit.

    A little about GLOVES.

    And, because everything's better with pictures:

    Is there a way to resize embedded images?

    So yeah, basically there's one level - a cityscape inspired by Jet Set Radio Future and TRON - character models which don't animate, some glove powers which are mostly functional, and the beginnings of an art style. (Actually, who am I kidding. )

    I do want to keep working on it, obviously at a less frenetic pace (mostly dictated by uni, which I have been neglecting a bit...). Things to get to:
    • Animate the player character. Would be nice.
    • Make the gameplay non-violent. At the moment, there's a laser gun and a rocket launcher (and a melee attack) because they're easy fallbacks. But I really want to move away from standard shooter gameplay (i.e., shoot them with guns) and focus on Smash Brothers-style physical combat.
    • Add more billboards! Like, seriously. I didn't have time to do this properly for the competition, but I want them to be do dense you can barely move.
    • Possibly add some AI opponents. Since I doubt many people will be hosting servers .

  14. #464
    Member
    Registered: Mar 2001
    Location: Melbourne, Australia
    As I stated over in the main thread for it:

    Today demo 3 goes live







    Which includes:

    * Level 3 of the original converted over (as well as the enemies and new gameplay elements introduced).
    * New level of my own
    * Original game music added in. The tracks I developed play only on the completely new levels.
    * Options settings saved on exit and reloaded on start-up.

    You can download the latest version here (version 0.37):
    http://www.mediafire.com/download.php?0r2a7nufe31y1tb

    This marks the 50% completion mark for the project. Only 2 more of the original levels to go .

  15. #465
    Member
    Registered: Apr 2002
    Location: Third grave from left.
    * Uh, thread is gone from first page ... fixed *

    -------------------------------
    Anyway, decided it really is time to solve the captureless-lambda-function issue i brought up a while ago as my hope for a MS update/fix just has not yet materialized.

    This is the result:
    Code:
    namespace detailUnwrapper {
        // L = lambda, S = signature, R = return type, P* = parameter type
        // base type predef
        template<typename L, typename S> struct Type;
        // specializations (0, 1 and 2 parameter cases)
        template<typename L, typename S, typename R> struct Type<L, R (S::*)() const> {
            static R call() { L f; return f(); } // use a dummy lambda function object to call the actual function with (capturing lambda functions do not have default constructor - shit hitting the fan case avoided :D)
            typedef decltype(&call) Func;
            operator Func() const { return &call; } // get the unwrapped function "call" automatically via casting
        };
        template<typename L, typename S, typename R, typename P1> struct Type<L, R (S::*)(P1) const> {
            static R call(P1 p1) { L f; return f(std::forward<P1>(p1)); } // forward parameter
            typedef decltype(&call) Func;
            operator Func() const { return &call; }
        };
        template<typename L, typename S, typename R, typename P1, typename P2> struct Type<L, R (S::*)(P1, P2) const> {
            static R call(P1 p1, P2 p2) { L f; return f(std::forward<P1>(p1), std::forward<P2>(p2)); }
            typedef decltype(&call) Func;
            operator Func() const { return &call; }
        };
    }
    template<typename L> struct Unwrapper : detailUnwrapper::Type<L, decltype(&L::operator())> {};
    template<typename L> Unwrapper<L> Unwrap(const L&) { return Unwrapper<L>(); }
    
    // Examples:
    //int32u var;
    //bool (*bar0)() = Unwrap( []()->bool { return true; } );           // works :D - templated return type
    //void (*foo0)() = Unwrap( []() {} );                               // works :D - simplest possible case
    //void (*foo1)(int32u) = Unwrap( [](int32u) {} );                   // works :D - extra parameters
    //auto = Unwrap( [](int32u,int32u) {} );                            // works :D - no type ambiguity
    //auto foo3 = Unwrap( [=]() { GLOGD(L"%d", var); } );               // fails :D - no default constructor compile time error
    Gathered the idea from browsing around, but implemented myself step-by-step to ensure i actually understand it (c++11 is fairly new to me). Fairly easy to remove it all when VC starts to support implicit conversion for captureless lambda functions. As far as i can see - it is pretty bullet proof. Still, there might be something i missed - so, criticism welcome.

    Currently up to 2 parameters for the lambda function - trivial to add more when the need arises (i just happen to need 2).

    From ASM side - compiler optimizes all that away (pointer directly to the function body with no extra code anywhere).
    Last edited by zombe; 12th Jun 2012 at 09:01.

  16. #466
    Member
    Registered: Mar 2009
    icemann: Cool game, man. You've improved a clunky old NES game by a good 100%
    Eldron: Do you have a demo yet for your rogue-ish game (The first one you posted)? Looks cool.

  17. #467
    Member
    Registered: Mar 2001
    Location: Melbourne, Australia
    Quote Originally Posted by Albert View Post
    icemann: Cool game, man. You've improved a clunky old NES game by a good 100%
    Thank you very much .

  18. #468
    Member
    Registered: Jun 2004
    And now, straying away from the world of 3D...



  19. #469
    Member
    Registered: Mar 2001
    Location: Melbourne, Australia
    Where have I seen that sprite before.

    Is that from Monkey Island?

  20. #470
    Member
    Registered: Sep 2001
    Tiny bit of update on my undefineable project.

    http://eldrone.tumblr.com/post/25781...their-creation


  21. #471
    Member
    Registered: Jun 2004
    Eldron, are you making your own art as well or is this a team-project?

  22. #472
    Moderator
    Registered: Jan 2003
    Location: NeoTokyo
    This is Eldron of Eldpack fame we're talking about. My bet is he does his own art.

  23. #473
    Member
    Registered: Mar 2005
    Location: Ontario, Canada
    Took a bit longer than expected, but I'm just about done with my first level for the new Tron 2.0 FM I'm working on. User Error 3.



    This isn't 100% final, but the level is probably about 95% complete. Took me around 3 months to make the entire thing (not just the cutscene).

    You may recall I mentioned wanting to have "System Shock/Thief meets Tron" elements in the mission. Those won't show up until a later level. For now, I just wanted to post some stuff to show the progress being made.


    Here's another short video, showing a new feature that will be in the mission. User Powers. This one demonstrates the ability to steal other programs' identities, like Flynn did in the original Tron film. It's an early, rough test.



    Stealth was pretty much pointless in the Tron 2.0 retail game. I'm hoping the ability to gain a disguise and then move about freely for a time, will motivate players to use stealth at least once on each level in order to gain this reward. (Which is already kind of Thief inspired at this early stage, I guess.)


    Finally, here's a test cutscene made by another member on the team.


  24. #474
    Member
    Registered: Jun 2004


    Few realize that turning the toaster 45 degrees makes the toasts explode on impact.


  25. #475
    Moderator
    Registered: Jan 2003
    Location: NeoTokyo
    Chrono Trigger meets Doom meets WTF... Interesting, uh, concept you've got there.
    I like it. I like how you're not even trying to make the art direction in any shape or form consistent haha.

Page 19 of 104 FirstFirst ... 491415161718192021222324293439444954596469 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •