NOTE: I do relize this question was answered, but not meeting what I wanted to know.

Sorry if this in the wrong area or something, I am really new to daniweb :3

So I am 12 and quite interested in game development and computers in general. If you guys could provide a programming language and a book that could help me out with this that'd be amazing!

So if I wanted to create a RPG for Windows, Linux, and Mac what language(s) would I use? I heared C++ was the best for this, but I would like to get another opinon on it!

Like I said it would be cool if you guys can supply a book and a recommended language!

Thanks a ton!!

Recommended Answers

All 6 Replies

I'd consider using Unity. It's cross platform and you'd be programming in C# which is much better than trying to get to grips with C++ if you haven't used it before.
C++ has advantages over speed of performance but C# will be faster to write in and makes a perfectly good final product.
Either way, I always suggest it-ebooks.info and find what you need there - it has a huge range of free books.

Awesome, thanks for the help Hericles!

So I am 12

You just violated our Terms of Service, which state you need to be over 13.

Pritaeas,

I guess so! Your answer didn't really help me out, but thanks for the tip! Obvisouly if someone wants to know something they should be able to learn it, but I guess the ToS don't agree with me ^.^

Thanks for the tip, however an answer to my question would have been better. This easily could have been messaged to me or something else instead of answering me on this. I also guess this could have been messaged to you, oh well! Again thanks for the tip, but next time can you answer my question? Thanks!

