Well well... My first game originally written for GlassOS. (glassKill was just copied from the ti89).

<current status: pre-alpha>

So, first, what is it?


What does it look on-calc?

What will it do?

  • Single-player mode that will let you practice and make a huge civilization - Boredom mode
  • Multiplayer mode will let you play with others on the internet using Linky/enet with the same rules as the original game.

What is done?

  • All artwork
  • World tilemap creation
  • Tilemapping engine and other rendering functions
  • cursor movement

Want to see Achievement Hunters play it?

Wow, looks nice! This screenie is a lot better than the demo on my copy of GlassOS Razz
This looks quite awesome, thanks for sharing! I hope you're planning a Doors CS port and an enet/gCn bridge at some point so that globalCALCnet / DCS7 users can play against GlaDoS users in Islands!
:-\ Not me... But I may port it to the PC side so you don't need a calc to play (Qt)
Don't complain about the gif size (19mb). I was playing it for a while and QtWabbitEmu's gif output is not compressed well, but...


Need I say more?

The clouds move with a local offset speed and a global wind offset. There will be 3 clouds total in the future and 1 hurricane. Next thing to make: PIRATES
Holy crap, looks awesome! Shock
Very nice! Keep it as simple as possible with the main loop's logic, because it is written in C and has the potential of getting quite slow. Also, do you plan on leaving the farms the way they are (squares) or masking them in with the surrounding terrain?
SirC, masking as-in transparency? No, I am simply following how the original Intellivision game worked. Also, I should note on a technical side why that wouldn't work...

I have a const char tm_world[] defined that just .db's the tilemap data. I malloc and memmove that const data into the RAM. Now, it is easy. If you build something, you just change the tile to a different sprite. If I destroy something, I just load the value from the const tm_world.

Masking would require rendering in a non-standard way... I am doing it the simple way. Also, the game runs quite fast. The simulators aren't real-time, but the gif is. The FPS is for drawing the tilemap, drawing the cursor, calculating the cloud locations, masking/drawing the bottom box and drawing the text - for each frame. Every second, the main game code makes one tick (but it will be 2Hz in the future) for randomizing the wind, cloud movement, offsetting clouds, farm watering, and, later on, pirates, fish, hurricane, and USB management.

I doubt that greyscale will be very forgiving with large code such as this.
Oh, I understand better now. Thanks for clarifying.
Also, when I make multiplayer, if someone wants to make a PC-side client, then w00t. GlassOS will not be a requirement to play the game, and PC vs. calc gaming can work.

<details later>

Also, does anyone want me to allow custom mapping to be done? As-in you can write your own tile map and land sprites and the game will give a list of different worlds to use. (It will be in a folder, of course, and the max size will only be the RAM size)
Regarding the large GIF file size, try running the original file through a GIF optimizer such as gifsicle. http://www.lcdf.org/gifsicle/

I ran your large animated screenshot (islands3.gif) through gifsicle and got a 441K file on output!

c@douglas:~$ gifsicle -O2 islands3.gif >islands3o.gif
c@douglas:~$ ls -lh islands3*
-rw-rw-r-- 1 c c  20M May  8 23:22 islands3.gif
-rw-rw-r-- 1 c c 441K May  9 16:32 islands3o.gif
Work on fishing boats has started... Expect me to set sail soon...

<edit> I will not put in the original Utopia glitches that will let you become a hurricane and destroy everything, or be a pirate and sink boats... that would be silly....... and fun
I got my boat working, and as a bonus, animated rain!

<edit> Sry, using WabbitEmu gives a small gif, but a slow one

I am still expanding my gfx library, so the animated sprites seemed logical. They simply have an array of sprites in the struct. Calling gfx_animatedsprite_tick will advance the keyframe (or reset to 0 when done) and gfx_animatedsprite_draw will draw the current keyframe. I update the tick @ 4Hz. The boat has collision detection with the tilemap, so nothing big there. The building function has a bug (seen at the end of the video, I get a "NO ROOM" when building on land) but will be fixed in ~20 seconds.

I will get multiplayer done last, once everything works perfectly. Expect more animations to be done!
I will try to get fish working... I also need to find out what to make my "tropical storm" animation be... In the real game, rain clouds are gray and tropical storms are black. Well, there's no grayscale, so I will need to make a drawing of something...

Any ideas? Right now, they are 2 8x8 sprites with the left side having 9 frames and the right having 10 frames (just so it has some variation if you didn't notice)
I have tropical storms and hurricanes that are able to destroy land. the current version didn't want to spawn storms, but they are there (they have slanted rain).

I am freeing up space in the program so I can put in the rest of the code. Yeah, I did it the lazy way many times...
Oooh, very nice! The framerate seems to have improved somewhat; did you do something to fix it, or is it just a figment of my imagination? Smile
The framerate is just from using wabbitemuqt, which makes faster gifs (with faster key input), but it is a tad too fast. The bottom counter is working in seconds, but you can see that it is too fast... (the emulator runs at the right speed).

I am getting close to being done with the core of the engine! I can start adding multiplayer later on
That's great! I think you should write your multiplayer with.... CALCnet! Very Happy Hehe, as if.
Razz When I make a 3D version of the game (possible), you probably don't want windows, linux, mac, etc. on calcnet XD
I will most likely use Ogre3D for the rendering... I will probably make it overkill-style for an intellivision game, but I don't care if my islands have realistic water/wave effects with boats sailing on then...

(Volumetric cloud shading, hmm)
(Even better, in the form of a hurricane)
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 2
» All times are UTC - 5 Hours
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum