Author Topic: StarCraft 68k: Reborn  (Read 9040 times)

0 Members and 1 Guest are viewing this topic.

Vladik

  • Guest
StarCraft 68k: Reborn
« on: September 23, 2006, 12:56:00 pm »
Digest:
This is a 68k C/ASM project recreating the game known as StarCraft. If you want to join the project, skip ahead to How Can I Join.

Brief:
Some of you may have heard of the StarCraft 68k project at http://calcgames.org/cgi-bin/files/files.cgi?ID=48. This project was meant to be the classic Real-Time Strategy game http://en.wikipedia.org/wiki/Starcraft ported to the 68k calculators. The following is some background information about this magnificent game.
The original StarCraft was released by Blizzard Entertainment in 1998. It was, indeed, the best-selling computer game of the year for 1998, and it is still played today. StarCraft is ranked among IGN's top 10 best games of all time, and Gamespot named StarCraft the greatest game of all time. It also won the prestigious Originis Award for 1998. It has spawned one sequel, named StarCraft: Brood War. StarCraft and StarCraft: Brood War have sold over nine million copies since their debuts, making them... very popular. 9 million copies over a period of 8.5 years is roughly equal to two copies being sold per minute, which is quite good.
StarCraft is a strong RTS, in that it provides three different races to its players: the Terran, the Protoss, and the Zerg. None of the races go as far as share one single unit, making them extraordinarily unique.
In a nutshell, these races break down as follows:

Terran: The Terrans are a race of futuristic humans, per se. One may expect that we humans would be like the Terrans after a few decades, centuries, or millenia. They colonize the StarCraft universe. They posess strong, yet sturdy technologies, making them balanced. Their units are efficient, but somewhat inexpensive. Here are some of their notable abilities:
Repair - SCVs (worker units, peons) can repair Terran buildings and robotic units for a fraction of the cost of constructing a new building or training a new unit.
Heal - In the Brood War expansion, a unit called the Medic can (automatically) use energy to heal surrounding units.
Cloaking - Some units can cloak on demand, uing up energy but making them hard to detect by enemies.
Nuclear strike - If a Nuclear Missile is built, a Ghost can deploy it to a location, doing great amounts of damage to buildings in the area, and killing most units. When an SCV works on a bulding or repairs a bulding, it can do nothing but work. Also, the main buldings of the Terran can lift off, rendering them unable to be damaged by ground attacks. Unfortunately, they cannot produce units this way. Buldings are upgraded via addons. A single bulding can have up to two types of addons for it, but only one addon may be attached at a time.

Protoss and Zerg: The Protoss and the Zerg were both created by the Xel'Naga. They are at war with each other.

Protoss: There are a race of technologically advanced aliens. The units and buldings of the Protoss are more expensive that those of the terran, but more powerful. They rely of psionic abilities and cybernetics in battle.
The Protoss have a unique thing calle dthe Plasma Shield, which are secondary hit points that regenerate in battle. Attacks against the Protoss must first deplete the plasma shields before attacking the main hit points. Plasma Shields regenerate at a slow-moderate pace, and can be healed in 0.5-1 seconds by a building called the Shield Battery, which uses its own energy to heal Plasma Shields.
Another characteristic of the Protoss is that they require Pylons to build. Pylons provide buildings with energy, called Psi. This powers the buldings. When the Pylons are destroyed, the building is useless.
The Protoss build their buldings by "warping them in" from the Protoss homeworld, Aiur. This means that Probes (Protoss peons) need not dote on the construction of a building.