Python is a good language for begginers especially for teenagers.
Check my code (It's not that hard to program this).

from tkinter import *
HEIGHT = 626
WIDTH = 1238
window = Tk()   
window.title('Bubble Blaster 1.8 - By Lucas - AiroTM - Contact Us On Airo ;)')
c = Canvas(window, width=WIDTH, height=HEIGHT, bg='darkblue') 
c.pack()
ship_id = c.create_polygon(5, 5, 5, 25, 30, 15, fill='red')
ship_id2 = c.create_oval(0, 0, 30, 30, outline='white')
SHIP_R = 16
MID_X = WIDTH / 2
MID_Y = HEIGHT / 2
c.move(ship_id, MID_X, MID_Y)
c.move(ship_id2, MID_X, MID_Y)
SHIP_SPD = 12
def move_ship(event):
    if event.keysym == 'Up':
        c.move(ship_id, 0, -SHIP_SPD)
        c.move(ship_id2, 0, -SHIP_SPD)
    elif event.keysym == 'Down':
        c.move(ship_id, 0, SHIP_SPD)
        c.move(ship_id2, 0, SHIP_SPD)
    elif event.keysym == 'Left':
        c.move(ship_id, -SHIP_SPD, 0)
        c.move(ship_id2, -SHIP_SPD, 0)
    elif event.keysym == 'Right':
        c.move(ship_id, SHIP_SPD, 0)
        c.move(ship_id2, SHIP_SPD, 0)
c.bind_all('<Key>', move_ship)
from random import randint
bub_id = list()
bub_r = list()
bub_speed = list()
MIN_BUB_R = 10
MAX_BUB_R = 30
MAX_BUB_SPD = 20
sup_id = list()
sup_r = list()
sup_speed = list()
MIN_SUP_R = 10
MAX_SUP_R = 30
MAX_SUP_SPD = 35
GAP = 100
def create_bubble():
    x = WIDTH + GAP
    y = randint(0, HEIGHT)
    r = randint(MIN_BUB_R, MAX_BUB_R)
    id1 = c.create_oval(x - r, y - r, x + r, y + r, fill='lightblue')
    bub_id.append(id1)
    bub_r.append(r)
    bub_speed.append(randint(1, MAX_BUB_SPD))
def create_sup():
    x = WIDTH + GAP
    y = randint(0, HEIGHT)
    r = randint(MIN_BUB_R, MAX_BUB_R)
    id1 = c.create_oval(x - r, y - r, x + r, y + r, fill='red')
    bub_id.append(id1)
    bub_r.append(r)
    bub_speed.append(randint(1, MAX_BUB_SPD))
def move_bubbles():
    for i in range(len(bub_id)):
        c.move(bub_id[i], -bub_speed[i], 0)
def move_sups():
    for i in range(len(sup_id)):
        c.move(sup_id[i], -sup_speed[i], 0)
from time import sleep, time
BUB_CHANCE = 10
#MAIN GAME LOOP
while True:
    if randint(1, BUB_CHANCE) == 1:
        create_bubble()
        create_sup()
    move_bubbles()
    move_sups()
    window.update()
    sleep(0.01)
def get_coords(id_num):
    pos = c.coords(id_num)
    x = (pos[0] + pos[2])/2
    y = (pos[1] + pos[3])/2
    return x, y
def del_bubble(i):
    del bub_r[i]
    del bub_speed[i]
    c.delete(bub_id[i])
    del bub_id[i]
def del_sup(i):
    del sup_r[i]
    del sup_speed[i]
    c.delete(sup_id[i])
    del sup_id[i]
def clean_up_bubs():
    for i in range(len(bub_id)-1, -1, -1):
        x, y = get_coords(bub_id[i])
        if x < -GAP:
            del_bubble(i)
def clean_up_sups():
    for i in range(len(sup_id)-1, -1, -1):
        x, y = get_coords(sup_id[i])
        if x < -GAP:
            del_sup(i)
#MAIN GAME LOOP
while True:
    if randint(1, BUB_CHANCE) == 1:
        create_bubble()
        create_sup()
    move_bubbles()
    move_sups
    clean_up_bubs()
    clean_up_sups
    window.update()
    sleep(0.01)
from math import sqrt
def distance(id1, id2):
    x1, y1 = get_coords(id1)
    x2, y2 = get_coords(id2)
    return sqrt((x2 - x1)**2 + (y2 - y1)**2)
def collision():
    points = 0
    for bub in range(len(bub_id)-1, -1, -1):
        if distance(ship_id2, bub_id[bub]) < (SHIP_R + bub_r[bub]):
            points += (bub_r[bub] + bub_speed[bub])
            del_bubble(bub)
    return points
def collision_sup():
    points = 0
    for sup in range(len(sup_id)-1, -1, -1):
        if distance(ship_id2, sup_id[sup]) < (SHIP_R + sup_r[sup]):
            points += (bub_r[sup] + bub_speed[sup])
            del_bubble(sup)
            points = points + 1
    return points
score = 0
#MAIN GAME LOOP
while True:
    if randint(1, BUB_CHANCE) == 1:
        create_bubble()
        create_sup()
    move_bubbles()
    move_subs()
    clean_up_bubs()
    clean_up_sups()
    score += collision()
    print(score)
    window.update()
    sleep(0.01)
c.create_text(50, 30, text='TIME', fill='white' )
c.create_text(150, 30, text='SCORE', fill='white' )
time_text = c.create_text(50, 50, fill='white' )
score_text = c.create_text(150, 50, fill='white')
def show_score(score):
    c.itemconfig(score_text, text=str(score))
def show_time(time_left):
    c.itemconfig(time_text, text=str(time_left))
from time import sleep, time
BUB_CHANCE = 10
TIME_LIMIT = 30
BONUS_SCORE = 1000
score = 0
bonus = 0
end = time() + TIME_LIMIT
#MAIN GAME LOOP
while time() < end:
    if randint(1, BUB_CHANCE) == 1:
        create_bubble()
        create_sup()
    move_bubbles()
    move_sups()
    clean_up_bubs()
    clean_up_sups()
    score += collision
    if (int(score / BONUS_SCORE)) > bonus:
        bonus += 1
        end += TIME_LIMIT
    show_score(score)
    show_time(int(end - time()))
    window.update()
c.create_text(MID_X, MID_Y, \
              text='GAME OVER!', fill='white', font=('Helvetica', 30))
c.create_text(MID_X, MID_Y + 30, \
              text='Score: '+ str(score), fill='white')
c.create_text(MID_X, MID_Y + 45, \
              text='Bonus time: '+ str(bonus*TIME_LIMIT), fill='white')

Check my code (It's not that hard to program this).

It may not be hard to program that but without whitespace and comments it is much more difficult than it should be to read and understand it.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.