Jump to content

Search the Community

Showing results for tags 'free'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Community
    • Community News
  • Web Game Design and Development
    • News & Updates
    • General Game Development
    • Creative Discussions
    • Coding and Programming
    • Tutorials and Guides
  • Marketplace
    • Looking To Hire
    • Looking For Work / Commissions
    • Marketplace Reviews
  • General Discussions
    • Off Topic
    • Community Feedback / Help
    • Jokes and Fun
    • Entertainment Talk
  • Novilar's
  • Eliyo's
  • Animal Acres's
  • Neopets's
  • IcePets's
  • MisticPets's
  • PokemonPets's
  • Flight Rising's
  • Lioden's
  • Tattered Weave's
  • Furvilla's
  • Eqcetera's
  • Equiverse's

Product Groups

  • Adoptables
    • Eggs
    • Backdrops
    • Additional Customizations
  • Advertising

Adoptable Stages

  • Corgicock
    • Egg
    • Chicgi
    • Corgicock
  • Lizardly Dragon
    • Egg
    • Kimono Lizard
    • Spiketail Dragon
  • Spiky Cat
    • Egg
    • Kittykin
    • Pinat
  • Dwarf Unicorn
    • Egg
    • Filli
    • Unicorn
  • Melon Kangaket
    • Egg
    • Kangakit
    • Kangakoo
    • Kangaket
  • Fuzzy Yeti
    • Egg
    • Yetiling
    • Fuzzy Yeti
  • Pure White Mottled Hare
    • Egg
    • Pure Mottled Kit
    • White Mottled Hare
  • Mottled Hare
    • Egg
    • Mottled Kit
    • Mottled Hare
  • Fawsh
    • Egg
    • Fawsh Younghoof
    • Fawsh Wavestrider
  • Oasis Naga
    • Egg
    • Oasis Nagaling
    • Oasis Naga
  • Kitsu
    • Egg
    • Kitsee
    • Kitsu
  • Vine Sloth
    • Seed
    • Vineling
    • Vine Sloth
  • Worm Cat
    • Egg
    • Wormling
    • Worm Cat
  • Demikin
    • Egg
    • Demonite
    • Demikin
  • Wolbit
    • Egg
    • Wollitte
    • Wolbit

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me


Website


Xbox Gamertag


PlayStation Network


Nintendo ID