Zerg: The Zerg resemble insects, and are controlled by the Overmind (not present in most gameplay scenarios). As opposed to the other races, the Zerg's units are produced from the Town Center (called the Hatchery, Lair, or Hive). These units are "mutated" or "spawned" from Larva. Three larvae can be at one Town Hall. Larva regenerate every 15 seconds on normal gameplay speed.
The Zerg possess the unique ability of morphing. Buildings are upgraded by morphing. Therefore, a Town Hall can morph from a Hatchery to a Lair, and to a Hive. This allows for more upgrades...
The power of the Zerg comes from swarming. Because three units can be produced at a time from a hatchery, the Zerg player can build multiple hatcheries (at cost), and be morphing many units at a time. For example, with 5 hatcheries spread across the map (not uncommon), a player can morph 15 units at a time. 15 seconds later, when a new Larva appears, they would morph 5 more units in total. That would be a base of 15 units, plus 20 units per minute. As a result, Zerg units work best as part of a large whole.
The Zerg buld buldings by sacrificing a Drone (peon). The Drone morphs from the Larva, and the Drone will then "mutate" into a building. All Zerg buildings secrete "Creep" around themselves. In addition, all Zerg buildings except for the Vespene Gas-gathering Extractors and town halls must be built on Creep. No other race can build on Creep, but an opponent that is also Zerg can build on Creep.

Other Elements of StarCraft Gameplay:

In StarCraft, there are two types of resources: Minerals, mined directly from mineral fields, and Vespene Gas, mined by building a race-specific processing bulding and tasking peons to it (one peon at a time). Minerals are used for all buldings and units (if I am not mistaken), and are availible in relative abundance. On the other hand, Vespene is used for only the more advanced units. As a rule, the more Vespene is required, the more specialized/advanced the unit is.
Also, there exists an element of keeping a population. All races can create more units by bulding town halls (Command Centers for Terrans, Nexuses for the Protoss, and Hatcheries, etc. for the Zerg). This is more expensive than building other types of buildings. Terrans can build more units by building Supply Depots, Protoss by bulding the aforementioned Pylons, and Zerg by spawning Overlords.
This is basically StarCraft in a nutshell, so let us go to the description of the project.

The Project: The aim of the project is to create as close a rendition of the original game as possible. That will be very difficult. Because of this, I cannot work on this project alone; it requires more people.
Our final goal will be to have all of the units from Brood War for the races of the Terran and the Protoss. We also hope to have a multiplayer mode and a versus-AI mode. Afterwards, if this is successful, we shall write the campaign and then an on-computer editor. Then will come the on-calc editor.
This project will use C and Assembly. It will run on every 68k calculator. It will take advantage of the Voyage 200's and TI-92+'s screen size.

Steps to Completion:

Baby Steps (First Steps):

* Create coding standards, which will be maintained in a private forum.  
* Write the graphics engine, and import 25%+ of the availible sprites.
* Create a playable demo of map rendering (no units, no animations) that is scrollable, and features the minimap.
* Create a playable demo of the pathfinding, plus the graphics.
* Create a playable demo of the Terran base, featuring basic fog-of war, mining minerals, and creating SCVs from the Command Center
* Create a framework to test the AI code.

After this is done, we will do the following:

* Convert the Protoss graphics into sprites, import them, and release a playable demo of the Protoss base.
* Create data files with unit statistics, the technology tree, et cetera. Incorporate this into the game.

How This Project Will Run:

* Hopefully, in the days following this post, we will get a team of 10 or so people (or more), which will easily be the biggest team to ever work on a project for TI calculators.
* I will provide a forum to discuss issues, and set weekly goals.
* I will assign goals, along with other people. Therefore, this project will be self-moderated.
* The project will be controlled via CVS version tracking technology and code auditing.
* There will be a bug tracker, etc. that will be implemented for ease of bug correction.

What We Are Looking For:

We are looking for smart, hard-working people. Specifically, we are looking for the following:

* People who have moderate experience with programming graphics routines in C and prefferably assembly, using TIGCC as an envoironment.
* People who are skilled in programming C and assembly.
* People who are adept at leading programming teams.
* People who are skilled at optimizing TIGCC code and assembly.
* People who wish to create/help create the game engine, and extraordinary feat.
* People who are willing to create and convert graphics for this game. In other words, good artists.
*Later on, we will need people who are creative, familiar with StarCraft, and are willing to create a good storyline.

