The new forums will be named Coin Return (based on the most recent vote)! You can check on the status and timeline of the transition to the new forums here.
The Guiding Principles and New Rules document is now in effect.

Interactive web development and advanced database functions

DirtyDirtyVagrantDirtyDirtyVagrant Registered User regular
edited December 2008 in Help / Advice Forum
It's all in the title, really. And I apologize for such a short thread, but I'm here to ask questions about web development. And hosting.

The first step is one of learning. I'd like to know how to make an interactive (game) type webpage. I dont mean flash or anything like that. The closest example (and it's a crude one) that I can give is kingdomofloathing.com, where images and such are links to other pages. So the real question is, are there books you can recommend on html and CSS and whatever else might be useful?

Sorry if this seems odd, but I've been working on a tabletop game system for a while now and I'd like to do some experimenting.

As a side note, how does one judge the hardware specifications of a server?

DirtyDirtyVagrant on

Posts

  • AurinAurin Registered User regular
    edited December 2008
    Here's your best option for learning how to make a webpage. This place is awesome: http://www.w3schools.com/

    As for hosting services... I'm sure plenty of other people have good ones for those. I seem to have bad luck with hosts. :P

    Aurin on
  • QinguQingu Registered User regular
    edited December 2008
    I am not an expert ... at all ... but I use Dreamhost (www.dreamhost.com) and they are pretty good. I'm also trying to do an interactive-type dealie, but it's much more narrative than what you have in mind so I use Wordpress software. There are a number of free software packages they offer that you can attach to your webpage and work through their interface.

    As for help learning css, the best advice, I think, is to just practice, practice, practice. Though I've often used the w3schools pages as a guide while practicing. I've found it's pretty easy to just google what you want to do with css—a web page will usually turn up telling you the exact code. But if you use Dreamhost and use one of their software packages (like Wordpress) a lot of the css is already done for you.

    Everything I say should be taken with a grain of salt, though, because I'm pretty much a failure in this regard.

    Qingu on
  • admanbadmanb unionize your workplace Seattle, WARegistered User regular
    edited December 2008
    To do a game like KOL you're gonna need HTML, CSS, and a server-side language like PHP, perl, Python, Ruby, etc etc etc. You're talking about a pretty hardcore project.

    I would say you have two choices:

    (1) Learn just enough HTML and CSS to make crude, ugly, but functional webpages. Learn your server-side language and start working with that.

    (2) Avoid the HTML and CSS for the time being. Learn the server-side language as its own beast and write the initial parts of the game as if it were a text-based desktop application.

    The one thing you do not have to worry about is hosting. There's no reason you need to pay a webhost and buy a domain until you have the game up-and-running on your own system. You will have to learn how to configure your computer as a server, however. But that's not terribly difficult.

    admanb on
  • DirtyDirtyVagrantDirtyDirtyVagrant Registered User regular
    edited December 2008
    Which 'server side' language is the most functional? Should I learn more than one of them?

    Edit:
    Wiki wrote:
    Perl is nicknamed "the Swiss Army chainsaw of programming languages" due to its flexibility and adaptability.[5]

    Perfect.

    DirtyDirtyVagrant on
  • admanbadmanb unionize your workplace Seattle, WARegistered User regular
    edited December 2008
    Which 'server side' language is the most functional? Should I learn more than one of them?

    Edit:
    Wiki wrote:
    Perl is nicknamed "the Swiss Army chainsaw of programming languages" due to its flexibility and adaptability.[5]

    Perfect.

    Nyuuuuurgh.

    Perl is named the "Swiss Army chainsaw" because it looks like a piece of garbage, takes a half-hour to open, and when you turn it on there's a 50% chance you'll accidentally cut off your arm.

    I probably should've been more specific, but I don't like sounding preachy: I strongly recommend either Python or Ruby. Both are beautiful, easy-to-work with, beginner-friendly languages. Ruby may be slightly more so, inherently, but Python has a larger community and more established documentation.

    All of the languages are equally functional (when I say "equally" I mean precisely -- it's logically proven). The question becomes which is more functional and friendly in the various areas.

    admanb on
  • LewishamLewisham Registered User regular
    edited December 2008
    admanb wrote: »
    Nyuuuuurgh.

    Perl is named the "Swiss Army chainsaw" because it looks like a piece of garbage, takes a half-hour to open, and when you turn it on there's a 50% chance you'll accidentally cut off your arm.

    I probably should've been more specific, but I don't like sounding preachy: I strongly recommend either Python or Ruby. Both are beautiful, easy-to-work with, beginner-friendly languages. Ruby may be slightly more so, inherently, but Python has a larger community and more established documentation.

    All of the languages are equally functional (when I say "equally" I mean precisely -- it's logically proven). The question becomes which is more functional and friendly in the various areas.

    Dude, seriously, I don't mean to turn this into a holy war, as I'd rather use Python most of the time too, but Perl really isn't that bad. Perl is pretty nice, when you learn how to use it nicely. Too many people don't, which is where the nastiness comes. You should try using it some more.

    The benefit of Perl is that you have CPAN, where you can find a module to do just about anything. If you have say, an export requirement, CPAN will have a module to do it with.

    That said, for the OP, Python is the way to go. Ruby is harder to learn because it's a bit abstracted in the way it does things. It's powerful once you learn and understand the abstractions, but getting there is hard. I would use Python for this project.

    Lewisham on
  • DirtyDirtyVagrantDirtyDirtyVagrant Registered User regular
    edited December 2008
    Okay. Sounds good. Is there a book I can read about python? How about one that centers more specifically on this kind of project?

    And what do you mean exactly when you suggest that I develop it as a desktop text based application? The purpose of the server side program will be to retrieve data, save data, perform calculations, and respond to requests, right? or is there more stuff?

    DirtyDirtyVagrant on
  • HypatiaHypatia Registered User regular
    edited December 2008
    Do you have any previous programming experience? I'd say that that's probably a better way of going about picking which language to learn. I mean, if you already have experience with a programming language then it might be better to pick one with the greatest similarities to what you already know.

    Hypatia on
  • Sharp101Sharp101 TorontoRegistered User regular
    edited December 2008
    I would also recommend Python. It's a very dynamic language that will help you learn to write nicely structured code.

    Sharp101 on
  • admanbadmanb unionize your workplace Seattle, WARegistered User regular
    edited December 2008
    Here's a damn good list.

    Start with "Invent your Own Computer Games," which will be much less exciting then it sounds. Then look at "Dive Into Python" while using "The Standard Python Library" as reference. Finally, for the web programming end of things, read the Django book.

    admanb on
  • peterdevorepeterdevore Registered User regular
    edited December 2008
    Google App engine

    Free hosting of Python web apps with a really neat object oriented approach to databases. Just follow this guide to set up a nice development environment. Database interaction is modeled through objects in app engine, so you don't have to break your head over tables, columns and joins, which comes with using a traditional database engine.

    If it gives you any problems setting it up, feel free to PM me.

    peterdevore on
  • DirtyDirtyVagrantDirtyDirtyVagrant Registered User regular
    edited December 2008
    Oh, that is so cool. Thanks a bunch to all of you.

    DirtyDirtyVagrant on
  • mrcheesypantsmrcheesypants Registered User regular
    edited December 2008
    DOUBLE CHECK TO MAKE SURE YOU GET A HOST THAT SUPPORTS PYTHON IF YOU'RE GOING TO USE PYTHON. Same goes with ruby and perl although most hosting companies support both perl and php these days.

    Anyway, after you learn the basics of python/ruby/perl/php/whatever, make sure you learn a framework.

    The most common web framework for ruby is ruby on rails (http://www.rubyonrails.org/), for python it's django (http://www.djangoproject.com/) and for php people recommend cakephp (http://cakephp.org/). Keep in mind I highly discourage you to learn php or perl as your first language if you've done no real programming before.

    mrcheesypants on
    Diamond Code: 2706 8089 2710
    Oh god. When I was younger, me and my friends wanted to burn the Harry Potter books.

    Then I moved to Georgia.
  • DirtyDirtyVagrantDirtyDirtyVagrant Registered User regular
    edited December 2008
    I took a college course on VB script, I guess. I'm gonna err on the side of 'no programming experience' however.

    I've wanted to learn for a while, though. If that counts for anything.

    DirtyDirtyVagrant on
  • LegionnairedLegionnaired Registered User regular
    edited December 2008
    I took a college course on VB script, I guess. I'm gonna err on the side of 'no programming experience' however.

    I've wanted to learn for a while, though. If that counts for anything.

    After you get the basics of programming down (Loops, conditionals, variables, objects and methods) you'll want to study up on Model View Controller design pattern, then think about a small subset of possible use cases to get a minimally functional site. Then, plan out how you're going to provide all of those use cases through the MVC pattern.

    This will help you learn how to develop from the top down. Without this kind of thinking, you will write brittle stuff that will look like crap almost 100% of the time.

    Legionnaired on
  • DirtyDirtyVagrantDirtyDirtyVagrant Registered User regular
    edited December 2008
    Sooo...keeping the user interface separate from the data so it runs smoother and so that if I have to change something I dont have to overhaul the whole damn thing.

    That seems incredibly logical. I wouldn't have had it any other way.

    DirtyDirtyVagrant on
Sign In or Register to comment.