Found 8 results

  1. You can now change the layout style by going to your settings. Some layouts are only available for premium users. New unlock-able layouts are coming soon for everyone. AbbieGoth has redone our candy canes! Loki has made us some new cookies and of course, milk!
  2. Loki has made new doors for our Solopia Shops Also, now you can change your forum post themes in your user settings. Keep in mind this is new and more themes will be coming. This feature is mainly for premium users. They have more themes available to them.
  3. One of our newest artists Silcoon has added the official solSchool. Be sure to educate your pets to gain experience and intelligence! Loki has made this wonderful new magic gems that will allow you to change your pets color. These are found in the crystals shop. Also, a "Preview" button has been added to the forums for users who use BBCode around the site. Hopefully this is helpful to you.
  4. Trick or Treating started October 1st! This year it has changed a bit. Last year, you did not need the items. This year you must have eggs, rotten eggs, and/or toilet paper in your inventory to trick someone. And you must have candy to treat someone. For every 5 people you TRICK you will get 2 candies to do whatever you may wish. For every 5 people you TREAT you get 500 sPoints. You can only trick/treat a user every 2 hours (1 hour if premium). Have fun Trick or Treating! Also - in spirit of the holiday - for the whole month of October profiles will look a little different, so don't be startled by the change. It will go away in a month. I would like comments and suggestions for it though. Our artist Loki has been working really hard getting new Halloween items ready for the season. They will be released later this week. She also updated some of our old items: We also have new item descriptions from CandyCanes added and a new writer - welcome TheSilentOne! Loki has made some new Halloween items that are now in stock at the Holiday Shop. It's time to stock up! 2 New candy holders to choose from for trick or treating also! She has also made us a few new forum icons: Nightfury3200 has made us some new user shop shopkeepers so you are able to customize your own shop a little more. We also now have discord for everyone to use: https://discord.gg/mR75D5r Everyone has been working really hard this month. Let's keep it going!
  5. S E R V I C E S Graphic Editing I have five years' worth of proficiency with Photoshop CS6 software. While I am by no means an artist, I can create banners and other graphics featuring the text of your choice, as well as perform a variety of edits to whatever image you'd like, such as resizing, adding text, enhancing, removing backgrounds, and more! Proofreading and Writing At the risk of waxing poetic, writing isn't simply a service to be offered in my eyes---it is a labor of love, from beginning to end. Ask me to write something and you can rest assured that the finished product will be the absolute best I can offer. And in the event that you aren't satisfied, for any reason, I'll work with you towards a solution we both can be proud of. I'm not simply a writer for hire, I'm a ruthless perfectionist. I've been writing creatively for about nine or so years now, give or take, and over those years, I've written in just about every form there is. I particularly enjoy world-building, lore creation, and creature description. High Availability I work part-time, putting in 10 paid hours a week. That's relatively little in the grand scheme of things, leaving a large amount of free time on my hands. I'm almost always online somewhere; I would love to spend that time being productive. Constructive Criticism I have an eye for the finer details as well as the big picture and I don't believe in sugarcoating the truth. In the same breath, however, I don't believe that hate has ever helped grow anything. Constructive criticism and feedback are the building blocks of a successful and thriving community. An Open Mind I'm always open to learning new skills and providing new resources. If you need something outside of my listed services, I'd be willing to do the necessary research and see if I can provide it for you! All you have to do is ask and ye shall receive. Intermediate CSS+HTML Knowledge I'm better at design creation than overall website framework building. Currently I get my creative kicks doing custom CSS profiles for Khimeros users, just for fun. love it and would love to do the same thing, except on maybe a larger scale. Marketing, Advertising and Public Relations Advertising without marketing is a huge waste of time and resources. Clicks don't necessarily mean new users and new users don't always mean meaningful players who will contribute to the game for the long haul. The goal is to create a marketing plan that not only gives users a reason to visit, but a reason to keep coming back. And that is where PR comes in: public relations and player retention, aka the fostering of good vibes with the public and the building of a loyal, long-term player-base. This is another one of my strong suits; I have several tactics and strategies up my sleeve. It isn't hard---people want to play a good game. Finding one is the trick. P A Y M E N T Many people ask about pricing and rates. I've never put a price tag on my abilities, having always simply offered them for free, just for the sake of giving myself something to do. The same holds true now, although it really depends on the job. Sometimes I'll request site-based currency as payment.
  6. Lots of free programming eBooks available for all sorts of different programming languages on http://books.goalkicker.com/. Here's a few book titles to give you an idea of what they have: .
  7. Solpets is a virtual pet site community that strives to offer a friendly and inviting atmosphere. The site is free to play and offers a variety of unique styled pets for you to raise and breed. With different worlds to explore and activities to complete, where will your adventure take you? View full game
  8. This is a simple HTML5 version of the classic game of pong. Play against the computer for as many levels as you can. The computer gets faster and more competitive the higher the level gets. The game can easily be customized to grow/shrink the paddles and the computer’s difficulty if you’re looking for a challenge after you’ve finished putting the tutorial together. You’ll need a current version of a browser (Chrome, Firefox) that supports HTML5 in order to complete this tutorial. Enjoy! Try the working version and Fork on Plunker Create the HTML File The beauty of html5 is that you can program it using javascript. This makes your html file small and super simple. All we need to do is create a canvas for the game and then include the javascript file: <html> <canvas id="battlePong"></canvas> < script type="text/javascript" src="battlePong.js"></script> </html> Create the Javascript File /** * File: BattlePong.js * Purpose: HTML5 pong game * Author: Design1Online.com, LLC <jade@design1online.com> * Created: 6/7/2016 **/ //global game variables var game = { debug: true, canvas: null, canvasContext: null, frameRate: 1000, framesPerSecond: 30, fonts: { header: '30px Arial', regular: '15px Arial' }, colors: { net: 'gray', background: 'black', header: 'red', text: 'white' }, screens: { winner: false, startGame: true, levelUp: false, continue: false }, ball: { x: 50, y: 50, speedX: 10, speedY: 4, threshold: 35, radius: 10, color: 'blue' }, level: 1, pointsPerLevel: 3, player: { score: 0, lives: 5, paddle: { y: 250, thickness: 10, height: 100, color: 'green' } }, computer: { score: 0, paddle: { y: 250, thickness: 10, height: 100, speed: 6, color: 'red' } } }; /** * Start the game when the window loads **/ window.onload = function() { //init the canvas game.canvas = document.getElementById('battlePong'); //adjust canvas to window size game.canvas.width = window.innerWidth - game.computer.paddle.thickness; game.canvas.height = window.innerHeight; //create the context game.canvasContext = game.canvas.getContext('2d'); //add event listeners game.canvas.addEventListener('mousedown', mouseClickHandler); game.canvas.addEventListener('mousemove', mouseMoveHandler); //start buffering the screen setInterval(function() { buffer(); }, game.frameRate / game.framesPerSecond); }; /** * Figure out the player's mouse position **/ function mouseMoveHandler(e) { var mousePos = mousePosition(e); game.player.paddle.y = mousePos.y - (game.player.paddle.height / 2); } /** * Return the x,y coordinates of the mouse in * relation to the screen **/ function mousePosition(e) { var rect = game.canvas.getBoundingClientRect(); var root = document.documentElement; return { x: e.clientX - rect.left - root.scrollLeft, y: e.clientY - rect.top - root.scrollTop }; } /** * Handle mouse clicks **/ function mouseClickHandler(e) { if (game.debug) { console.log('mouseClickHandler()'); } if (game.screens.startGame) { if (game.debug) { console.log('Removing start screen'); } game.screens.startGame = false; } else if (game.screens.continue) { if (game.debug) { console.log('Removing start screen'); } game.screens.continue = false; } else if (game.screens.levelUp) { if (game.debug) { console.log('Removing level up screen'); } game.screens.levelUp = false; } else if (game.screens.winner) { resetGame(); if (game.debug) { console.log('Removing winner screen, showing start screen'); } game.player.score = 0; game.computer.score = 0; game.screens.winner = false; game.screens.startGame = true; } } /** * Start the game **/ function startGame() { if (game.debug) { console.log('Starting game...'); } if (game.player.lives <= 0) { game.screens.winner = true; } game.ball.speedX = -game.ball.speedX; game.ball.x = game.canvas.width / 2; game.ball.y = game.canvas.height / 2; } /** * Move the ball and the computer mouse paddle **/ function move() { var deltaY = 0; //move computer paddle var center = game.computer.paddle.y + (game.computer.paddle.height / 2); if (center < game.ball.y - game.ball.threshold) { game.computer.paddle.y = game.computer.paddle.y + game.computer.paddle.speed; } else if (center > game.ball.y + game.ball.threshold) { game.computer.paddle.y = game.computer.paddle.y - game.computer.paddle.speed; } //move ball game.ball.x = game.ball.x + game.ball.speedX; game.ball.y = game.ball.y + game.ball.speedY; //check for paddle collisions hitCollision(); if (game.ball.y < 0) { if (game.debug) { console.log('Inverting ball Y speed 1'); } game.ball.speedY = -game.ball.speedY; } if (game.ball.y > game.canvas.height) { if (game.debug) { console.log('Inverting ball Y speed 2'); } game.ball.speedY = -game.ball.speedY; } } /** * Check for ball/paddle collisions **/ function hitCollision() { //player paddle check if (game.ball.x <= 0) { if (game.debug) { console.log('player paddle collision check'); console.log('ball', game.ball); console.log('player paddle', game.player.paddle); console.log( 'hit or miss', game.ball.y > game.player.paddle.y, game.ball.y < (game.player.paddle.y + game.player.paddle.height + game.ball.radius) ); } if (game.ball.y > (game.player.paddle.y) && game.ball.y < (game.player.paddle.y + game.player.paddle.height + game.ball.radius) ) { game.ball.speedX = -game.ball.speedX; deltaY = game.ball.y - (game.player.paddle.y + game.player.paddle.height / 2); game.ball.speedY = deltaY * 0.35; } else { game.computer.score++; game.player.lives--; game.screens.continue = true; startGame(); } } //computer paddle check if (game.ball.x >= game.canvas.width) { if (game.debug) { console.log('player paddle collision check'); console.log('ball', game.ball); console.log('player paddle', game.computer.paddle); console.log( 'hit or miss', game.ball.y > game.computer.paddle.y, game.ball.y < (game.computer.paddle.y + game.computer.paddle.height + game.ball.height) ); } if (game.ball.y > (game.computer.paddle.y) && game.ball.y < (game.computer.paddle.y + game.computer.paddle.height + game.ball.radius) ) { game.ball.speedX = -game.ball.speedX; deltaY = game.ball.y - (game.computer.paddle.y + game.computer.paddle.height / 2); game.ball.speedY = deltaY * 0.35; } else { game.player.score++; //increase score //level up if (game.player.score > 0 && game.player.score % game.pointsPerLevel === 0) { game.player.lives++; //get another life game.level++; //level up game.computer.paddle.speed += 1.3; //increase computer paddle speed game.screens.levelUp = true; } else { game.screens.continue = true; } startGame(); } } } /** * Draw the game board **/ function drawBoard() { //draw the net for (var i = 0; i < game.canvas.height; i += 10) { drawRectangle(game.canvas.width / 2 - 1, i, 2, 1, game.colors.net); } //draw the score text var offset = 100; //set the header text var header = "BattlePong!"; game.canvasContext.fillStyle = game.colors.header; game.canvasContext.font = game.fonts.header; game.canvasContext.fillText(header, offset, 30); //set the colors and font style game.canvasContext.fillStyle = game.colors.net; game.canvasContext.font = game.fonts.regular; //set the score text var score = "Score: " + game.player.score; game.canvasContext.font = game.fonts.text; var scoreSize = game.canvasContext.measureText(score); game.canvasContext.fillText(score, offset + 5, 50); //set the lives text var lives = "Lives: " + game.player.lives; var livesSize = game.canvasContext.measureText(lives); game.canvasContext.fillText(lives, offset + scoreSize.width + 25, 50); //set the copyright text var copyright = "Games by design1online.com, LLC"; var copyrightSize = game.canvasContext.measureText(copyright); game.canvasContext.fillText(copyright, game.canvas.width - copyrightSize.width - offset/4, game.canvas.height - offset/4); //player paddle drawRectangle( 0, game.player.paddle.y, game.player.paddle.thickness, game.player.paddle.height, game.player.paddle.color ); //computer paddle drawRectangle( game.canvas.width - game.computer.paddle.thickness, game.computer.paddle.y, game.computer.paddle.thickness, game.computer.paddle.height, game.computer.paddle.color ); //ball drawBall(game.ball.x, game.ball.y, game.ball.radius, game.ball.color); } /** * Draw the ball **/ function drawBall(centerX, centerY, radius, color) { game.canvasContext.fillStyle = color; game.canvasContext.beginPath(); game.canvasContext.arc(centerX, centerY, radius, 0, Math.PI * 2, true); game.canvasContext.fill(); } /** * Draw paddle **/ function drawRectangle(leftX, topY, width, height, color) { game.canvasContext.fillStyle = color; game.canvasContext.fillRect(leftX, topY, width, height); } /** * Reset for a new game **/ function resetGame() { if (game.debug) { console.log('Resetting game...'); } game.level = 1; game.computer.paddle.speed = 6; game.player.score = 0; game.computer.score = 0; game.player.lives = 5; } /** * Draw the winner screen **/ function screenWinner() { var center = game.canvas.width / 2; var height = game.canvas.height / 2; var header = "Game Over!"; var score = "Score: " + game.player.score; //set the header text game.canvasContext.fillStyle = game.colors.header; game.canvasContext.font = game.fonts.header; var headerSize = game.canvasContext.measureText(header); game.canvasContext.fillText(header, center - headerSize.width/2, height); //set the score text game.canvasContext.fillStyle = game.colors.text; game.canvasContext.font = game.fonts.regular; var scoreSize = game.canvasContext.measureText(score); game.canvasContext.fillText(score, center - scoreSize.width/2, height + 25); } /** * Draw the continue screen **/ function screenContinue() { var center = game.canvas.width / 2; var height = game.canvas.height / 2; //set the header text var header = "Missed Ball!"; game.canvasContext.fillStyle = game.colors.header; game.canvasContext.font = game.fonts.header; var headerSize = game.canvasContext.measureText(header); game.canvasContext.fillText(header, center - headerSize.width/2, height); //set the info text var info = "Click anywhere to start the next ball"; game.canvasContext.fillStyle = game.colors.text; game.canvasContext.font = game.fonts.regular; var infoSize = game.canvasContext.measureText(info); game.canvasContext.fillText(info, center - infoSize.width/2, height + 25); } /** * Draw the level up screen **/ function screenLevelUp() { var center = game.canvas.width / 2; var height = game.canvas.height / 2; //set header var header = "Level " + game.level; game.canvasContext.fillStyle = game.colors.header; game.canvasContext.font = game.fonts.header; var headerSize = game.canvasContext.measureText(header); game.canvasContext.fillText(header, center - headerSize.width/2, height); //set the regular text color and font game.canvasContext.fillStyle = game.colors.text; game.canvasContext.font = game.fonts.regular; //set the level text var info = "Click anywhere to start the next ball"; var infoSize = game.canvasContext.measureText(info); game.canvasContext.fillText(info, center - infoSize.width/2, height + 25); } /** * Draw the start screen **/ function screenStartGame() { var center = game.canvas.width / 2; var height = game.canvas.height / 2; //set the header text var header = "BattlePong!"; game.canvasContext.fillStyle = game.colors.header; game.canvasContext.font = game.fonts.header; var headerSize = game.canvasContext.measureText(header); game.canvasContext.fillText(header, center - headerSize.width/2, height); //set the info text var info = "Click anywhere to start playing"; game.canvasContext.fillStyle = game.colors.text; game.canvasContext.font = game.fonts.regular; var infoSize = game.canvasContext.measureText(info); game.canvasContext.fillText(info, center - infoSize.width/2, height + 25); } /** * Buffer the screen **/ function buffer() { //black out the screen drawRectangle(0, 0, game.canvas.width, game.canvas.height, game.colors.background); //draw one if the screens if they're active if (game.screens.winner) { screenWinner(); return; } else if (game.screens.continue) { screenContinue(); return; } else if (game.screens.levelUp) { screenLevelUp(); return; } else if (game.screens.startGame) { screenStartGame(); return; } //playing the game move(); drawBoard(); } Test Your File Open your html file in a browser. Make sure that your javascript file is located in the same place. Voila! Now you can tweak and refine it to your hearts content.
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Terms of Use, and Privacy Policy.