Posts Tagged ‘php’
This time around, I think I’m going to take it easy on the graphics and sound. Instead, I’ll focus on pure story. My plan: a multiplayer, online puzzle game. I’ll be working in PHP, with a bit of JS front-end. Maybe some html and css as a template. I have some interesting ideas for something atmospheric, and connected to the theme Hope to start serving things up to outside users in short order!
So I’m entering Ludum Dare 22. So’s my brother and friend. The plan is to live stream our desktops (or the primary screen of them at least) , take a photo every 5 seconds for a time lapse, and record the information we place on out whiteboards. And here’s where I’m insane, I’m coding in a language I only decided to start learning today: Java. In about half an hour I set up a development environment, scripts to compile and run and a base program to do my logic loop (which I won’t be using come this weekend).
My set up is as follows:
- Intel Core i7 950
- 10GB DDR3 RAM
- 2 x 22″ 1080p LED Monitors
- 1 x 19″ 1440×900 LCD Screen in Portrait.
- Windows 7 Ultimate x64
And here’s a pretty picture of it all.
- Java (Main Client)
- PHP (High Scores or anything web based I want to implement)
- Game Maker (Fall back if Java ends up being insanely hard)
- Paint.Net (Pixel Art and Touch Ups)
- Fireworks/Photoshop (Vectorising Drawn Art)
- Notepad ++ (Programming)
- Open Office (Documentation)
- Game Maker (Fall Back Programming)
- VirtuaWin (Desktop Management, 3 Screens isn’t enough)
- pixie (Colour Selection)
Plan is to use mainly black and white, and maybe a red or two for colours. I’m going to be drawing and scanning my menu systems in, and then vectorising them. As for game ideas, I have a few, some that I won’t be able to do easily due to the lack of knowledge of Java, and some that would look epic and take virtually no time. Worst comes to worst I’ll make a text based adventure game and make a single nice piece of art for it.
Wikiventure went far better than I was expecting. Mainly because I wasn’t expecting anything remotely interesting. I’m still working on it, in fact, adding new things – just today I added user-input via a text-box and tags which react to that input, and score and cash variables that can be checked and modified. I’m really enjoying it, and plan to add a basic battle system like in proper game books.
What went well
- The basic game, taking pages from the wiki and letting you travel between them, was very quick and easy to set-up. Then it was just a case of feature-creep for the rest of the weekend, which was perfect for me!
- People took an interest and wrote some content for me!
What went badly
- Spent rather a long time at the start battling with C++ libraries before moving to PHP. Though that did help me come-up with an idea.
- Also spent rather a long time at the end trying to fix an infinite loop, but managed to do so before the deadline, so no real bad points.
What I would do differently
- Plan-out code structure before writing it. I spent quite a while on the Sunday rewriting all the tag-parsers to remove a lot of repeated code. There’s still a lot now.
- Put time into writing content! I only actually created two areas, as a test right at the start before I’d added any tags, and then I kind-of expected people to write my content for me. Which some people did, but it was horribly lazy of me.
Things I’d like to add
- Cookies or some other way of keeping things persistent between sessions. Could tie it to user-accounts on my site.
- Combat system, mentioned already.
- More levels of persistence than ‘IFVISITED’ and ‘IFNVISITED’, so that the player wouldn’t necessarily have to follow the same set of actions multiple times.
- Any other stuff I happen to think-up.
So yeah, it went pretty well. I’ll keep working on it and maybe it’ll become something really interesting.
Less than an hour until the deadline. It’s gone midnight. I am rather tired. The most complicated tags so far have just gone in, (SPEECH and TALK, for enabling conversation trees. And probably anything that needs a choice actually. Whee!) and I have an infinite loop somewhere. Oh goody.
Anyway, it’s been an awesome Mini-LD. MUST… FIX… INFINITE… LOOP…
EDIT: FIXED! YAYAYAYAY!!!
Turns out, it’s because I’d got the position in a string, modified the string, then still used that position. Silly me. All works now! Time to update the documentation, submit, and go to bed, and only 25 minutes to spare.
So I had this cool idea about faeries living in the net, and you could browse webpages and recruit them, help them fight off boss critters, etc..
The problem is that I screwed up my time management; I didn’t get started until today, and the deadline is actually much closer than I realized (who uses UTC?!? @_@). But anyway, I worked up something which is not a game but is still kind of neat.
I probably won’t be able to work on this any more before the official midnight UTC deadline. So, this is it for me for this MiniLD. However, I might just continue working on this project in the days ahead…
Items can now be gained and lost, there are IFHAVE and IFNHAVE to conditionally output text, and you can click on items in your inventory to use them: if that area has a [[USE:Foo|Bar]] tag, then it will display Bar if you use Foo. Tags can contain other tags, but not perfectly if there are multiple tags at the same level. eg:
[[IFHAVE:Foo| [[GET:Fish]] [[GET:Chips]] ]]
The Get tags are at the same level here, and so will display oddly. Though I think they might still work.
If anybody has any ideas of other things they’d like in, please comment below! And feel free to use tags in pages: They make it a game rather than a wiki browser.
I’m in the process of adding in codes you can use in area pages.
First, there’s [[GET:Foo]], which will let the player pick-up an item called ‘Foo’ from that area. The item will only appear there if they do not already own it.
Then there’s [[IFHAVE:Foo|Bar]]. This checks if the player has ‘Foo’ in their inventory. If they do, ‘Bar’ is displayed. Bar can contain formatting, but I think it won’t work if you put anything with ]] inside it. I’ll have a go at changing that.
I’m keeping an up-to-date list of codes and formatting that work here, if anybody wants to start messing around with them!
I think I’ll go to bed soon, so that’s probably it for today. It’s been really fun so far, especially considering how clueless I was to begin with.
OK, so I have a working prototype!
Not very exciting, but it works. Create and edit pages here (starting with ‘Adventure/’, link them up, and it’ll let you navigate between them. To make it easier, pages that don’t exist will give you a link so you can write them. To jump to a page, simply add ‘p=PAGENAME’ (without the ‘Adventure/’ bit) to the URL. It’s case-sensitive.
Um, not really sure where to go from here. Making ”’ become <b> and ” become <i> would be good. Then maybe some kind of inventory…? I really have no idea.
EDIT: The best bit about this is that other people are already writing the actual game pages for me!
I wasn’t planning on entering miniLD 12. But the theme was just so interesting that my mind won’t let me not enter it, so here I go.
My original plan was C++, SDL and cURL. However, cURL refuses to work at all, so I’m stuck with PHP, the only other language I know reasonably well. This limits my choices significantly, but since I didn’t have any to start with, this isn’t really a problem.
So, my current plan is a choose-your-own adventure made of wiki pages. First name I could think of is ‘Wikiventure’, which is awful, sounds like a Wiki-based investment company, and is probably going to stay as the name because I can’t think of any others.
It’s located here, and currently just outputs the wiki page, not that exciting.
All done! Already filled with lots of user submissions. I can already tell that making sure submissions work right is going to be murder. But we shall see! It’s pretty awesome already, with multi-part puzzles made by different people.
Play now: http://hamumu.com/maze.php
It requires a Dumb Account to play, but those are free and the most fun thing in the world, so you would be a fool to pass that up.