Most of all, we need people who are willing to make calculator history!

What We Have So Far:

So far, we have the Terran graphics converted (I believe). Because I did not receive a compilation of the graphics, I cannot verify this.

This is obviously very little.

Who Can Apply to Join:

Anyone can join, as long as they meet one or more of the above criteria. I said "apply" simply because you will have to be fairly experienced at what you do. Everyone who is accepted (in other words, most people) will be in the credits and hopefully the main screen. The main people responsible for the project, as determined by our team, will be included as the "File Authors" when this program is submitted to CalcGames, TiCalc, etc.
Remember, if you think that you are qualified to join, and if you want to make calculator history, join now!

How Can I Join:

Simply email me (Vladik) at:
Vworldv [AT] Yahoo [DOT] Com

Put the following (or similar) in the subject of your email:
Starcraft 68k: Reborn

Also, when applying to the team, be sure to include your name ("Vladik"), your most common "User Name" ("Coolv"), the forums that you actively participate in ("TICALCS.NET, using the username Vladik"), what you are willing to do ("Project Coordinator, Game Engine, and AI"), and whether or not you have played StarCraft ("I've played StarCraft before.").
You can also include why you believe that you should be on the team, and some examples of your skill in that area. For example, if you are an artist, you can provide a link to some of your work. If you are good at ripping graphics, you can show me some graphics rips that you did. If you want to work on the story, send me a short story that you wrote.
Also, please be sure to have some free time each week (or day) to work on this project.

Some Last Words:

Thank you for reading this massive post! This was posted on many different forums and programming groups, including http://forum.ticalcs.net, http://omnimaga.dyndns.org/, http://www.revsoft.org/phpBB2/, http://www.cemetech.net/forum/index.php, http://www.calcgames.org/, http://www.detachedsolutions.com/forum/?t=index, and http://kvince83.tengun.net/maxboard/.
Please feel free to discuss this; I will check back to these threads periodically.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
StarCraft 68k: Reborn
« Reply #1 on: September 23, 2006, 02:33:00 pm »
you are reviving THE calcgames starcraft??? o.oblink.gif wow I hope you can do it I promise you I sell you my TI-83+ and get a TI-89t if you get the project to completion... err j/k anyway I wish I could help but i dunno C and asm maybe some ppl here could join for doing some stuff, are most of the sprites/tiles finished?

anyway good luck in this project I cant wait to try it I play starcraft almost everyday on battlenet :Dbiggrin.gif

Offline bfr

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 819
  • Rating: +4/-0
    • View Profile
    • bfr's website
StarCraft 68k: Reborn
« Reply #2 on: September 23, 2006, 02:55:00 pm »
xlibman!!!!  :Dbiggrin.gif

O_Oshocked2.gif This looks like it's going to require a lot of hard work and dedication.  I'm kind of busy, with literally like ten projects, school, sports, and music, but in my spare time, besides working on my other projects, I'll try to contribute.  If this gets finished though, it will definitely by POTY material.  

I don't think there are many 68K C programmers here though.  The few ones that are here are pretty good though, such as Ranman (who is certainly a better C programmer than me), with his awesome project, Ultima V., and, well, I'm pretty sure there are some others out there.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
StarCraft 68k: Reborn
« Reply #3 on: September 23, 2006, 04:00:00 pm »
yea I havent been online a lot lately, if you heard what happened on cemetech :(sad.gif I didnt felt like coming at all and I still may need some moment to think. I went online this evening because I am in kinda ok mood atm, which I doubt that will last very long tho and trying to catch up with 3 days of posts >.<

I wonder if digital from calcgames (its the guy who was working on it right?) is gonna give you the build soon? i cant wait to see this start again

Liazon

  • Guest
StarCraft 68k: Reborn
« Reply #4 on: September 23, 2006, 04:15:00 pm »
digital made sprites.  he did no coding afaik.

Vladik

  • Guest
StarCraft 68k: Reborn
« Reply #5 on: September 23, 2006, 04:19:00 pm »
Indeed, Digital did no coding, athough he converted many sprites (all Terran). Unfortunately, he decided to quit...


This will be a very hard project, which is why I want to get a team going and release the first technical demos as fast as possible...

Offline Ranman

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1354
  • Rating: +83/-0
    • View Profile
StarCraft 68k: Reborn
« Reply #6 on: September 23, 2006, 04:20:00 pm »
Hmmm....

This sounds very interesting and very challenging. I have never played Starcraft, but I have heard that is an awesome game.
Ranman
Bringing Randy Glover's Jumpman to the TI-89 calculator. Download available at Ticalc.

Alex

  • Guest
StarCraft 68k: Reborn
« Reply #7 on: September 23, 2006, 04:35:00 pm »
Sounds good, but unless you get dedicated people to work along side you it will never see the light of day. I suggest you only focus on the Terran race, and finish the game based on that - then, if people will still be willing to work on it, add the other races.

I'd happily volunteer, as I'm a big SC fan, but time will not allow me and I prefer to spend the little I have on my own projects. I wish you the best of luck, and I hope to see this reach the top charts someday!

- Alex

Offline Ranman

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1354
  • Rating: +83/-0
    • View Profile
StarCraft 68k: Reborn
« Reply #8 on: September 23, 2006, 04:49:00 pm »
Yeah... me too. I would love to help, but I definitely need to finish Ultima V before I commit myself to anything else. Still hoping for later this year. ;)wink.gif

Have you thought about the tilemap and what size the tile sprites will be; 16x16 or maybe 12x12? Games like this need a large viewable tilemap. :)smile.gif
Ranman
Bringing Randy Glover's Jumpman to the TI-89 calculator. Download available at Ticalc.

Alex

  • Guest
StarCraft 68k: Reborn
« Reply #9 on: September 24, 2006, 02:25:00 am »
Not to mention the original StarCraft has an isometric tile map :)smile.gif

- Alex

Vladik

  • Guest
StarCraft 68k: Reborn
« Reply #10 on: September 24, 2006, 04:04:00 am »
I haven

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
StarCraft 68k: Reborn
« Reply #11 on: September 24, 2006, 04:10:00 am »
i wonder if this could cause problems making a tilemapper? I never seen a asm isometric tilemapper before, kermmartian has a BASIC one for TI-83+ but its very very very very slow especially when the map is zoomed out so we view all of it at once

EDIT: I missed vladik last post, that would be cool as well


I wonder if nspire cas will be avaliable in quebec? I may look at it, here we only have 83+/84+/84+SE/89t, thats all

Liazon

  • Guest
StarCraft 68k: Reborn
« Reply #12 on: September 24, 2006, 05:23:00 am »
someone will have to write the isometric tilemapper in ASM.  I'm guessing C would be too slow.  correct me if i'm wrong.

already expressed my time limitations, sorry best wishes though

Offline Ranman

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1354
  • Rating: +83/-0
    • View Profile
StarCraft 68k: Reborn
« Reply #13 on: September 24, 2006, 07:23:00 am »
QuoteBegin-Vladik+24 Sep, 2006, 10:04-->
QUOTE (Vladik @ 24 Sep, 2006, 10:04)
Yes, StarCraft is isometric, so we have sprites rotated at all possible angles.  

 Isometric... Cool!

Why do you need to have all of the sprites rotated at all angles? I would think that you would only need to have a single isometric view of each tile -- unless, of course, the map is viewed from different angles too.  
Ranman
Bringing Randy Glover's Jumpman to the TI-89 calculator. Download available at Ticalc.

Liazon

  • Guest
StarCraft 68k: Reborn
« Reply #14 on: September 24, 2006, 08:15:00 am »
i think he means all the possible directions here's a link to the sprites:

http://homepage.mac.com/gs_mjrob/CG-GFX/index.htm